diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index 522e77c0b7b..bddacd1f2fc 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -32,8 +32,8 @@ What shortcomings exist with current approaches? ## Checklist My suggestion meets these guidelines: - [ ] This wouldn't be a breaking change in existing TypeScript / JavaScript code - [ ] This wouldn't change the runtime behavior of existing JavaScript code - [ ] This could be implemented without emitting different JS based on the types of the expressions - [ ] This isn't a runtime feature (e.g. new expression-level syntax) +* [ ] This wouldn't be a breaking change in existing TypeScript / JavaScript code +* [ ] This wouldn't change the runtime behavior of existing JavaScript code +* [ ] This could be implemented without emitting different JS based on the types of the expressions +* [ ] This isn't a runtime feature (e.g. new expression-level syntax) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9c74ff2d6e8..daec1666314 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,15 +2,16 @@ Thank you for submitting a pull request! Here's a checklist you might find useful. -[ ] There is an associated issue that is labeled +* [ ] There is an associated issue that is labeled 'Bug' or 'help wanted' or is in the Community milestone -[ ] Code is up-to-date with the `master` branch -[ ] You've successfully run `jake runtests` locally -[ ] You've signed the CLA -[ ] There are new or updated unit tests validating the change +* [ ] Code is up-to-date with the `master` branch +* [ ] You've successfully run `jake runtests` locally +* [ ] You've signed the CLA +* [ ] There are new or updated unit tests validating the change Refer to CONTRIBUTING.MD for more details. https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md --> Fixes # + diff --git a/.gitignore b/.gitignore index 2b38063a0b7..1b218945a18 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules/ +.node_modules/ built/* tests/cases/rwc/* tests/cases/test262/* diff --git a/.mailmap b/.mailmap index 8ca4efe110e..2be2abbdfd2 100644 --- a/.mailmap +++ b/.mailmap @@ -308,7 +308,7 @@ Remo H. Jansen Sean Barag Sharon Rolel Stanislav Iliev -Wenlu Wang <805037171@163.com> wenlu.wang <805037171@163.com> kingwl <805037171@163.com> +Wenlu Wang <805037171@163.com> wenlu.wang <805037171@163.com> kingwl <805037171@163.com> 王文璐 王文璐 Wilson Hobbs Yuval Greenfield Daniel # @nieltg @@ -321,4 +321,23 @@ AdityaDaflapurkar # Aditya Daflapurkar Eric Grube Martyn Janes Ricardo N Feliciano -Sergii Bezliudnyi \ No newline at end of file +Sergii Bezliudnyi +Adrien Gibrat +Alex Ryan +Alexader Alexander T # Alexander Tarasyuk +Andrew Faulkner +Artem Tyurin +Brandon Slade +Derek P Sifford +Dhruv Rajvanshi +Holger Jeromin +Jordi Oliveras Rovira +Joscha Feth Joscha Feth +Ken703 # Bowden Kenny +Kevin Donnelly +Maarten Sijm +Paul Koerbitz +EcoleKeine # Ecole Keine +Khải +rhysd # @rhysd +Zen <843968788@qq.com> Zzzen <843968788@qq.com> # @Zzzen \ No newline at end of file diff --git a/AUTHORS.md b/AUTHORS.md index 679261876c8..8ffe4b73c29 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -6,14 +6,17 @@ TypeScript is authored by: * Aditya Daflapurkar * Adnan Chowdhury * Adrian Leonhard +* Adrien Gibrat * Ahmad Farid * Akshar Patel * Alan Agius * Alex Chugaev * Alex Eagle * Alex Khomchenko +* Alex Ryan * Alexander Kuvaev * Alexander Rusakov +* Alexander Tarasyuk * Ali Sabzevari * Aliaksandr Radzivanovich * Aluan Haddad @@ -22,6 +25,7 @@ TypeScript is authored by: * Andreas Martin * Andrej Baran * Andrew Casey +* Andrew Faulkner * Andrew Ochsner * Andrew Stegmaier * Andrew Z Allen @@ -34,6 +38,7 @@ TypeScript is authored by: * Armando Aguirre * Arnaud Tournier * Arnav Singh +* Artem Tyurin * Arthur Ozga * Asad Saeeduddin * Avery Morin @@ -49,6 +54,8 @@ TypeScript is authored by: * Blake Embrey * @bootstraponline * Bowden Kelly +* Bowden Kenny +* Brandon Slade * Brett Mayen * Bryan Forbes * Caitlin Potter @@ -76,6 +83,8 @@ TypeScript is authored by: * David Sheldrick * David Souther * Denis Nedelyaev +* Derek P Sifford +* Dhruv Rajvanshi * Dick van den Brink * Diogo Franco (Kovensky) * Dirk Bäumer @@ -84,6 +93,7 @@ TypeScript is authored by: * Donald Pipowitch * Doug Ilijev * @e-cloud +* Ecole Keine * Elisée Maurer * Emilio García-Pumarino * Eric Grube @@ -118,6 +128,7 @@ TypeScript is authored by: * Hendrik Liebau * Henry Mercer * Herrington Darkholme +* Holger Jeromin * Homa Wong * Iain Monro * @IdeaHunter @@ -155,6 +166,8 @@ TypeScript is authored by: * Jonathan Toland * Jonathan Turner * Jonathon Smith +* Jordi Oliveras Rovira +* Joscha Feth * Josh Abernathy * Josh Goldberg * Josh Kalderimis @@ -170,7 +183,9 @@ TypeScript is authored by: * Keith Mashinter * Ken Howard * Kenji Imamula +* Kevin Donnelly * Kevin Lang +* Khải * Kitson Kelly * Klaus Meinhardt * Kris Zyp @@ -179,6 +194,7 @@ TypeScript is authored by: * Lorant Pinter * Lucien Greathouse * Lukas Elmer +* Maarten Sijm * Magnus Hiie * Magnus Kulke * Manish Giri @@ -223,6 +239,7 @@ TypeScript is authored by: * Oussama Ben Brahim * Patrick Zhong * Paul Jolly +* Paul Koerbitz * Paul van Brenk * @pcbro * Pedro Maltez @@ -240,6 +257,7 @@ TypeScript is authored by: * Raj Dosanjh * Reiner Dolp * Remo H. Jansen +* @rhysd * Ricardo N Feliciano * Richard Karmazín * Richard Knoll @@ -309,4 +327,5 @@ TypeScript is authored by: * Yuval Greenfield * Zeeshan Ahmed * Zev Spitz -* Zhengbo Li \ No newline at end of file +* Zhengbo Li +* @Zzzen \ No newline at end of file diff --git a/scripts/open-user-pr.ts b/scripts/open-user-pr.ts index 9d484f00ed1..9e14bd5f37d 100644 --- a/scripts/open-user-pr.ts +++ b/scripts/open-user-pr.ts @@ -19,7 +19,7 @@ const userName = process.env.GH_USERNAME; const reviewers = ["weswigham", "sandersn", "mhegazy"] const now = new Date(); const branchName = `user-update-${now.getFullYear()}${padNum(now.getMonth())}${padNum(now.getDay())}`; -const remoteUrl = `https://github.com/${userName}/TypeScript.git`; +const remoteUrl = `https://${process.argv[2]}@github.com/${userName}/TypeScript.git`; runSequence([ ["git", ["checkout", "."]], // reset any changes ["node", ["./node_modules/jake/bin/cli.js", "baseline-accept"]], // accept baselines @@ -27,7 +27,7 @@ runSequence([ ["git", ["add", "."]], // Add all changes ["git", ["commit", "-m", `"Update user baselines"`]], // Commit all changes ["git", ["remote", "add", "fork", remoteUrl]], // Add the remote fork - ["git", ["-c", `http.extraheader="AUTHORIZATION: basic ${process.argv[2]}"`, "push", "--set-upstream", "fork", branchName]] // push the branch + ["git", ["push", "--set-upstream", "fork", branchName, "-f"]] // push the branch ]); const gh = new Octokit(); @@ -44,6 +44,7 @@ gh.pullRequests.create({ base: "master", body: `Please review the diff and merge if no changes are unexpected. +You can view the build log [here](https://typescript.visualstudio.com/TypeScript/_build/index?buildId=${process.env.BUILD_BUILDID}&_a=summary). cc ${reviewers.map(r => "@" + r).join(" ")}`, }).then(r => { diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index caa75a45eb9..086f581e153 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -401,6 +401,7 @@ namespace ts { const unknownSignature = createSignature(undefined, undefined, undefined, emptyArray, unknownType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); const resolvingSignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); const silentNeverSignature = createSignature(undefined, undefined, undefined, emptyArray, silentNeverType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); + const resolvingSignaturesArray = [resolvingSignature]; const enumNumberIndexInfo = createIndexInfo(stringType, /*isReadonly*/ true); const jsObjectLiteralIndexInfo = createIndexInfo(anyType, /*isReadonly*/ false); @@ -892,6 +893,7 @@ namespace ts { function mergeSymbol(target: Symbol, source: Symbol) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & SymbolFlags.JSContainer) { + const targetValueDeclaration = target.valueDeclaration; Debug.assert(!!(target.flags & SymbolFlags.Transient)); // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & SymbolFlags.ValueModule && target.flags & SymbolFlags.ValueModule && target.constEnumOnlyModule && !source.constEnumOnlyModule) { @@ -916,12 +918,13 @@ namespace ts { } if ((source.flags | target.flags) & SymbolFlags.JSContainer) { const sourceInitializer = getJSInitializerSymbol(source); - let targetInitializer = getJSInitializerSymbol(target); + const init = getDeclaredJavascriptInitializer(targetValueDeclaration) || getAssignedJavascriptInitializer(targetValueDeclaration); + let targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & SymbolFlags.Transient)) { + const mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & SymbolFlags.Transient)) { - const mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } } @@ -4022,6 +4025,10 @@ namespace ts { function determineIfDeclarationIsVisible() { switch (node.kind) { + case SyntaxKind.JSDocTypedefTag: + // Top-level jsdoc typedefs are considered exported + // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file + return !!(node.parent && node.parent.parent && node.parent.parent.parent && isSourceFile(node.parent.parent.parent)); case SyntaxKind.BindingElement: return isDeclarationVisible(node.parent.parent); case SyntaxKind.VariableDeclaration: @@ -5161,8 +5168,8 @@ namespace ts { let result: TypeParameter[]; for (const node of symbol.declarations) { if (node.kind === SyntaxKind.InterfaceDeclaration || node.kind === SyntaxKind.ClassDeclaration || - node.kind === SyntaxKind.ClassExpression || node.kind === SyntaxKind.TypeAliasDeclaration) { - const declaration = node; + node.kind === SyntaxKind.ClassExpression || node.kind === SyntaxKind.TypeAliasDeclaration || node.kind === SyntaxKind.JSDocTypedefTag) { + const declaration = node; const typeParameters = getEffectiveTypeParameterDeclarations(declaration); if (typeParameters) { result = appendTypeParameters(result, typeParameters); @@ -8692,6 +8699,10 @@ namespace ts { // Transform an indexed access to a simpler form, if possible. Return the simpler form, or return // the type itself if no transformation is possible. function getSimplifiedIndexedAccessType(type: IndexedAccessType): Type { + if (type.simplified) { + return type.simplified === circularConstraintType ? type : type.simplified; + } + type.simplified = circularConstraintType; const objectType = type.objectType; if (objectType.flags & TypeFlags.Intersection && isGenericObjectType(objectType)) { // Given an indexed access type T[K], if T is an intersection containing one or more generic types and one or @@ -8709,7 +8720,7 @@ namespace ts { regularTypes.push(t); } } - return getUnionType([ + return type.simplified = getUnionType([ getSimplifiedType(getIndexedAccessType(getIntersectionType(regularTypes), type.indexType)), getIntersectionType(stringIndexTypes) ]); @@ -8720,7 +8731,7 @@ namespace ts { // eventually anyway, but it easier to reason about. if (some((objectType).types, isMappedTypeToNever)) { const nonNeverTypes = filter((objectType).types, t => !isMappedTypeToNever(t)); - return getSimplifiedType(getIndexedAccessType(getIntersectionType(nonNeverTypes), type.indexType)); + return type.simplified = getSimplifiedType(getIndexedAccessType(getIntersectionType(nonNeverTypes), type.indexType)); } } // If the object type is a mapped type { [P in K]: E }, where K is generic, instantiate E using a mapper @@ -8728,15 +8739,15 @@ namespace ts { // construct the type Box. We do not further simplify the result because mapped types can be recursive // and we might never terminate. if (isGenericMappedType(objectType)) { - return substituteIndexedMappedType(objectType, type); + return type.simplified = substituteIndexedMappedType(objectType, type); } if (objectType.flags & TypeFlags.TypeParameter) { const constraint = getConstraintFromTypeParameter(objectType as TypeParameter); if (constraint && isGenericMappedType(constraint)) { - return substituteIndexedMappedType(constraint, type); + return type.simplified = substituteIndexedMappedType(constraint, type); } } - return type; + return type.simplified = type; } function substituteIndexedMappedType(objectType: MappedType, type: IndexedAccessType) { @@ -9040,7 +9051,7 @@ namespace ts { } function getAliasSymbolForTypeNode(node: TypeNode) { - return node.parent.kind === SyntaxKind.TypeAliasDeclaration ? getSymbolOfNode(node.parent) : undefined; + return (node.parent.kind === SyntaxKind.TypeAliasDeclaration || node.parent.kind === SyntaxKind.JSDocTypedefTag) ? getSymbolOfNode(node.parent) : undefined; } function getAliasTypeArgumentsForTypeNode(node: TypeNode) { @@ -15349,8 +15360,17 @@ namespace ts { } } - if (context.typeArguments) { - signatures = mapDefined(signatures, s => getJsxSignatureTypeArgumentInstantiation(s, context, isJs)); + const links = getNodeLinks(context); + if (!links.resolvedSignatures) { + links.resolvedSignatures = createMap(); + } + const cacheKey = "" + getTypeId(valueType); + if (links.resolvedSignatures.get(cacheKey) && links.resolvedSignatures.get(cacheKey) !== resolvingSignaturesArray) { + signatures = links.resolvedSignatures.get(cacheKey); + } + else if (!links.resolvedSignatures.get(cacheKey)) { + links.resolvedSignatures.set(cacheKey, resolvingSignaturesArray); + links.resolvedSignatures.set(cacheKey, signatures = instantiateJsxSignatures(context, signatures)); } return getUnionType(map(signatures, ctor ? t => getJsxPropsTypeFromClassType(t, isJs, context, /*reportErrors*/ false) : t => getJsxPropsTypeFromCallSignature(t, context)), UnionReduction.None); @@ -16331,6 +16351,40 @@ namespace ts { return undefined; } + function getInstantiatedJsxSignatures(openingLikeElement: JsxOpeningLikeElement, elementType: Type, reportErrors?: boolean) { + const links = getNodeLinks(openingLikeElement); + if (!links.resolvedSignatures) { + links.resolvedSignatures = createMap(); + } + const cacheKey = "" + getTypeId(elementType); + if (links.resolvedSignatures.get(cacheKey) && links.resolvedSignatures.get(cacheKey) === resolvingSignaturesArray) { + return; + } + else if (links.resolvedSignatures.get(cacheKey)) { + return links.resolvedSignatures.get(cacheKey); + } + + links.resolvedSignatures.set(cacheKey, resolvingSignaturesArray); + // Resolve the signatures, preferring constructor + let signatures = getSignaturesOfType(elementType, SignatureKind.Construct); + if (signatures.length === 0) { + // No construct signatures, try call signatures + signatures = getSignaturesOfType(elementType, SignatureKind.Call); + if (signatures.length === 0) { + // We found no signatures at all, which is an error + if (reportErrors) { + error(openingLikeElement.tagName, Diagnostics.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, getTextOfNode(openingLikeElement.tagName)); + } + return; + } + } + + // Instantiate in context of source type + const results = instantiateJsxSignatures(openingLikeElement, signatures); + links.resolvedSignatures.set(cacheKey, results); + return results; + } + /** * Resolve attributes type of the given opening-like element. The attributes type is a type of attributes associated with the given elementType. * For instance: @@ -16393,20 +16447,10 @@ namespace ts { // Get the element instance type (the result of newing or invoking this tag) - // Resolve the signatures, preferring constructor - let signatures = getSignaturesOfType(elementType, SignatureKind.Construct); - if (signatures.length === 0) { - // No construct signatures, try call signatures - signatures = getSignaturesOfType(elementType, SignatureKind.Call); - if (signatures.length === 0) { - // We found no signatures at all, which is an error - error(openingLikeElement.tagName, Diagnostics.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, getTextOfNode(openingLikeElement.tagName)); - return unknownType; - } + const instantiatedSignatures = getInstantiatedJsxSignatures(openingLikeElement, elementType, /*reportErrors*/ true); + if (!length(instantiatedSignatures)) { + return unknownType; } - - // Instantiate in context of source type - const instantiatedSignatures = instantiateJsxSignatures(openingLikeElement, signatures); const elemInstanceType = getUnionType(map(instantiatedSignatures, getReturnTypeOfSignature), UnionReduction.Subtype); // If we should include all stateless attributes type, then get all attributes type from all stateless function signature. @@ -18096,11 +18140,11 @@ namespace ts { let typeArguments: NodeArray; - if (!isDecorator && !isJsxOpeningOrSelfClosingElement) { + if (!isDecorator) { typeArguments = (node).typeArguments; // We already perform checking on the type arguments on the class declaration itself. - if (isTaggedTemplate || (node).expression.kind !== SyntaxKind.SuperKeyword) { + if (isTaggedTemplate || isJsxOpeningOrSelfClosingElement || (node).expression.kind !== SyntaxKind.SuperKeyword) { forEach(typeArguments, checkSourceElement); } } @@ -18689,30 +18733,6 @@ namespace ts { */ function getResolvedJsxStatelessFunctionSignature(openingLikeElement: JsxOpeningLikeElement, elementType: Type, candidatesOutArray: Signature[]): Signature | undefined { Debug.assert(!(elementType.flags & TypeFlags.Union)); - return resolveStatelessJsxOpeningLikeElement(openingLikeElement, elementType, candidatesOutArray); - } - - /** - * Try treating a given opening-like element as stateless function component and resolve a tagName to a function signature. - * @param openingLikeElement an JSX opening-like element we want to try resolve its stateless function if possible - * @param elementType a type of the opening-like JSX element, a result of resolving tagName in opening-like element. - * @param candidatesOutArray an array of signature to be filled in by the function. It is passed by signature help in the language service; - * the function will fill it up with appropriate candidate signatures - * @return a resolved signature if we can find function matching function signature through resolve call or a first signature in the list of functions. - * otherwise return undefined if tag-name of the opening-like element doesn't have call signatures - */ - function resolveStatelessJsxOpeningLikeElement(openingLikeElement: JsxOpeningLikeElement, elementType: Type, candidatesOutArray: Signature[]): Signature | undefined { - // If this function is called from language service, elementType can be a union type. This is not possible if the function is called from compiler (see: resolveCustomJsxElementAttributesType) - if (elementType.flags & TypeFlags.Union) { - const types = (elementType as UnionType).types; - let result: Signature; - for (const type of types) { - result = result || resolveStatelessJsxOpeningLikeElement(openingLikeElement, type, candidatesOutArray); - } - - return result; - } - const callSignatures = elementType && getSignaturesOfType(elementType, SignatureKind.Call); if (callSignatures && callSignatures.length > 0) { return resolveCall(openingLikeElement, callSignatures, candidatesOutArray); @@ -18734,7 +18754,18 @@ namespace ts { case SyntaxKind.JsxOpeningElement: case SyntaxKind.JsxSelfClosingElement: // This code-path is called by language service - return resolveStatelessJsxOpeningLikeElement(node, checkExpression(node.tagName), candidatesOutArray) || unknownSignature; + const exprTypes = checkExpression(node.tagName); + return forEachType(exprTypes, exprType => { + const sfcResult = getResolvedJsxStatelessFunctionSignature(node, exprType, candidatesOutArray); + if (sfcResult && sfcResult !== unknownSignature) { + return sfcResult; + } + const sigs = getInstantiatedJsxSignatures(node, exprType); + if (candidatesOutArray && length(sigs)) { + candidatesOutArray.push(...sigs); + } + return length(sigs) ? sigs[0] : unknownSignature; + }) || unknownSignature; } Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); } @@ -22613,11 +22644,11 @@ namespace ts { const kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? UnusedKind.Parameter : UnusedKind.Local; if (!bindingPattern.elements.every(e => contains(bindingElements, e))) { for (const e of bindingElements) { - addDiagnostic(kind, createDiagnosticForNode(e, Diagnostics._0_is_declared_but_its_value_is_never_read, getBindingElementNameText(e))); + addDiagnostic(kind, createDiagnosticForNode(e, Diagnostics._0_is_declared_but_its_value_is_never_read, idText(cast(e.name, isIdentifier)))); } } else if (bindingElements.length === 1) { - addDiagnostic(kind, createDiagnosticForNode(bindingPattern, Diagnostics._0_is_declared_but_its_value_is_never_read, getBindingElementNameText(first(bindingElements)))); + addDiagnostic(kind, createDiagnosticForNode(bindingPattern, Diagnostics._0_is_declared_but_its_value_is_never_read, idText(cast(first(bindingElements).name, isIdentifier)))); } else { addDiagnostic(kind, createDiagnosticForNode(bindingPattern, Diagnostics.All_destructured_elements_are_unused)); diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 766b87ae941..a286c9fae35 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -2900,6 +2900,15 @@ namespace ts { return setSyntheticTrailingComments(node, append(getSyntheticTrailingComments(node), { kind, pos: -1, end: -1, hasTrailingNewLine, text })); } + export function moveSyntheticComments(node: T, original: Node): T { + setSyntheticLeadingComments(node, getSyntheticLeadingComments(original)); + setSyntheticTrailingComments(node, getSyntheticTrailingComments(original)); + const emit = getOrCreateEmitNode(original); + emit.leadingComments = undefined; + emit.trailingComments = undefined; + return node; + } + /** * Gets the constant value to emit for an expression. */ diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 8bb65e57616..510fc096297 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -1012,8 +1012,10 @@ namespace ts { } else { const jsPath = tryReadPackageJsonFields(/*readTypes*/ false, packageJsonContent, nodeModuleDirectory, state); - if (typeof jsPath === "string") { - subModuleName = removeExtension(removeExtension(jsPath.substring(nodeModuleDirectory.length + 1), Extension.Js), Extension.Jsx) + Extension.Dts; + if (typeof jsPath === "string" && jsPath.length > nodeModuleDirectory.length) { + const potentialSubModule = jsPath.substring(nodeModuleDirectory.length + 1); + subModuleName = (forEach(supportedJavascriptExtensions, extension => + tryRemoveExtension(potentialSubModule, extension)) || potentialSubModule) + Extension.Dts; } else { subModuleName = "index.d.ts"; @@ -1047,9 +1049,18 @@ namespace ts { } function loadModuleFromPackageJson(jsonContent: PackageJsonPathFields, extensions: Extensions, candidate: string, failedLookupLocations: Push, state: ModuleResolutionState): PathAndExtension | undefined { - const file = tryReadPackageJsonFields(extensions !== Extensions.JavaScript && extensions !== Extensions.Json, jsonContent, candidate, state); + let file = tryReadPackageJsonFields(extensions !== Extensions.JavaScript && extensions !== Extensions.Json, jsonContent, candidate, state); if (!file) { - return undefined; + if (extensions === Extensions.TypeScript) { + // When resolving typescript modules, try resolving using main field as well + file = tryReadPackageJsonFields(/*readTypes*/ false, jsonContent, candidate, state); + if (!file) { + return undefined; + } + } + else { + return undefined; + } } const onlyRecordFailures = !directoryProbablyExists(getDirectoryPath(file), state.host); diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index ad3f80710db..bbd4edc8507 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2436,20 +2436,24 @@ namespace ts { return finishNode(node); } + /** + * @returns If return type parsing succeeds + */ function fillSignature( returnToken: SyntaxKind.ColonToken | SyntaxKind.EqualsGreaterThanToken, flags: SignatureFlags, - signature: SignatureDeclaration): void { + signature: SignatureDeclaration): boolean { if (!(flags & SignatureFlags.JSDoc)) { signature.typeParameters = parseTypeParameters(); } signature.parameters = parseParameterList(flags); - signature.type = parseReturnType(returnToken, !!(flags & SignatureFlags.Type)); + if (shouldParseReturnType(returnToken, !!(flags & SignatureFlags.Type))) { + signature.type = parseTypeOrTypePredicate(); + return signature.type !== undefined; + } + return true; } - function parseReturnType(returnToken: SyntaxKind.ColonToken | SyntaxKind.EqualsGreaterThanToken, isType: boolean): TypeNode | undefined { - return shouldParseReturnType(returnToken, isType) ? parseTypeOrTypePredicate() : undefined; - } function shouldParseReturnType(returnToken: SyntaxKind.ColonToken | SyntaxKind.EqualsGreaterThanToken, isType: boolean): boolean { if (returnToken === SyntaxKind.EqualsGreaterThanToken) { parseExpected(returnToken); @@ -2758,6 +2762,9 @@ namespace ts { const node = createNode(SyntaxKind.ParenthesizedType); parseExpected(SyntaxKind.OpenParenToken); node.type = parseType(); + if (!node.type) { + return undefined; + } parseExpected(SyntaxKind.CloseParenToken); return finishNode(node); } @@ -2767,7 +2774,12 @@ namespace ts { if (kind === SyntaxKind.ConstructorType) { parseExpected(SyntaxKind.NewKeyword); } - fillSignature(SyntaxKind.EqualsGreaterThanToken, SignatureFlags.Type, node); + if (!fillSignature(SyntaxKind.EqualsGreaterThanToken, SignatureFlags.Type | (sourceFile.languageVariant === LanguageVariant.JSX ? SignatureFlags.RequireCompleteParameterList : 0), node)) { + return undefined; + } + if (!node.parameters) { + return undefined; + } return finishNode(node); } @@ -3598,7 +3610,9 @@ namespace ts { // a => (b => c) // And think that "(b =>" was actually a parenthesized arrow function with a missing // close paren. - fillSignature(SyntaxKind.ColonToken, isAsync | (allowAmbiguity ? SignatureFlags.None : SignatureFlags.RequireCompleteParameterList), node); + if (!fillSignature(SyntaxKind.ColonToken, isAsync | (allowAmbiguity ? SignatureFlags.None : SignatureFlags.RequireCompleteParameterList), node)) { + return undefined; + } // If we couldn't get parameters, we definitely could not parse out an arrow function. if (!node.parameters) { diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 688400fc6d5..05620afadfc 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -448,10 +448,11 @@ namespace ts { readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; getModifiedTime?(path: string): Date; /** - * This should be cryptographically secure. * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) */ createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; getMemoryUsage?(): number; exit(exitCode?: number): void; realpath?(path: string): string; @@ -527,7 +528,7 @@ namespace ts { const _path = require("path"); const _os = require("os"); // crypto can be absent on reduced node installations - let _crypto: any; + let _crypto: typeof import("crypto"); try { _crypto = require("crypto"); } @@ -590,6 +591,7 @@ namespace ts { readDirectory, getModifiedTime, createHash: _crypto ? createMD5HashUsingNativeCrypto : generateDjb2Hash, + createSHA256Hash: _crypto ? createSHA256Hash : undefined, getMemoryUsage() { if (global.gc) { global.gc(); @@ -1072,11 +1074,17 @@ namespace ts { return `${chars.reduce((prev, curr) => ((prev << 5) + prev) + curr, 5381)}`; } - function createMD5HashUsingNativeCrypto(data: string) { + function createMD5HashUsingNativeCrypto(data: string): string { const hash = _crypto.createHash("md5"); hash.update(data); return hash.digest("hex"); } + + function createSHA256Hash(data: string): string { + const hash = _crypto.createHash("sha256"); + hash.update(data); + return hash.digest("hex"); + } } function getChakraSystem(): System { diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 2685f1da88d..7e356ca4a3a 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -1885,6 +1885,7 @@ namespace ts { const expression = visitNode(body, visitor, isExpression); const returnStatement = createReturn(expression); setTextRange(returnStatement, body); + moveSyntheticComments(returnStatement, body); setEmitFlags(returnStatement, EmitFlags.NoTokenSourceMaps | EmitFlags.NoTrailingSourceMap | EmitFlags.NoTrailingComments); statements.push(returnStatement); diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index b358b13b502..67c9ddfc788 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -2534,6 +2534,11 @@ namespace ts { // we can safely elide the parentheses here, as a new synthetic // ParenthesizedExpression will be inserted if we remove parentheses too // aggressively. + // HOWEVER - if there are leading comments on the expression itself, to handle ASI + // correctly for return and throw, we must keep the parenthesis + if (length(getLeadingCommentRangesOfNode(expression, currentSourceFile))) { + return updateParen(node, expression); + } return createPartiallyEmittedExpression(expression, node); } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 4b2a7c080d2..f2a6f001a21 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -3625,6 +3625,7 @@ namespace ts { flags?: NodeCheckFlags; // Set of flags specific to Node resolvedType?: Type; // Cached type of type node resolvedSignature?: Signature; // Cached signature of signature node or call expression + resolvedSignatures?: Map; // Cached signatures of jsx node resolvedSymbol?: Symbol; // Cached name resolution result resolvedIndexInfo?: IndexInfo; // Cached indexing info resolution result maybeTypePredicate?: boolean; // Cached check whether call expression might reference a type predicate @@ -3973,6 +3974,7 @@ namespace ts { objectType: Type; indexType: Type; constraint?: Type; + simplified?: Type; } export type TypeVariable = TypeParameter | IndexedAccessType; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 29bd38803d0..e10d40a70ba 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1842,9 +1842,9 @@ namespace ts { (node as ModuleDeclaration).body; } - export function getJSDocCommentsAndTags(node: Node): ReadonlyArray { + export function getJSDocCommentsAndTags(hostNode: Node): ReadonlyArray { let result: (JSDoc | JSDocTag)[] | undefined; - getJSDocCommentsAndTagsWorker(node); + getJSDocCommentsAndTagsWorker(hostNode); return result || emptyArray; function getJSDocCommentsAndTagsWorker(node: Node): void { @@ -1860,7 +1860,7 @@ namespace ts { // */ // var x = function(name) { return name.length; } if (parent.parent && - (getSingleVariableOfVariableStatement(parent.parent) === node || getSourceOfAssignment(parent.parent))) { + (getSingleVariableOfVariableStatement(parent.parent) === node)) { getJSDocCommentsAndTagsWorker(parent.parent); } if (parent.parent && parent.parent.parent && @@ -1869,8 +1869,8 @@ namespace ts { getSourceOfDefaultedAssignment(parent.parent.parent))) { getJSDocCommentsAndTagsWorker(parent.parent.parent); } - if (isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) !== SpecialPropertyAssignmentKind.None || - isBinaryExpression(parent) && getSpecialPropertyAssignmentKind(parent) !== SpecialPropertyAssignmentKind.None || + if (isBinaryExpression(node) && node.operatorToken.kind === SyntaxKind.EqualsToken || + isBinaryExpression(parent) && parent.operatorToken.kind === SyntaxKind.EqualsToken || node.kind === SyntaxKind.PropertyAccessExpression && node.parent && node.parent.kind === SyntaxKind.ExpressionStatement) { getJSDocCommentsAndTagsWorker(parent); } @@ -1880,7 +1880,7 @@ namespace ts { result = addRange(result, getJSDocParameterTags(node as ParameterDeclaration)); } - if (isVariableLike(node) && hasInitializer(node) && hasJSDocNodes(node.initializer)) { + if (isVariableLike(node) && hasInitializer(node) && node.initializer !== hostNode && hasJSDocNodes(node.initializer)) { result = addRange(result, node.initializer.jsDoc); } @@ -3093,11 +3093,13 @@ namespace ts { * Gets the effective type parameters. If the node was parsed in a * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. */ - export function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters) { - return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : undefined); + export function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters | JSDocTypedefTag) { + return isJSDocTypedefTag(node) + ? getJSDocTypeParameterDeclarations(node) + : node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : undefined); } - export function getJSDocTypeParameterDeclarations(node: DeclarationWithTypeParameters) { + export function getJSDocTypeParameterDeclarations(node: DeclarationWithTypeParameters | JSDocTypedefTag) { const templateTag = getJSDocTemplateTag(node); return templateTag && templateTag.typeParameters; } @@ -4771,7 +4773,9 @@ namespace ts { let tags = (node as JSDocContainer).jsDocCache; // If cache is 'null', that means we did the work of searching for JSDoc tags and came up with nothing. if (tags === undefined) { - (node as JSDocContainer).jsDocCache = tags = flatMap(getJSDocCommentsAndTags(node), j => isJSDoc(j) ? j.tags : j); + const comments = getJSDocCommentsAndTags(node); + Debug.assert(comments.length < 2 || comments[0] !== comments[1]); + (node as JSDocContainer).jsDocCache = tags = flatMap(comments, j => isJSDoc(j) ? j.tags : j); } return tags; } diff --git a/src/harness/externalCompileRunner.ts b/src/harness/externalCompileRunner.ts index 1617a2d6734..8cc5201228f 100644 --- a/src/harness/externalCompileRunner.ts +++ b/src/harness/externalCompileRunner.ts @@ -2,6 +2,7 @@ /// const fs = require("fs"); const path = require("path"); +const del = require("del"); interface ExecResult { stdout: Buffer; @@ -26,10 +27,36 @@ abstract class ExternalCompileRunnerBase extends RunnerBase { // Read in and evaluate the test list const testList = this.tests && this.tests.length ? this.tests : this.enumerateTestFiles(); - describe(`${this.kind()} code samples`, () => { + // tslint:disable-next-line:no-this-assignment + const cls = this; + describe(`${this.kind()} code samples`, function(this: Mocha.ISuiteCallbackContext) { + this.timeout(600_000); // 10 minutes + const cwd = path.join(Harness.IO.getWorkspaceRoot(), cls.testDir); + const placeholderName = ".node_modules"; + const moduleDirName = "node_modules"; + before(() => { + ts.forEachAncestorDirectory(cwd, dir => { + try { + fs.renameSync(path.join(dir, moduleDirName), path.join(dir, placeholderName)); + } + catch { + // empty + } + }); + }); for (const test of testList) { - this.runTest(typeof test === "string" ? test : test.file); + cls.runTest(typeof test === "string" ? test : test.file); } + after(() => { + ts.forEachAncestorDirectory(cwd, dir => { + try { + fs.renameSync(path.join(dir, placeholderName), path.join(dir, moduleDirName)); + } + catch { + // empty + } + }); + }); }); } private runTest(directoryName: string) { @@ -42,6 +69,7 @@ abstract class ExternalCompileRunnerBase extends RunnerBase { it("should build successfully", () => { let cwd = path.join(Harness.IO.getWorkspaceRoot(), cls.testDir, directoryName); + const originalCwd = cwd; const stdio = isWorker ? "pipe" : "inherit"; let types: string[]; if (fs.existsSync(path.join(cwd, "test.json"))) { @@ -64,7 +92,7 @@ abstract class ExternalCompileRunnerBase extends RunnerBase { fs.unlinkSync(path.join(cwd, "package-lock.json")); } if (fs.existsSync(path.join(cwd, "node_modules"))) { - require("del").sync(path.join(cwd, "node_modules"), { force: true }); + del.sync(path.join(cwd, "node_modules"), { force: true }); } const install = cp.spawnSync(`npm`, ["i", "--ignore-scripts"], { cwd, timeout: timeout / 2, shell: true, stdio }); // NPM shouldn't take the entire timeout - if it takes a long time, it should be terminated and we should log the failure if (install.status !== 0) throw new Error(`NPM Install for ${directoryName} failed: ${install.stderr.toString()}`); @@ -72,6 +100,9 @@ abstract class ExternalCompileRunnerBase extends RunnerBase { const args = [path.join(Harness.IO.getWorkspaceRoot(), "built/local/tsc.js")]; if (types) { args.push("--types", types.join(",")); + // Also actually install those types (for, eg, the js projects which need node) + const install = cp.spawnSync(`npm`, ["i", ...types.map(t => `@types/${t}`), "--no-save", "--ignore-scripts"], { cwd: originalCwd, timeout: timeout / 2, shell: true, stdio }); // NPM shouldn't take the entire timeout - if it takes a long time, it should be terminated and we should log the failure + if (install.status !== 0) throw new Error(`NPM Install types for ${directoryName} failed: ${install.stderr.toString()}`); } args.push("--noEmit"); Harness.Baseline.runBaseline(`${cls.kind()}/${directoryName}.log`, () => { @@ -91,7 +122,7 @@ class UserCodeRunner extends ExternalCompileRunnerBase { // tslint:disable-next-line:no-null-keyword return result.status === 0 && !result.stdout.length && !result.stderr.length ? null : `Exit Code: ${result.status} Standard output: -${stripAbsoluteImportPaths(result.stdout.toString().replace(/\r\n/g, "\n"))} +${sortErrors(stripAbsoluteImportPaths(result.stdout.toString().replace(/\r\n/g, "\n")))} Standard error: @@ -109,6 +140,29 @@ function stripAbsoluteImportPaths(result: string) { .replace(/Module '".*?\/tests\/cases\/user\//g, `Module '"/`); } +function sortErrors(result: string) { + return ts.flatten(splitBy(result.split("\n"), s => /^\S+/.test(s)).sort(compareErrorStrings)).join("\n"); +} + +const errorRegexp = /^(.+\.[tj]sx?)\((\d+),(\d+)\): error TS/; +function compareErrorStrings(a: string[], b: string[]) { + ts.Debug.assertGreaterThanOrEqual(a.length, 1); + ts.Debug.assertGreaterThanOrEqual(b.length, 1); + const matchA = a[0].match(errorRegexp); + if (!matchA) { + return -1; + } + const matchB = b[0].match(errorRegexp); + if (!matchB) { + return 1; + } + const [, errorFileA, lineNumberStringA, columnNumberStringA] = matchA; + const [, errorFileB, lineNumberStringB, columnNumberStringB] = matchB; + return ts.comparePathsCaseSensitive(errorFileA, errorFileB) || + ts.compareValues(parseInt(lineNumberStringA), parseInt(lineNumberStringB)) || + ts.compareValues(parseInt(columnNumberStringA), parseInt(columnNumberStringB)); +} + class DefinitelyTypedRunner extends ExternalCompileRunnerBase { readonly testDir = "../DefinitelyTyped/types/"; workingDirectory = this.testDir; diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index 9645e69c45c..47f0a91b286 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -23,7 +23,7 @@ namespace FourSlash { ts.disableIncrementalParsing = false; - import ArrayOrSingle = FourSlashInterface.Many; + import ArrayOrSingle = FourSlashInterface.ArrayOrSingle; // Represents a parsed source file with metadata interface FourSlashFile { @@ -378,7 +378,6 @@ namespace FourSlash { "getCompletionEntryDetails", "getCompletionEntrySymbol", "getQuickInfoAtPosition", - "getSignatureHelpItems", "getReferencesAtPosition", "getDocumentHighlights", ]; @@ -1062,8 +1061,8 @@ namespace FourSlash { if (tags !== undefined) { assert.equal(details.tags.length, tags.length, this.messageAtLastKnownMarker("QuickInfo tags")); ts.zipWith(tags, details.tags, (expectedTag, actualTag) => { - assert.equal(expectedTag.name, actualTag.name); - assert.equal(expectedTag.text, actualTag.text, this.messageAtLastKnownMarker("QuickInfo tag " + actualTag.name)); + assert.equal(actualTag.name, expectedTag.name); + assert.equal(actualTag.text, expectedTag.text, this.messageAtLastKnownMarker("QuickInfo tag " + actualTag.name)); }); } } @@ -1446,83 +1445,91 @@ Actual: ${stringify(fullActual)}`); } } - public verifyCurrentSignatureHelpIs(expected: string) { - const help = this.getActiveSignatureHelpItem(); - assert.equal( - ts.displayPartsToString(help.prefixDisplayParts) + - help.parameters.map(p => ts.displayPartsToString(p.displayParts)).join(ts.displayPartsToString(help.separatorDisplayParts)) + - ts.displayPartsToString(help.suffixDisplayParts), expected); + public verifyNoSignatureHelp(markers: ReadonlyArray) { + if (markers.length) { + for (const marker of markers) { + this.goToMarker(marker); + this.verifyNoSignatureHelp(ts.emptyArray); + } + return; + } + + const actual = this.getSignatureHelp(); + if (actual) { + this.raiseError(`Expected no signature help, but got "${stringify(actual)}"`); + } } - public verifyCurrentParameterIsVariable(isVariable: boolean) { - const signature = this.getActiveSignatureHelpItem(); - assert.isOk(signature); - assert.equal(isVariable, signature.isVariadic); + public verifySignatureHelp(optionses: ReadonlyArray) { + for (const options of optionses) { + if (options.marker === undefined) { + this.verifySignatureHelpWorker(options); + } + else { + for (const marker of toArray(options.marker)) { + this.goToMarker(marker); + this.verifySignatureHelpWorker(options); + } + } + } } - public verifyCurrentParameterHelpName(name: string) { - const activeParameter = this.getActiveParameter(); - const activeParameterName = activeParameter.name; - assert.equal(activeParameterName, name); - } + private verifySignatureHelpWorker(options: FourSlashInterface.VerifySignatureHelpOptions) { + const help = this.getSignatureHelp(); + const selectedItem = help.items[help.selectedItemIndex]; + // Argument index may exceed number of parameters + const currentParameter: ts.SignatureHelpParameter | undefined = selectedItem.parameters[help.argumentIndex]; - public verifyCurrentParameterSpanIs(parameter: string) { - const activeParameter = this.getActiveParameter(); - assert.equal(ts.displayPartsToString(activeParameter.displayParts), parameter); - } + assert.equal(help.items.length, options.overloadsCount || 1, this.assertionMessageAtLastKnownMarker("signature help overloads count")); - public verifyCurrentParameterHelpDocComment(docComment: string) { - const activeParameter = this.getActiveParameter(); - const activeParameterDocComment = activeParameter.documentation; - assert.equal(ts.displayPartsToString(activeParameterDocComment), docComment, this.assertionMessageAtLastKnownMarker("current parameter Help DocComment")); - } + assert.equal(ts.displayPartsToString(selectedItem.documentation), options.docComment || "", this.assertionMessageAtLastKnownMarker("current signature help doc comment")); - public verifyCurrentSignatureHelpParameterCount(expectedCount: number) { - assert.equal(this.getActiveSignatureHelpItem().parameters.length, expectedCount); - } + if (options.text !== undefined) { + assert.equal( + ts.displayPartsToString(selectedItem.prefixDisplayParts) + + selectedItem.parameters.map(p => ts.displayPartsToString(p.displayParts)).join(ts.displayPartsToString(selectedItem.separatorDisplayParts)) + + ts.displayPartsToString(selectedItem.suffixDisplayParts), options.text); + } + if (options.parameterName !== undefined) { + assert.equal(currentParameter!.name, options.parameterName); + } + if (options.parameterSpan !== undefined) { + assert.equal(ts.displayPartsToString(currentParameter!.displayParts), options.parameterSpan); + } + if (currentParameter) { + assert.equal(ts.displayPartsToString(currentParameter.documentation), options.parameterDocComment || "", this.assertionMessageAtLastKnownMarker("current parameter Help DocComment")); + } + if (options.parameterCount !== undefined) { + assert.equal(selectedItem.parameters.length, options.parameterCount); + } + if (options.argumentCount !== undefined) { + assert.equal(help.argumentCount, options.argumentCount); + } - public verifyCurrentSignatureHelpIsVariadic(expected: boolean) { - assert.equal(this.getActiveSignatureHelpItem().isVariadic, expected); - } + assert.equal(selectedItem.isVariadic, !!options.isVariadic); - public verifyCurrentSignatureHelpDocComment(docComment: string) { - const actualDocComment = this.getActiveSignatureHelpItem().documentation; - assert.equal(ts.displayPartsToString(actualDocComment), docComment, this.assertionMessageAtLastKnownMarker("current signature help doc comment")); - } - - public verifyCurrentSignatureHelpTags(tags: ts.JSDocTagInfo[]) { - const actualTags = this.getActiveSignatureHelpItem().tags; - - assert.equal(actualTags.length, tags.length, this.assertionMessageAtLastKnownMarker("signature help tags")); - ts.zipWith(tags, actualTags, (expectedTag, actualTag) => { + const actualTags = selectedItem.tags; + assert.equal(actualTags.length, (options.tags || ts.emptyArray).length, this.assertionMessageAtLastKnownMarker("signature help tags")); + ts.zipWith((options.tags || ts.emptyArray), actualTags, (expectedTag, actualTag) => { assert.equal(expectedTag.name, actualTag.name); assert.equal(expectedTag.text, actualTag.text, this.assertionMessageAtLastKnownMarker("signature help tag " + actualTag.name)); }); - } - public verifySignatureHelpCount(expected: number) { - const help = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition); - const actual = help && help.items ? help.items.length : 0; - assert.equal(actual, expected); - } - - public verifySignatureHelpArgumentCount(expected: number) { - const signatureHelpItems = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition); - const actual = signatureHelpItems.argumentCount; - assert.equal(actual, expected); - } - - public verifySignatureHelpPresent(shouldBePresent = true) { - const actual = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition); - if (shouldBePresent) { - if (!actual) { - this.raiseError("Expected signature help to be present, but it wasn't"); - } - } - else { - if (actual) { - this.raiseError(`Expected no signature help, but got "${stringify(actual)}"`); - } + const allKeys: ReadonlyArray = [ + "marker", + "overloadsCount", + "docComment", + "text", + "parameterName", + "parameterSpan", + "parameterDocComment", + "parameterCount", + "isVariadic", + "tags", + "argumentCount", + ]; + for (const key in options) { + ts.Debug.assert(ts.contains(allKeys, key)); } } @@ -1564,19 +1571,6 @@ Actual: ${stringify(fullActual)}`); this.validate("error", message, renameInfo.localizedErrorMessage); } - private getActiveSignatureHelpItem() { - const help = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition); - const index = help.selectedItemIndex; - return help.items[index]; - } - - private getActiveParameter(): ts.SignatureHelpParameter { - const help = this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition); - const item = help.items[help.selectedItemIndex]; - const currentParam = help.argumentIndex; - return item.parameters[currentParam]; - } - private alignmentForExtraInfo = 50; private spanInfoToString(spanInfo: ts.TextSpan, prefixString: string) { @@ -1790,8 +1784,12 @@ Actual: ${stringify(fullActual)}`); } public printCurrentSignatureHelp() { - const sigHelp = this.getActiveSignatureHelpItem(); - Harness.IO.log(stringify(sigHelp)); + const help = this.getSignatureHelp(); + Harness.IO.log(stringify(help.items[help.selectedItemIndex])); + } + + private getSignatureHelp(): ts.SignatureHelpItems | undefined { + return this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition); } public printCompletionListMembers(preferences: ts.UserPreferences | undefined) { @@ -2295,9 +2293,13 @@ Actual: ${stringify(fullActual)}`); } public verifyCurrentFileContent(text: string) { - const actual = this.getFileContent(this.activeFile.fileName); + this.verifyFileContent(this.activeFile.fileName, text); + } + + private verifyFileContent(fileName: string, text: string) { + const actual = this.getFileContent(fileName); if (actual !== text) { - throw new Error(`verifyCurrentFileContent failed:\n${showTextDiff(text, actual)}`); + throw new Error(`verifyFileContent failed:\n${showTextDiff(text, actual)}`); } } @@ -2485,7 +2487,7 @@ Actual: ${stringify(fullActual)}`); this.applyCodeActions(details.codeActions); - this.verifyNewContent(options); + this.verifyNewContent(options, ts.flatMap(details.codeActions, a => a.changes.map(c => c.fileName))); } public verifyRangeIs(expectedText: string, includeWhiteSpace?: boolean) { @@ -2572,13 +2574,25 @@ Actual: ${stringify(fullActual)}`); this.applyEdits(change.fileName, change.textChanges, /*isFormattingEdit*/ false); } - this.verifyNewContent(options); + this.verifyNewContent(options, action.changes.map(c => c.fileName)); } - private verifyNewContent(options: FourSlashInterface.NewContentOptions) { + private verifyNewContent(options: FourSlashInterface.NewContentOptions, changedFiles: ReadonlyArray) { + const assertedChangedFiles = !options.newFileContent || typeof options.newFileContent === "string" + ? [this.activeFile.fileName] + : ts.getOwnKeys(options.newFileContent); + assert.deepEqual(assertedChangedFiles, changedFiles); + if (options.newFileContent !== undefined) { assert(!options.newRangeContent); - this.verifyCurrentFileContent(options.newFileContent); + if (typeof options.newFileContent === "string") { + this.verifyCurrentFileContent(options.newFileContent); + } + else { + for (const fileName in options.newFileContent) { + this.verifyFileContent(fileName, options.newFileContent[fileName]); + } + } } else { this.verifyRangeIs(options.newRangeContent, /*includeWhitespace*/ true); @@ -4042,8 +4056,12 @@ namespace FourSlashInterface { this.state.verifyCompletionListAllowsNewIdentifier(this.negative); } - public signatureHelpPresent() { - this.state.verifySignatureHelpPresent(!this.negative); + public noSignatureHelp(...markers: string[]): void { + this.state.verifyNoSignatureHelp(markers); + } + + public signatureHelp(...options: VerifySignatureHelpOptions[]): void { + this.state.verifySignatureHelp(options); } public errorExistsBetweenMarkers(startMarker: string, endMarker: string) { @@ -4108,7 +4126,7 @@ namespace FourSlashInterface { super(state); } - public completionsAt(markerName: Many, completions: ReadonlyArray, options?: CompletionsAtOptions) { + public completionsAt(markerName: ArrayOrSingle, completions: ReadonlyArray, options?: CompletionsAtOptions) { this.state.verifyCompletionsAt(markerName, completions, options); } @@ -4163,19 +4181,19 @@ namespace FourSlashInterface { this.state.verifyCurrentFileContent(text); } - public goToDefinitionIs(endMarkers: Many) { + public goToDefinitionIs(endMarkers: ArrayOrSingle) { this.state.verifyGoToDefinitionIs(endMarkers); } - public goToDefinition(startMarkerName: Many, endMarkerName: Many, range?: FourSlash.Range): void; - public goToDefinition(startsAndEnds: [Many, Many][] | { [startMarkerName: string]: Many }): void; - public goToDefinition(arg0: any, endMarkerName?: Many) { + public goToDefinition(startMarkerName: ArrayOrSingle, endMarkerName: ArrayOrSingle, range?: FourSlash.Range): void; + public goToDefinition(startsAndEnds: [ArrayOrSingle, ArrayOrSingle][] | { [startMarkerName: string]: ArrayOrSingle }): void; + public goToDefinition(arg0: any, endMarkerName?: ArrayOrSingle) { this.state.verifyGoToDefinition(arg0, endMarkerName); } - public goToType(startMarkerName: Many, endMarkerName: Many): void; - public goToType(startsAndEnds: [Many, Many][] | { [startMarkerName: string]: Many }): void; - public goToType(arg0: any, endMarkerName?: Many) { + public goToType(startMarkerName: ArrayOrSingle, endMarkerName: ArrayOrSingle): void; + public goToType(startsAndEnds: [ArrayOrSingle, ArrayOrSingle][] | { [startMarkerName: string]: ArrayOrSingle }): void; + public goToType(arg0: any, endMarkerName?: ArrayOrSingle) { this.state.verifyGoToType(arg0, endMarkerName); } @@ -4203,7 +4221,7 @@ namespace FourSlashInterface { this.state.verifyTypeOfSymbolAtLocation(range, symbol, expected); } - public referenceGroups(starts: Many | Many, parts: ReferenceGroup[]) { + public referenceGroups(starts: ArrayOrSingle | ArrayOrSingle, parts: ReferenceGroup[]) { this.state.verifyReferenceGroups(starts, parts); } @@ -4223,46 +4241,6 @@ namespace FourSlashInterface { this.state.verifyDisplayPartsOfReferencedSymbol(expected); } - public currentParameterHelpArgumentNameIs(name: string) { - this.state.verifyCurrentParameterHelpName(name); - } - - public currentParameterSpanIs(parameter: string) { - this.state.verifyCurrentParameterSpanIs(parameter); - } - - public currentParameterHelpArgumentDocCommentIs(docComment: string) { - this.state.verifyCurrentParameterHelpDocComment(docComment); - } - - public currentSignatureHelpDocCommentIs(docComment: string) { - this.state.verifyCurrentSignatureHelpDocComment(docComment); - } - - public currentSignatureHelpTagsAre(tags: ts.JSDocTagInfo[]) { - this.state.verifyCurrentSignatureHelpTags(tags); - } - - public signatureHelpCountIs(expected: number) { - this.state.verifySignatureHelpCount(expected); - } - - public signatureHelpCurrentArgumentListIsVariadic(expected: boolean) { - this.state.verifyCurrentSignatureHelpIsVariadic(expected); - } - - public signatureHelpArgumentCountIs(expected: number) { - this.state.verifySignatureHelpArgumentCount(expected); - } - - public currentSignatureParameterCountIs(expected: number) { - this.state.verifyCurrentSignatureHelpParameterCount(expected); - } - - public currentSignatureHelpIs(expected: string) { - this.state.verifyCurrentSignatureHelpIs(expected); - } - public noErrors() { this.state.verifyNoErrors(); } @@ -4435,7 +4413,7 @@ namespace FourSlashInterface { this.state.verifyRenameInfoFailed(message); } - public renameLocations(startRanges: Many, options: FourSlash.Range[] | { findInStrings?: boolean, findInComments?: boolean, ranges: FourSlash.Range[] }) { + public renameLocations(startRanges: ArrayOrSingle, options: FourSlash.Range[] | { findInStrings?: boolean, findInComments?: boolean, ranges: FourSlash.Range[] }) { this.state.verifyRenameLocations(startRanges, options); } @@ -4775,16 +4753,35 @@ namespace FourSlashInterface { } export interface VerifyCompletionsOptions { - readonly marker?: Many; + readonly marker?: ArrayOrSingle; readonly isNewIdentifierLocation?: boolean; - readonly exact?: Many; - readonly includes?: Many; - readonly excludes?: Many; + readonly exact?: ArrayOrSingle; + readonly includes?: ArrayOrSingle; + readonly excludes?: ArrayOrSingle; readonly preferences: ts.UserPreferences; readonly triggerCharacter?: ts.CompletionsTriggerCharacter; } - export type Many = T | ReadonlyArray; + export interface VerifySignatureHelpOptions { + readonly marker?: ArrayOrSingle; + /** @default 1 */ + readonly overloadsCount?: number; + /** @default undefined */ + readonly docComment?: string; + readonly text?: string; + readonly parameterName?: string; + readonly parameterSpan?: string; + /** @default undefined */ + readonly parameterDocComment?: string; + readonly parameterCount?: number; + readonly argumentCount?: number; + /** @default false */ + readonly isVariadic?: boolean; + /** @default ts.emptyArray */ + readonly tags?: ReadonlyArray; + } + + export type ArrayOrSingle = T | ReadonlyArray; export interface VerifyCompletionListContainsOptions extends ts.UserPreferences { triggerCharacter?: ts.CompletionsTriggerCharacter; @@ -4800,7 +4797,7 @@ namespace FourSlashInterface { export interface NewContentOptions { // Exactly one of these should be defined. - newFileContent?: string; + newFileContent?: string | { readonly [filename: string]: string }; newRangeContent?: string; } diff --git a/src/harness/unittests/moduleResolution.ts b/src/harness/unittests/moduleResolution.ts index fc1811420d3..b5c527aa246 100644 --- a/src/harness/unittests/moduleResolution.ts +++ b/src/harness/unittests/moduleResolution.ts @@ -181,6 +181,13 @@ namespace ts { "/a/b/foo.ts", "/a/b/foo.tsx", "/a/b/foo.d.ts", + "/c/d", + "/c/d.ts", + "/c/d.tsx", + "/c/d.d.ts", + "/c/d/index.ts", + "/c/d/index.tsx", + "/c/d/index.d.ts", "/a/b/foo/index.ts", "/a/b/foo/index.tsx", ]); diff --git a/src/harness/unittests/telemetry.ts b/src/harness/unittests/telemetry.ts index e3649ae1c79..53025e15a9c 100644 --- a/src/harness/unittests/telemetry.ts +++ b/src/harness/unittests/telemetry.ts @@ -59,7 +59,6 @@ namespace ts.projectSystem { // TODO: Apparently compilerOptions is mutated, so have to repeat it here! et.assertProjectInfoTelemetryEvent({ - projectId: Harness.mockHash("/hunter2/foo.csproj"), compilerOptions: { strict: true }, compileOnSave: true, // These properties can't be present for an external project, so they are undefined instead of false. @@ -69,7 +68,7 @@ namespace ts.projectSystem { exclude: undefined, configFileName: "other", projectType: "external", - }); + }, "/hunter2/foo.csproj"); // Also test that opening an external project only sends an event once. @@ -202,7 +201,6 @@ namespace ts.projectSystem { const et = new TestServerEventManager([jsconfig, file]); et.service.openClientFile(file.path); et.assertProjectInfoTelemetryEvent({ - projectId: Harness.mockHash("/jsconfig.json"), fileStats: fileStats({ js: 1 }), compilerOptions: autoJsCompilerOptions, typeAcquisition: { @@ -211,7 +209,7 @@ namespace ts.projectSystem { exclude: false, }, configFileName: "jsconfig.json", - }); + }, "/jsconfig.json"); }); it("detects whether language service was disabled", () => { @@ -222,7 +220,6 @@ namespace ts.projectSystem { et.service.openClientFile(file.path); et.getEvent(server.ProjectLanguageServiceStateEvent); et.assertProjectInfoTelemetryEvent({ - projectId: Harness.mockHash("/jsconfig.json"), fileStats: fileStats({ js: 1 }), compilerOptions: autoJsCompilerOptions, configFileName: "jsconfig.json", @@ -232,7 +229,7 @@ namespace ts.projectSystem { exclude: false, }, languageServiceEnabled: false, - }); + }, "/jsconfig.json"); }); describe("open files telemetry", () => { diff --git a/src/harness/unittests/transform.ts b/src/harness/unittests/transform.ts index 14b9ccdbfb8..61d8dc04e18 100644 --- a/src/harness/unittests/transform.ts +++ b/src/harness/unittests/transform.ts @@ -270,6 +270,35 @@ namespace ts { program.emit(program.getSourceFiles()[1], (p, s, bom) => host.writeFile(p, s, bom), /*cancellationToken*/ undefined, /*onlyDts*/ true, opts.transformers); return fs.readFileSync("/.src/index.d.ts").toString(); } + + // https://github.com/Microsoft/TypeScript/issues/24096 + testBaseline("transformAddCommentToArrowReturnValue", () => { + return transpileModule(`const foo = () => + void 0 +`, { + transformers: { + before: [addSyntheticComment], + }, + compilerOptions: { + target: ScriptTarget.ES5, + newLine: NewLineKind.CarriageReturnLineFeed, + } + }).outputText; + + function addSyntheticComment(context: TransformationContext) { + return (sourceFile: SourceFile): SourceFile => { + return visitNode(sourceFile, rootTransform, isSourceFile); + }; + function rootTransform(node: T): VisitResult { + if (isVoidExpression(node)) { + setEmitFlags(node, EmitFlags.NoLeadingComments); + setSyntheticLeadingComments(node, [{ kind: SyntaxKind.SingleLineCommentTrivia, text: "// comment!", pos: -1, end: -1, hasTrailingNewLine: true }]); + return node; + } + return visitEachChild(node, rootTransform, context); + } + } + }); }); } diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index 980a27446f7..8524d46e094 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -214,9 +214,9 @@ namespace ts.projectSystem { assert.equal(eventData.triggerFile, triggerFile); } - assertProjectInfoTelemetryEvent(partial: Partial, configFile?: string): void { + assertProjectInfoTelemetryEvent(partial: Partial, configFile = "/tsconfig.json"): void { assert.deepEqual(this.getEvent(server.ProjectInfoTelemetryEvent), { - projectId: Harness.mockHash(configFile || "/tsconfig.json"), + projectId: sys.createSHA256Hash(configFile), fileStats: fileStats({ ts: 1 }), compilerOptions: {}, extends: false, diff --git a/src/harness/virtualFileSystemWithWatch.ts b/src/harness/virtualFileSystemWithWatch.ts index ef3d4955e42..96873f1c083 100644 --- a/src/harness/virtualFileSystemWithWatch.ts +++ b/src/harness/virtualFileSystemWithWatch.ts @@ -811,6 +811,10 @@ interface Array {}` return Harness.mockHash(s); } + createSHA256Hash(s: string): string { + return sys.createSHA256Hash(s); + } + watchFile(fileName: string, cb: FileWatcherCallback, pollingInterval: number) { if (this.dynamicPriorityWatchFile) { return this.dynamicPriorityWatchFile(fileName, cb, pollingInterval); diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index 1d9625bd88d..3607e3e8488 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3093,6 +3093,9 @@ + + + @@ -5277,6 +5280,15 @@ + + + + + + + + + @@ -6543,6 +6555,15 @@ + + + + + + + + + @@ -6573,6 +6594,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 96c3dd0c2ef..f08745d21c6 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3093,6 +3093,9 @@ + + + @@ -5277,6 +5280,15 @@ + + + + + + + + + @@ -6543,6 +6555,15 @@ + + + + + + + + + @@ -6573,6 +6594,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl index dcc9b3136f7..d64721cd90e 100644 --- a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3102,6 +3102,9 @@ + + + @@ -5289,6 +5292,9 @@ + + + @@ -6558,6 +6564,15 @@ + + + + + + + + + @@ -6588,6 +6603,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl index 916f34d4e42..3eb5854c5c0 100644 --- a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3102,6 +3102,9 @@ + + + @@ -5289,6 +5292,9 @@ + + + @@ -6558,6 +6564,15 @@ + + + + + + + + + @@ -6588,6 +6603,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl index 1dc680c5cae..4f11a5ceaf9 100644 --- a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3081,15 +3081,6 @@ - - - - - - - - - @@ -3099,6 +3090,15 @@ + + + + + + + + + @@ -5280,6 +5280,15 @@ + + + + + + + + + @@ -6546,6 +6555,15 @@ + + + + + + + + + @@ -6576,6 +6594,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 8bc1db5c5a9..d034fc6882f 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3093,6 +3093,9 @@ + + + @@ -5280,6 +5283,9 @@ + + + @@ -6549,6 +6555,15 @@ + + + + + + + + + @@ -6579,6 +6594,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index ab3b344d5a0..7c6b790800a 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3093,6 +3093,9 @@ + + + @@ -5280,6 +5283,9 @@ + + + @@ -6549,6 +6555,15 @@ + + + + + + + + + @@ -6579,6 +6594,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 8492ff60000..50dcbfc1f8e 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3083,6 +3083,9 @@ + + + @@ -5267,6 +5270,15 @@ + + + + + + + + + @@ -6530,6 +6542,15 @@ + + + + + + + + + @@ -6560,6 +6581,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl index aebef0476e8..afce2f07042 100644 --- a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3083,6 +3083,9 @@ + + + @@ -5267,6 +5270,15 @@ + + + + + + + + + @@ -6530,6 +6542,15 @@ + + + + + + + + + @@ -6560,6 +6581,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl index 6a3fb08c287..bdc5b984f48 100644 --- a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -3092,6 +3092,9 @@ + + + @@ -5279,6 +5282,9 @@ + + + @@ -6548,6 +6554,15 @@ + + + + + + + + + @@ -6578,6 +6593,15 @@ + + + + + + + + + diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index a5a4bceb43c..459b4b12d83 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1429,12 +1429,12 @@ namespace ts.server { } this.seenProjects.set(projectKey, true); - if (!this.eventHandler) { + if (!this.eventHandler || !this.host.createSHA256Hash) { return; } const data: ProjectInfoTelemetryEventData = { - projectId: this.host.createHash(projectKey), + projectId: this.host.createSHA256Hash(projectKey), fileStats: countEachFileTypes(project.getScriptInfos()), compilerOptions: convertCompilerOptionsForTelemetry(project.getCompilationSettings()), typeAcquisition: convertTypeAcquisition(project.getTypeAcquisition()), diff --git a/src/server/project.ts b/src/server/project.ts index 6073cd9caef..5b1dbddfc20 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -964,7 +964,7 @@ namespace ts.server { return this.missingFilesMap && this.missingFilesMap.has(path); } - getScriptInfoForNormalizedPath(fileName: NormalizedPath) { + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined { const scriptInfo = this.projectService.getScriptInfoForPath(this.toPath(fileName)); if (scriptInfo && !scriptInfo.isAttached(this)) { return Errors.ThrowProjectDoesNotContainDocument(fileName, this); diff --git a/src/server/protocol.ts b/src/server/protocol.ts index 289478e7453..20854c7597b 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -2682,6 +2682,7 @@ namespace ts.server.protocol { */ readonly includeCompletionsWithInsertText?: boolean; readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + readonly allowTextChangesInNewFiles?: boolean; } export interface CompilerOptions { diff --git a/src/server/session.ts b/src/server/session.ts index 8d6defa1562..40f26785113 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -665,9 +665,8 @@ namespace ts.server { if (simplifiedResult) { return this.mapDefinitionInfo(definitions, project); } - else { - return definitions; - } + + return definitions.map(Session.mapToOriginalLocation); } private getDefinitionAndBoundSpan(args: protocol.FileLocationRequestArgs, simplifiedResult: boolean): protocol.DefinitionInfoAndBoundSpan | DefinitionInfoAndBoundSpan { @@ -691,13 +690,37 @@ namespace ts.server { }; } - return definitionAndBoundSpan; + return { + ...definitionAndBoundSpan, + definitions: definitionAndBoundSpan.definitions.map(Session.mapToOriginalLocation) + }; } private mapDefinitionInfo(definitions: ReadonlyArray, project: Project): ReadonlyArray { return definitions.map(def => this.toFileSpan(def.fileName, def.textSpan, project)); } + /* + * When we map a .d.ts location to .ts, Visual Studio gets confused because there's no associated Roslyn Document in + * the same project which corresponds to the file. VS Code has no problem with this, and luckily we have two protocols. + * This retains the existing behavior for the "simplified" (VS Code) protocol but stores the .d.ts location in a + * set of additional fields, and does the reverse for VS (store the .d.ts location where + * it used to be and stores the .ts location in the additional fields). + */ + private static mapToOriginalLocation(def: T): T { + if (def.originalFileName) { + Debug.assert(def.originalTextSpan !== undefined, "originalTextSpan should be present if originalFileName is"); + return { + ...def, + fileName: def.originalFileName, + textSpan: def.originalTextSpan, + targetFileName: def.fileName, + targetTextSpan: def.textSpan + }; + } + return def; + } + private toFileSpan(fileName: string, textSpan: TextSpan, project: Project): protocol.FileSpan { const ls = project.getLanguageService(); const start = ls.toLineColumnOffset(fileName, textSpan.start); @@ -732,9 +755,8 @@ namespace ts.server { if (simplifiedResult) { return implementations.map(({ fileName, textSpan }) => this.toFileSpan(fileName, textSpan, project)); } - else { - return implementations; - } + + return implementations.map(Session.mapToOriginalLocation); } private getOccurrences(args: protocol.FileLocationRequestArgs): ReadonlyArray { @@ -1744,11 +1766,17 @@ namespace ts.server { return textChanges.map(change => this.mapTextChangesToCodeEditsUsingScriptinfo(change, project.getScriptInfoForNormalizedPath(toNormalizedPath(change.fileName)))); } - private mapTextChangesToCodeEditsUsingScriptinfo(textChanges: FileTextChanges, scriptInfo: ScriptInfo): protocol.FileCodeEdits { - return { - fileName: textChanges.fileName, - textChanges: textChanges.textChanges.map(textChange => this.convertTextChangeToCodeEdit(textChange, scriptInfo)) - }; + private mapTextChangesToCodeEditsUsingScriptinfo(textChanges: FileTextChanges, scriptInfo: ScriptInfo | undefined): protocol.FileCodeEdits { + Debug.assert(!!textChanges.isNewFile === !scriptInfo); + if (scriptInfo) { + return { + fileName: textChanges.fileName, + textChanges: textChanges.textChanges.map(textChange => this.convertTextChangeToCodeEdit(textChange, scriptInfo)) + }; + } + else { + return this.convertNewFileTextChangeToCodeEdit(textChanges); + } } private convertTextChangeToCodeEdit(change: TextChange, scriptInfo: ScriptInfo): protocol.CodeEdit { @@ -1759,6 +1787,13 @@ namespace ts.server { }; } + private convertNewFileTextChangeToCodeEdit(textChanges: FileTextChanges): protocol.FileCodeEdits { + Debug.assert(textChanges.textChanges.length === 1); + const change = first(textChanges.textChanges); + Debug.assert(change.span.start === 0 && change.span.length === 0); + return { fileName: textChanges.fileName, textChanges: [{ start: { line: 0, offset: 0 }, end: { line: 0, offset: 0 }, newText: change.newText }] }; + } + private getBraceMatching(args: protocol.FileLocationRequestArgs, simplifiedResult: boolean): protocol.TextSpan[] | TextSpan[] { const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args); const scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file); diff --git a/src/services/codefixes/convertToEs6Module.ts b/src/services/codefixes/convertToEs6Module.ts index 57af2edcd01..92a14b1d20d 100644 --- a/src/services/codefixes/convertToEs6Module.ts +++ b/src/services/codefixes/convertToEs6Module.ts @@ -233,7 +233,7 @@ namespace ts.codefix { Debug.assertNever(prop); } }); - return statements && [statements, true]; + return statements && [statements, false]; } function convertNamedExport( diff --git a/src/services/codefixes/inferFromUsage.ts b/src/services/codefixes/inferFromUsage.ts index 8b36d3e5d51..92f4ab05e3c 100644 --- a/src/services/codefixes/inferFromUsage.ts +++ b/src/services/codefixes/inferFromUsage.ts @@ -32,16 +32,16 @@ namespace ts.codefix { const token = getTokenAtPosition(sourceFile, start, /*includeJsDocComment*/ false); let declaration!: Declaration; - const changes = textChanges.ChangeTracker.with(context, changes => { declaration = doChange(changes, sourceFile, token, errorCode, program, cancellationToken); }); + const changes = textChanges.ChangeTracker.with(context, changes => { declaration = doChange(changes, sourceFile, token, errorCode, program, cancellationToken, /*markSeenseen*/ returnTrue); }); return changes.length === 0 ? undefined : [createCodeFixAction(fixId, changes, [getDiagnostic(errorCode, token), getNameOfDeclaration(declaration).getText(sourceFile)], fixId, Diagnostics.Infer_all_types_from_usage)]; }, fixIds: [fixId], getAllCodeActions(context) { const { sourceFile, program, cancellationToken } = context; - const seenFunctions = createMap(); + const markSeen = nodeSeenTracker(); return codeFixAll(context, errorCodes, (changes, err) => { - doChange(changes, sourceFile, getTokenAtPosition(err.file!, err.start!, /*includeJsDocComment*/ false), err.code, program, cancellationToken, seenFunctions); + doChange(changes, sourceFile, getTokenAtPosition(err.file!, err.start!, /*includeJsDocComment*/ false), err.code, program, cancellationToken, markSeen); }); }, }); @@ -57,7 +57,7 @@ namespace ts.codefix { } } - function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, token: Node, errorCode: number, program: Program, cancellationToken: CancellationToken, seenFunctions?: Map): Declaration | undefined { + function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, token: Node, errorCode: number, program: Program, cancellationToken: CancellationToken, markSeen: NodeSeenTracker): Declaration | undefined { if (!isParameterPropertyModifier(token.kind) && token.kind !== SyntaxKind.Identifier && token.kind !== SyntaxKind.DotDotDotToken) { return undefined; } @@ -67,7 +67,7 @@ namespace ts.codefix { // Variable and Property declarations case Diagnostics.Member_0_implicitly_has_an_1_type.code: case Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code: - if (isVariableDeclaration(parent) || isPropertyDeclaration(parent) || isPropertySignature(parent)) { // handle bad location + if ((isVariableDeclaration(parent) && markSeen(parent)) || isPropertyDeclaration(parent) || isPropertySignature(parent)) { // handle bad location annotateVariableDeclaration(changes, sourceFile, parent, program, cancellationToken); return parent; } @@ -75,10 +75,11 @@ namespace ts.codefix { case Diagnostics.Variable_0_implicitly_has_an_1_type.code: { const symbol = program.getTypeChecker().getSymbolAtLocation(token); - if (symbol && symbol.valueDeclaration && isVariableDeclaration(symbol.valueDeclaration)) { + if (symbol && symbol.valueDeclaration && isVariableDeclaration(symbol.valueDeclaration) && markSeen(symbol.valueDeclaration)) { annotateVariableDeclaration(changes, sourceFile, symbol.valueDeclaration, program, cancellationToken); return symbol.valueDeclaration; } + return undefined; } } @@ -96,7 +97,7 @@ namespace ts.codefix { } // falls through case Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code: - if (!seenFunctions || addToSeen(seenFunctions, getNodeId(containingFunction))) { + if (markSeen(containingFunction)) { const param = cast(parent, isParameter); annotateParameters(changes, param, containingFunction, sourceFile, program, cancellationToken); return param; @@ -318,6 +319,16 @@ namespace ts.codefix { case SyntaxKind.ElementAccessExpression: inferTypeFromPropertyElementExpressionContext(node.parent, node, checker, usageContext); break; + case SyntaxKind.VariableDeclaration: { + const { name, initializer } = node.parent as VariableDeclaration; + if (node === name) { + if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. + addCandidateType(usageContext, checker.getTypeAtLocation(initializer)); + } + break; + } + } + // falls through default: return inferTypeFromContextualType(node, checker, usageContext); } @@ -511,7 +522,7 @@ namespace ts.codefix { return checker.getStringType(); } else if (usageContext.candidateTypes) { - return checker.getWidenedType(checker.getUnionType(map(usageContext.candidateTypes, t => checker.getBaseTypeOfLiteralType(t)), UnionReduction.Subtype)); + return checker.getWidenedType(checker.getUnionType(usageContext.candidateTypes.map(t => checker.getBaseTypeOfLiteralType(t)), UnionReduction.Subtype)); } else if (usageContext.properties && hasCallContext(usageContext.properties.get("then" as __String))) { const paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then" as __String).callContexts, /*isRestParameter*/ false, checker); diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 907003b7db7..c6f97ec2a1a 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -32,12 +32,43 @@ namespace ts.JsTyping { /* @internal */ export const nodeCoreModuleList: ReadonlyArray = [ - "buffer", "querystring", "events", "http", "cluster", - "zlib", "os", "https", "punycode", "repl", "readline", - "vm", "child_process", "url", "dns", "net", - "dgram", "fs", "path", "string_decoder", "tls", - "crypto", "stream", "util", "assert", "tty", "domain", - "constants", "process", "v8", "timers", "console"]; + "assert", + "async_hooks", + "buffer", + "child_process", + "cluster", + "console", + "constants", + "crypto", + "dgram", + "dns", + "domain", + "events", + "fs", + "http", + "https", + "http2", + "inspector", + "net", + "os", + "path", + "perf_hooks", + "process", + "punycode", + "querystring", + "readline", + "repl", + "stream", + "string_decoder", + "timers", + "tls", + "tty", + "url", + "util", + "v8", + "vm", + "zlib" + ]; /* @internal */ export const nodeCoreModules = arrayToSet(nodeCoreModuleList); diff --git a/src/services/refactors/generateGetAccessorAndSetAccessor.ts b/src/services/refactors/generateGetAccessorAndSetAccessor.ts index 53adfac26b3..ca94d10e80f 100644 --- a/src/services/refactors/generateGetAccessorAndSetAccessor.ts +++ b/src/services/refactors/generateGetAccessorAndSetAccessor.ts @@ -17,6 +17,7 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { fieldName: AcceptedNameType; accessorName: AcceptedNameType; originalName: AcceptedNameType; + renameAccessor: boolean; } function getAvailableActions(context: RefactorContext): ApplicableRefactorInfo[] | undefined { @@ -43,7 +44,7 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { const isJS = isSourceFileJavaScript(file); const changeTracker = textChanges.ChangeTracker.fromContext(context); - const { isStatic, isReadonly, fieldName, accessorName, originalName, type, container, declaration } = fieldInfo; + const { isStatic, isReadonly, fieldName, accessorName, originalName, type, container, declaration, renameAccessor } = fieldInfo; suppressLeadingAndTrailingTrivia(fieldName); suppressLeadingAndTrailingTrivia(declaration); @@ -80,8 +81,10 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { const edits = changeTracker.getChanges(); const renameFilename = file.fileName; - const renameLocationOffset = isIdentifier(fieldName) ? 0 : -1; - const renameLocation = renameLocationOffset + getRenameLocation(edits, renameFilename, fieldName.text, /*preferLastLocation*/ isParameter(declaration)); + + const nameNeedRename = renameAccessor ? accessorName : fieldName; + const renameLocationOffset = isIdentifier(nameNeedRename) ? 0 : -1; + const renameLocation = renameLocationOffset + getRenameLocation(edits, renameFilename, nameNeedRename.text, /*preferLastLocation*/ isParameter(declaration)); return { renameFilename, renameLocation, edits }; } @@ -110,6 +113,10 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { return modifiers && createNodeArray(modifiers); } + function startsWithUnderscore(name: string): boolean { + return name.charCodeAt(0) === CharacterCodes._; + } + function getConvertibleFieldAtPosition(file: SourceFile, startPosition: number): Info | undefined { const node = getTokenAtPosition(file, startPosition, /*includeJsDocComment*/ false); const declaration = findAncestor(node.parent, isAcceptedDeclaration); @@ -117,8 +124,10 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { const meaning = ModifierFlags.AccessibilityModifier | ModifierFlags.Static | ModifierFlags.Readonly; if (!declaration || !isConvertableName(declaration.name) || (getModifierFlags(declaration) | meaning) !== meaning) return undefined; - const fieldName = createPropertyName(getUniqueName(`_${declaration.name.text}`, file.text), declaration.name); - const accessorName = createPropertyName(declaration.name.text, declaration.name); + const name = declaration.name.text; + const startWithUnderscore = startsWithUnderscore(name); + const fieldName = createPropertyName(startWithUnderscore ? name : getUniqueName(`_${name}`, file.text), declaration.name); + const accessorName = createPropertyName(startWithUnderscore ? getUniqueName(name.substring(1), file.text) : name, declaration.name); return { isStatic: hasStaticModifier(declaration), isReadonly: hasReadonlyModifier(declaration), @@ -128,6 +137,7 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { declaration, fieldName, accessorName, + renameAccessor: startWithUnderscore }; } @@ -204,7 +214,9 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { function insertAccessor(changeTracker: textChanges.ChangeTracker, file: SourceFile, accessor: AccessorDeclaration, declaration: AcceptedDeclaration, container: ContainerDeclaration) { isParameterPropertyDeclaration(declaration) ? changeTracker.insertNodeAtClassStart(file, container, accessor) - : changeTracker.insertNodeAfter(file, declaration, accessor); + : isPropertyAssignment(declaration) + ? changeTracker.insertNodeAfterComma(file, declaration, accessor) + : changeTracker.insertNodeAfter(file, declaration, accessor); } function updateReadonlyPropertyInitializerStatementConstructor(changeTracker: textChanges.ChangeTracker, context: RefactorContext, constructor: ConstructorDeclaration, fieldName: AcceptedNameType, originalName: AcceptedNameType) { diff --git a/src/services/services.ts b/src/services/services.ts index 700b07085a0..3fcd4e8e151 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1600,10 +1600,10 @@ namespace ts { function makeGetTargetOfMappedPosition( extract: (original: TIn) => sourcemaps.SourceMappableLocation, - create: (result: sourcemaps.SourceMappableLocation, original: TIn) => TIn + create: (result: sourcemaps.SourceMappableLocation, unmapped: TIn, original: TIn) => TIn ) { return getTargetOfMappedPosition; - function getTargetOfMappedPosition(input: TIn): TIn { + function getTargetOfMappedPosition(input: TIn, original = input): TIn { const info = extract(input); if (endsWith(info.fileName, Extension.Dts)) { let file: SourceFileLike = program.getSourceFile(info.fileName); @@ -1617,7 +1617,7 @@ namespace ts { const mapper = getSourceMapper(info.fileName, file); const newLoc = mapper.getOriginalPosition(info); if (newLoc === info) return input; - return getTargetOfMappedPosition(create(newLoc, input)); + return getTargetOfMappedPosition(create(newLoc, input, original), original); } return input; } @@ -1625,7 +1625,7 @@ namespace ts { const getTargetOfMappedDeclarationInfo = makeGetTargetOfMappedPosition( (info: DefinitionInfo) => ({ fileName: info.fileName, position: info.textSpan.start }), - (newLoc, info) => ({ + (newLoc, info, original) => ({ containerKind: info.containerKind, containerName: info.containerName, fileName: newLoc.fileName, @@ -1634,12 +1634,14 @@ namespace ts { textSpan: { start: newLoc.position, length: info.textSpan.length - } + }, + originalFileName: original.fileName, + originalTextSpan: original.textSpan }) ); function getTargetOfMappedDeclarationFiles(infos: ReadonlyArray): DefinitionInfo[] { - return map(infos, getTargetOfMappedDeclarationInfo); + return map(infos, d => getTargetOfMappedDeclarationInfo(d)); } /// Goto definition @@ -1678,12 +1680,14 @@ namespace ts { textSpan: { start: newLoc.position, length: info.textSpan.length - } + }, + originalFileName: info.fileName, + originalTextSpan: info.textSpan }) ); function getTargetOfMappedImplementationLocations(infos: ReadonlyArray): ImplementationLocation[] { - return map(infos, getTargetOfMappedImplementationLocation); + return map(infos, d => getTargetOfMappedImplementationLocation(d)); } function getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[] { diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index 0c8ec58798c..f2961e19345 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -5,7 +5,9 @@ namespace ts { const checker = program.getDiagnosticsProducingTypeChecker(); const diags: Diagnostic[] = []; - if (sourceFile.commonJsModuleIndicator && (programContainsEs6Modules(program) || compilerOptionsIndicateEs6Modules(program.getCompilerOptions()))) { + if (sourceFile.commonJsModuleIndicator && + (programContainsEs6Modules(program) || compilerOptionsIndicateEs6Modules(program.getCompilerOptions())) && + containsTopLevelCommonjs(sourceFile)) { diags.push(createDiagnosticForNode(getErrorNodeFromCommonJsIndicator(sourceFile.commonJsModuleIndicator), Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); } @@ -61,6 +63,29 @@ namespace ts { return diags.concat(checker.getSuggestionDiagnostics(sourceFile)); } + // convertToEs6Module only works on top-level, so don't trigger it if commonjs code only appears in nested scopes. + function containsTopLevelCommonjs(sourceFile: SourceFile): boolean { + return sourceFile.statements.some(statement => { + switch (statement.kind) { + case SyntaxKind.VariableStatement: + return (statement as VariableStatement).declarationList.declarations.some(decl => + isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true)); + case SyntaxKind.ExpressionStatement: { + const { expression } = statement as ExpressionStatement; + if (!isBinaryExpression(expression)) return isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); + const kind = getSpecialPropertyAssignmentKind(expression); + return kind === SpecialPropertyAssignmentKind.ExportsProperty || kind === SpecialPropertyAssignmentKind.ModuleExports; + } + default: + return false; + } + }); + } + + function propertyAccessLeftHandSide(node: Expression): Expression { + return isPropertyAccessExpression(node) ? propertyAccessLeftHandSide(node.expression) : node; + } + function importNameForConvertToDefaultImport(node: AnyValidImportOrReExport): Identifier | undefined { switch (node.kind) { case SyntaxKind.ImportDeclaration: diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index de588120db1..3994259a640 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -320,10 +320,14 @@ namespace ts.textChanges { return this.replaceRangeWithNodes(sourceFile, getAdjustedRange(sourceFile, startNode, endNode, options), newNodes, options); } + private nextCommaToken (sourceFile: SourceFile, node: Node): Node | undefined { + const next = findNextToken(node, node.parent, sourceFile); + return next && next.kind === SyntaxKind.CommaToken ? next : undefined; + } + public replacePropertyAssignment(sourceFile: SourceFile, oldNode: PropertyAssignment, newNode: PropertyAssignment) { - return this.replaceNode(sourceFile, oldNode, newNode, { - suffix: "," + this.newLineCharacter - }); + const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : ("," + this.newLineCharacter); + return this.replaceNode(sourceFile, oldNode, newNode, { suffix }); } private insertNodeAt(sourceFile: SourceFile, pos: number, newNode: Node, options: InsertNodeOptions = {}) { @@ -360,7 +364,8 @@ namespace ts.textChanges { // Otherwise, add an extra new line immediately before the error span. const insertAtLineStart = isValidLocationToAddComment(sourceFile, startPosition); const token = getTouchingToken(sourceFile, insertAtLineStart ? startPosition : position, /*includeJsDocComment*/ false); - const text = `${insertAtLineStart ? "" : this.newLineCharacter}${sourceFile.text.slice(lineStartPosition, startPosition)}//${commentText}${this.newLineCharacter}`; + const indent = sourceFile.text.slice(lineStartPosition, startPosition); + const text = `${insertAtLineStart ? "" : this.newLineCharacter}//${commentText}${this.newLineCharacter}${indent}`; this.insertText(sourceFile, token.getStart(sourceFile), text); } @@ -464,6 +469,11 @@ namespace ts.textChanges { } } + public insertNodeAfterComma(sourceFile: SourceFile, after: Node, newNode: Node): void { + const endPosition = this.insertNodeAfterWorker(sourceFile, this.nextCommaToken(sourceFile, after) || after, newNode); + this.insertNodeAt(sourceFile, endPosition, newNode, this.getInsertNodeAfterOptions(sourceFile, after)); + } + public insertNodeAfter(sourceFile: SourceFile, after: Node, newNode: Node): void { const endPosition = this.insertNodeAfterWorker(sourceFile, after, newNode); this.insertNodeAt(sourceFile, endPosition, newNode, this.getInsertNodeAfterOptions(sourceFile, after)); @@ -719,7 +729,7 @@ namespace ts.textChanges { export function newFileChanges(oldFile: SourceFile, fileName: string, statements: ReadonlyArray, newLineCharacter: string): FileTextChanges { const text = statements.map(s => getNonformattedText(s, oldFile, newLineCharacter).text).join(newLineCharacter); - return { fileName, textChanges: [createTextChange(createTextSpan(0, 0), text)] }; + return { fileName, textChanges: [createTextChange(createTextSpan(0, 0), text)], isNewFile: true }; } function computeNewText(change: Change, sourceFile: SourceFile, newLineCharacter: string, formatContext: formatting.FormatContext, validate: ValidateNonFormattedText): string { diff --git a/src/services/types.ts b/src/services/types.ts index cf2e58a3712..0e9dbccbd1b 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -439,6 +439,7 @@ namespace ts { export interface FileTextChanges { fileName: string; textChanges: TextChange[]; + isNewFile?: boolean; } export interface CodeAction { @@ -542,6 +543,13 @@ namespace ts { export interface DocumentSpan { textSpan: TextSpan; fileName: string; + + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; } export interface RenameLocation extends DocumentSpan { @@ -654,9 +662,7 @@ namespace ts { indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; } - export interface DefinitionInfo { - fileName: string; - textSpan: TextSpan; + export interface DefinitionInfo extends DocumentSpan { kind: ScriptElementKind; name: string; containerKind: ScriptElementKind; diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 228af7afdb9..430dc2196e0 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -1188,7 +1188,8 @@ namespace ts { } /** Returns `true` the first time it encounters a node and `false` afterwards. */ - export function nodeSeenTracker(): (node: T) => boolean { + export type NodeSeenTracker = (node: T) => boolean; + export function nodeSeenTracker(): NodeSeenTracker { const seen: true[] = []; return node => { const id = getNodeId(node); diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index c069dbf4d04..67bd6cbe980 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -2248,6 +2248,7 @@ declare namespace ts { objectType: Type; indexType: Type; constraint?: Type; + simplified?: Type; } type TypeVariable = TypeParameter | IndexedAccessType; interface IndexType extends InstantiableType { @@ -2980,10 +2981,11 @@ declare namespace ts { readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; getModifiedTime?(path: string): Date; /** - * This should be cryptographically secure. * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) */ createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; getMemoryUsage?(): number; exit(exitCode?: number): void; realpath?(path: string): string; @@ -3858,6 +3860,7 @@ declare namespace ts { function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[]): T; function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; /** * Gets the constant value to emit for an expression. */ @@ -4615,6 +4618,7 @@ declare namespace ts { interface FileTextChanges { fileName: string; textChanges: TextChange[]; + isNewFile?: boolean; } interface CodeAction { /** Description of the code action to display in the UI of the editor */ @@ -4701,6 +4705,12 @@ declare namespace ts { interface DocumentSpan { textSpan: TextSpan; fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; } interface RenameLocation extends DocumentSpan { } @@ -4798,9 +4808,7 @@ declare namespace ts { insertSpaceBeforeTypeAnnotation?: boolean; indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; } - interface DefinitionInfo { - fileName: string; - textSpan: TextSpan; + interface DefinitionInfo extends DocumentSpan { kind: ScriptElementKind; name: string; containerKind: ScriptElementKind; @@ -7573,6 +7581,7 @@ declare namespace ts.server.protocol { */ readonly includeCompletionsWithInsertText?: boolean; readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + readonly allowTextChangesInNewFiles?: boolean; } interface CompilerOptions { allowJs?: boolean; @@ -7890,7 +7899,7 @@ declare namespace ts.server { private detachScriptInfoFromProject; private addMissingFileWatcher; private isWatchedMissingFile; - getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo; + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; getScriptInfo(uncheckedFileName: string): ScriptInfo; filesToString(writeProjectFileNames: boolean): string; setCompilerOptions(compilerOptions: CompilerOptions): void; @@ -8410,6 +8419,7 @@ declare namespace ts.server { private getDefinition; private getDefinitionAndBoundSpan; private mapDefinitionInfo; + private static mapToOriginalLocation; private toFileSpan; private getTypeDefinition; private getImplementation; @@ -8483,6 +8493,7 @@ declare namespace ts.server { private mapTextChangesToCodeEdits; private mapTextChangesToCodeEditsUsingScriptinfo; private convertTextChangeToCodeEdit; + private convertNewFileTextChangeToCodeEdit; private getBraceMatching; private getDiagnosticsForProject; getCanonicalFileName(fileName: string): string; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 4887de7fd2f..ef435632a36 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -2248,6 +2248,7 @@ declare namespace ts { objectType: Type; indexType: Type; constraint?: Type; + simplified?: Type; } type TypeVariable = TypeParameter | IndexedAccessType; interface IndexType extends InstantiableType { @@ -2980,10 +2981,11 @@ declare namespace ts { readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; getModifiedTime?(path: string): Date; /** - * This should be cryptographically secure. * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) */ createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; getMemoryUsage?(): number; exit(exitCode?: number): void; realpath?(path: string): string; @@ -3858,6 +3860,7 @@ declare namespace ts { function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[]): T; function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; /** * Gets the constant value to emit for an expression. */ @@ -4615,6 +4618,7 @@ declare namespace ts { interface FileTextChanges { fileName: string; textChanges: TextChange[]; + isNewFile?: boolean; } interface CodeAction { /** Description of the code action to display in the UI of the editor */ @@ -4701,6 +4705,12 @@ declare namespace ts { interface DocumentSpan { textSpan: TextSpan; fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; } interface RenameLocation extends DocumentSpan { } @@ -4798,9 +4808,7 @@ declare namespace ts { insertSpaceBeforeTypeAnnotation?: boolean; indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; } - interface DefinitionInfo { - fileName: string; - textSpan: TextSpan; + interface DefinitionInfo extends DocumentSpan { kind: ScriptElementKind; name: string; containerKind: ScriptElementKind; diff --git a/tests/baselines/reference/checkJsdocTypedefInParamTag1.types b/tests/baselines/reference/checkJsdocTypedefInParamTag1.types index b0847a71522..ffc7fe505e6 100644 --- a/tests/baselines/reference/checkJsdocTypedefInParamTag1.types +++ b/tests/baselines/reference/checkJsdocTypedefInParamTag1.types @@ -10,18 +10,18 @@ * @param {Opts} opts */ function foo(opts) { ->foo : (opts: { x: string; y?: string; z?: string; w?: string; }) => void ->opts : { x: string; y?: string; z?: string; w?: string; } +>foo : (opts: Opts) => void +>opts : Opts opts.x; >opts.x : string ->opts : { x: string; y?: string; z?: string; w?: string; } +>opts : Opts >x : string } foo({x: 'abc'}); >foo({x: 'abc'}) : void ->foo : (opts: { x: string; y?: string; z?: string; w?: string; }) => void +>foo : (opts: Opts) => void >{x: 'abc'} : { x: string; } >x : string >'abc' : "abc" @@ -34,18 +34,18 @@ foo({x: 'abc'}); * @param {AnotherOpts} opts */ function foo1(opts) { ->foo1 : (opts: { anotherX: string; anotherY?: string; }) => void ->opts : { anotherX: string; anotherY?: string; } +>foo1 : (opts: AnotherOpts) => void +>opts : AnotherOpts opts.anotherX; >opts.anotherX : string ->opts : { anotherX: string; anotherY?: string; } +>opts : AnotherOpts >anotherX : string } foo1({anotherX: "world"}); >foo1({anotherX: "world"}) : void ->foo1 : (opts: { anotherX: string; anotherY?: string; }) => void +>foo1 : (opts: AnotherOpts) => void >{anotherX: "world"} : { anotherX: string; } >anotherX : string >"world" : "world" @@ -60,17 +60,17 @@ foo1({anotherX: "world"}); * @param {Opts1} opts */ function foo2(opts) { ->foo2 : (opts: { x: string; y?: string; z?: string; w?: string; }) => void ->opts : { x: string; y?: string; z?: string; w?: string; } +>foo2 : (opts: Opts1) => void +>opts : Opts1 opts.x; >opts.x : string ->opts : { x: string; y?: string; z?: string; w?: string; } +>opts : Opts1 >x : string } foo2({x: 'abc'}); >foo2({x: 'abc'}) : void ->foo2 : (opts: { x: string; y?: string; z?: string; w?: string; }) => void +>foo2 : (opts: Opts1) => void >{x: 'abc'} : { x: string; } >x : string >'abc' : "abc" diff --git a/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.js b/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.js new file mode 100644 index 00000000000..4448a5b8589 --- /dev/null +++ b/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.js @@ -0,0 +1,6 @@ +//// [circularConstrainedMappedTypeNoCrash.ts] +type Loop> = { + [P in keyof T]: U[P] extends boolean ? number : string; +}; + +//// [circularConstrainedMappedTypeNoCrash.js] diff --git a/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.symbols b/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.symbols new file mode 100644 index 00000000000..a83439bafb9 --- /dev/null +++ b/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.symbols @@ -0,0 +1,16 @@ +=== tests/cases/compiler/circularConstrainedMappedTypeNoCrash.ts === +type Loop> = { +>Loop : Symbol(Loop, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 0)) +>T : Symbol(T, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 10)) +>U : Symbol(U, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 12)) +>Loop : Symbol(Loop, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 0)) +>T : Symbol(T, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 10)) +>U : Symbol(U, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 12)) + + [P in keyof T]: U[P] extends boolean ? number : string; +>P : Symbol(P, Decl(circularConstrainedMappedTypeNoCrash.ts, 1, 5)) +>T : Symbol(T, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 10)) +>U : Symbol(U, Decl(circularConstrainedMappedTypeNoCrash.ts, 0, 12)) +>P : Symbol(P, Decl(circularConstrainedMappedTypeNoCrash.ts, 1, 5)) + +}; diff --git a/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.types b/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.types new file mode 100644 index 00000000000..315fa8351c1 --- /dev/null +++ b/tests/baselines/reference/circularConstrainedMappedTypeNoCrash.types @@ -0,0 +1,16 @@ +=== tests/cases/compiler/circularConstrainedMappedTypeNoCrash.ts === +type Loop> = { +>Loop : Loop +>T : T +>U : U +>Loop : Loop +>T : T +>U : U + + [P in keyof T]: U[P] extends boolean ? number : string; +>P : P +>T : T +>U : U +>P : P + +}; diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json index d592022e2e1..d75683d210f 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json @@ -40,6 +40,7 @@ "File '/node_modules/a/node_modules/foo.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' does not have a 'main' field.", "File '/node_modules/a/node_modules/foo/index.ts' does not exist.", "File '/node_modules/a/node_modules/foo/index.tsx' does not exist.", "File '/node_modules/a/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json index 108873d70f9..7b07ecd66e4 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json @@ -40,6 +40,7 @@ "File '/node_modules/a/node_modules/@foo/bar.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' does not have a 'main' field.", "File '/node_modules/a/node_modules/@foo/bar/index.ts' does not exist.", "File '/node_modules/a/node_modules/@foo/bar/index.tsx' does not exist.", "File '/node_modules/a/node_modules/@foo/bar/index.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/jsContainerMergeJsContainer.symbols b/tests/baselines/reference/jsContainerMergeJsContainer.symbols new file mode 100644 index 00000000000..1f4728d50de --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeJsContainer.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/salsa/a.js === +// #24131 +const a = {}; +>a : Symbol(a, Decl(a.js, 1, 5), Decl(a.js, 1, 13), Decl(b.js, 0, 0)) + +a.d = function() {}; +>a.d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>a : Symbol(a, Decl(a.js, 1, 5), Decl(a.js, 1, 13), Decl(b.js, 0, 0)) +>d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) + +=== tests/cases/conformance/salsa/b.js === +a.d.prototype = {}; +>a.d.prototype : Symbol(d.prototype, Decl(b.js, 0, 0)) +>a.d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>a : Symbol(a, Decl(a.js, 1, 5), Decl(a.js, 1, 13), Decl(b.js, 0, 0)) +>d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>prototype : Symbol(d.prototype, Decl(b.js, 0, 0)) + diff --git a/tests/baselines/reference/jsContainerMergeJsContainer.types b/tests/baselines/reference/jsContainerMergeJsContainer.types new file mode 100644 index 00000000000..fa5c74f5b05 --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeJsContainer.types @@ -0,0 +1,23 @@ +=== tests/cases/conformance/salsa/a.js === +// #24131 +const a = {}; +>a : { [x: string]: any; d: typeof d; } +>{} : { [x: string]: any; d: typeof d; } + +a.d = function() {}; +>a.d = function() {} : typeof d +>a.d : typeof d +>a : { [x: string]: any; d: typeof d; } +>d : typeof d +>function() {} : typeof d + +=== tests/cases/conformance/salsa/b.js === +a.d.prototype = {}; +>a.d.prototype = {} : { [x: string]: any; } +>a.d.prototype : { [x: string]: any; } +>a.d : typeof d +>a : { [x: string]: any; d: typeof d; } +>d : typeof d +>prototype : { [x: string]: any; } +>{} : { [x: string]: any; } + diff --git a/tests/baselines/reference/jsDocTypedef1.js b/tests/baselines/reference/jsDocTypedef1.js index e1b34f14c2b..bc00dcafb5d 100644 --- a/tests/baselines/reference/jsDocTypedef1.js +++ b/tests/baselines/reference/jsDocTypedef1.js @@ -41,140 +41,8 @@ "kind": "space" }, { - "text": "{", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "x", - "kind": "propertyName" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "string", - "kind": "keyword" - }, - { - "text": ";", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "y", - "kind": "propertyName" - }, - { - "text": "?", - "kind": "punctuation" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "string", - "kind": "keyword" - }, - { - "text": ";", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "z", - "kind": "propertyName" - }, - { - "text": "?", - "kind": "punctuation" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "string", - "kind": "keyword" - }, - { - "text": ";", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "w", - "kind": "propertyName" - }, - { - "text": "?", - "kind": "punctuation" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "string", - "kind": "keyword" - }, - { - "text": ";", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": "}", - "kind": "punctuation" + "text": "Opts", + "kind": "aliasName" } ], "documentation": [], diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types index 5737f8caaf9..787d9ab106b 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types @@ -79,7 +79,7 @@ z.u = false */ /** @type {A} */ const options = { value: null }; ->options : { value: any; } +>options : A >{ value: null } : { value: null; } >value : null >null : null diff --git a/tests/baselines/reference/jsdocTypedefMissingType.types b/tests/baselines/reference/jsdocTypedefMissingType.types index 18cd68abfcb..b161c6ca489 100644 --- a/tests/baselines/reference/jsdocTypedefMissingType.types +++ b/tests/baselines/reference/jsdocTypedefMissingType.types @@ -14,7 +14,7 @@ const t = 0; /** @type Person */ const person = { name: "" }; ->person : { name: string; } +>person : Person >{ name: "" } : { name: string; } >name : string >"" : "" diff --git a/tests/baselines/reference/jsdocTypedef_propertyWithNoType.types b/tests/baselines/reference/jsdocTypedef_propertyWithNoType.types index 7d7326fc80c..553c1b544ae 100644 --- a/tests/baselines/reference/jsdocTypedef_propertyWithNoType.types +++ b/tests/baselines/reference/jsdocTypedef_propertyWithNoType.types @@ -6,7 +6,7 @@ /** @type {Foo} */ const x = { foo: 0 }; ->x : { foo: any; } +>x : Foo >{ foo: 0 } : { foo: number; } >foo : number >0 : 0 diff --git a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.js b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.js new file mode 100644 index 00000000000..f431e1224cc --- /dev/null +++ b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.js @@ -0,0 +1,25 @@ +//// [jsxNestedWithinTernaryParsesCorrectly.tsx] +const emptyMessage = null as any; +const a = ( +
+ {0 ? ( + emptyMessage // must be identifier? + ) : ( + // must be exactly two expression holes + + {0}{0} + + )} +
+); + +//// [jsxNestedWithinTernaryParsesCorrectly.jsx] +var emptyMessage = null; +var a = (
+ {0 ? (emptyMessage // must be identifier? +) : ( +// must be exactly two expression holes + + {0}{0} + )} +
); diff --git a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.symbols b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.symbols new file mode 100644 index 00000000000..73ee27251ae --- /dev/null +++ b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.symbols @@ -0,0 +1,20 @@ +=== tests/cases/compiler/jsxNestedWithinTernaryParsesCorrectly.tsx === +const emptyMessage = null as any; +>emptyMessage : Symbol(emptyMessage, Decl(jsxNestedWithinTernaryParsesCorrectly.tsx, 0, 5)) + +const a = ( +>a : Symbol(a, Decl(jsxNestedWithinTernaryParsesCorrectly.tsx, 1, 5)) + +
+ {0 ? ( + emptyMessage // must be identifier? +>emptyMessage : Symbol(emptyMessage, Decl(jsxNestedWithinTernaryParsesCorrectly.tsx, 0, 5)) + + ) : ( + // must be exactly two expression holes + + {0}{0} + + )} +
+); diff --git a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types new file mode 100644 index 00000000000..0daa04fc39f --- /dev/null +++ b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types @@ -0,0 +1,42 @@ +=== tests/cases/compiler/jsxNestedWithinTernaryParsesCorrectly.tsx === +const emptyMessage = null as any; +>emptyMessage : any +>null as any : any +>null : null + +const a = ( +>a : any +>(
{0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} )}
) : any + +
+>
{0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} )}
: any +>div : any + + {0 ? ( +>0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} ) : any +>0 : 0 +>( emptyMessage // must be identifier? ) : any + + emptyMessage // must be identifier? +>emptyMessage : any + + ) : ( +>( // must be exactly two expression holes {0}{0} ) : any + + // must be exactly two expression holes + +> {0}{0} : any +>span : any + + {0}{0} +>0 : 0 +>0 : 0 + + +>span : any + + )} +
+>div : any + +); diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json index 5f32a4bf511..60cdab44a29 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json @@ -11,6 +11,14 @@ "File '/node_modules/normalize.css.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'normalize.css' that references '/node_modules/normalize.css/normalize.css'.", + "File '/node_modules/normalize.css/normalize.css' exist - use it as a name resolution result.", + "File '/node_modules/normalize.css/normalize.css' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/normalize.css/normalize.css', target file type 'TypeScript'.", + "File '/node_modules/normalize.css/normalize.css.ts' does not exist.", + "File '/node_modules/normalize.css/normalize.css.tsx' does not exist.", + "File '/node_modules/normalize.css/normalize.css.d.ts' does not exist.", + "Directory '/node_modules/normalize.css/normalize.css' does not exist, skipping all lookups in it.", "File '/node_modules/normalize.css/index.ts' does not exist.", "File '/node_modules/normalize.css/index.tsx' does not exist.", "File '/node_modules/normalize.css/index.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.js b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.js new file mode 100644 index 00000000000..1aa0a624d8d --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts] //// + +//// [package.json] +{ "name": "foo", "version": "1.2.3", "main": "src/index.js" } + +//// [index.d.ts] +export const x: number; + +//// [index.ts] +import { x } from "foo"; + + +//// [index.js] +"use strict"; +exports.__esModule = true; diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.symbols b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.symbols new file mode 100644 index 00000000000..7a5c1d7ea27 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.symbols @@ -0,0 +1,8 @@ +=== /node_modules/foo/src/index.d.ts === +export const x: number; +>x : Symbol(x, Decl(index.d.ts, 0, 12)) + +=== /index.ts === +import { x } from "foo"; +>x : Symbol(x, Decl(index.ts, 0, 8)) + diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json new file mode 100644 index 00000000000..849b65ee59f --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json @@ -0,0 +1,26 @@ +[ + "======== Resolving module 'foo' from '/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "'package.json' does not have a 'typings' field.", + "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'src/index.js' that references '/node_modules/foo/src/index.js'.", + "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/src/index.d.ts@1.2.3'.", + "File '/node_modules/foo.ts' does not exist.", + "File '/node_modules/foo.tsx' does not exist.", + "File '/node_modules/foo.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'src/index.js' that references '/node_modules/foo/src/index.js'.", + "File '/node_modules/foo/src/index.js' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/foo/src/index.js', target file type 'TypeScript'.", + "File '/node_modules/foo/src/index.js.ts' does not exist.", + "File '/node_modules/foo/src/index.js.tsx' does not exist.", + "File '/node_modules/foo/src/index.js.d.ts' does not exist.", + "File name '/node_modules/foo/src/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/foo/src/index.ts' does not exist.", + "File '/node_modules/foo/src/index.tsx' does not exist.", + "File '/node_modules/foo/src/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/node_modules/foo/src/index.d.ts', result '/node_modules/foo/src/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/node_modules/foo/src/index.d.ts'. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.types b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.types new file mode 100644 index 00000000000..e0ae051e59f --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.types @@ -0,0 +1,8 @@ +=== /node_modules/foo/src/index.d.ts === +export const x: number; +>x : number + +=== /index.ts === +import { x } from "foo"; +>x : number + diff --git a/tests/baselines/reference/packageJsonMain.trace.json b/tests/baselines/reference/packageJsonMain.trace.json index 6d39b9d4a7b..06c8cff6643 100644 --- a/tests/baselines/reference/packageJsonMain.trace.json +++ b/tests/baselines/reference/packageJsonMain.trace.json @@ -11,6 +11,13 @@ "File '/node_modules/foo.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", + "File '/node_modules/foo/oof' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/foo/oof', target file type 'TypeScript'.", + "File '/node_modules/foo/oof.ts' does not exist.", + "File '/node_modules/foo/oof.tsx' does not exist.", + "File '/node_modules/foo/oof.d.ts' does not exist.", + "Directory '/node_modules/foo/oof' does not exist, skipping all lookups in it.", "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.tsx' does not exist.", "File '/node_modules/foo/index.d.ts' does not exist.", @@ -40,6 +47,18 @@ "File '/node_modules/bar.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'rab.js' that references '/node_modules/bar/rab.js'.", + "File '/node_modules/bar/rab.js' exist - use it as a name resolution result.", + "File '/node_modules/bar/rab.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/bar/rab.js', target file type 'TypeScript'.", + "File '/node_modules/bar/rab.js.ts' does not exist.", + "File '/node_modules/bar/rab.js.tsx' does not exist.", + "File '/node_modules/bar/rab.js.d.ts' does not exist.", + "File name '/node_modules/bar/rab.js' has a '.js' extension - stripping it.", + "File '/node_modules/bar/rab.ts' does not exist.", + "File '/node_modules/bar/rab.tsx' does not exist.", + "File '/node_modules/bar/rab.d.ts' does not exist.", + "Directory '/node_modules/bar/rab.js' does not exist, skipping all lookups in it.", "File '/node_modules/bar/index.ts' does not exist.", "File '/node_modules/bar/index.tsx' does not exist.", "File '/node_modules/bar/index.d.ts' does not exist.", @@ -67,6 +86,15 @@ "File '/node_modules/baz.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'zab' that references '/node_modules/baz/zab'.", + "File '/node_modules/baz/zab' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/baz/zab', target file type 'TypeScript'.", + "File '/node_modules/baz/zab.ts' does not exist.", + "File '/node_modules/baz/zab.tsx' does not exist.", + "File '/node_modules/baz/zab.d.ts' does not exist.", + "File '/node_modules/baz/zab/index.ts' does not exist.", + "File '/node_modules/baz/zab/index.tsx' does not exist.", + "File '/node_modules/baz/zab/index.d.ts' does not exist.", "File '/node_modules/baz/index.ts' does not exist.", "File '/node_modules/baz/index.tsx' does not exist.", "File '/node_modules/baz/index.d.ts' does not exist.", diff --git a/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json b/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json index 81f5be11a6d..a2878a2a4fe 100644 --- a/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json +++ b/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json @@ -11,6 +11,15 @@ "File '/node_modules/foo.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", + "File '/node_modules/foo/oof' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/foo/oof', target file type 'TypeScript'.", + "File '/node_modules/foo/oof.ts' does not exist.", + "File '/node_modules/foo/oof.tsx' does not exist.", + "File '/node_modules/foo/oof.d.ts' does not exist.", + "File '/node_modules/foo/oof/index.ts' does not exist.", + "File '/node_modules/foo/oof/index.tsx' does not exist.", + "File '/node_modules/foo/oof/index.d.ts' does not exist.", "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.tsx' does not exist.", "File '/node_modules/foo/index.d.ts' does not exist.", diff --git a/tests/baselines/reference/parenthesizedArrowExpressionASI.js b/tests/baselines/reference/parenthesizedArrowExpressionASI.js new file mode 100644 index 00000000000..d27ddfb1216 --- /dev/null +++ b/tests/baselines/reference/parenthesizedArrowExpressionASI.js @@ -0,0 +1,11 @@ +//// [parenthesizedArrowExpressionASI.ts] +const x = (a: any[]) => ( + // comment + undefined as number +); + + +//// [parenthesizedArrowExpressionASI.js] +var x = function (a) { return ( +// comment +undefined); }; diff --git a/tests/baselines/reference/parenthesizedArrowExpressionASI.symbols b/tests/baselines/reference/parenthesizedArrowExpressionASI.symbols new file mode 100644 index 00000000000..25b3669cca3 --- /dev/null +++ b/tests/baselines/reference/parenthesizedArrowExpressionASI.symbols @@ -0,0 +1,11 @@ +=== tests/cases/compiler/parenthesizedArrowExpressionASI.ts === +const x = (a: any[]) => ( +>x : Symbol(x, Decl(parenthesizedArrowExpressionASI.ts, 0, 5)) +>a : Symbol(a, Decl(parenthesizedArrowExpressionASI.ts, 0, 11)) + + // comment + undefined as number +>undefined : Symbol(undefined) + +); + diff --git a/tests/baselines/reference/parenthesizedArrowExpressionASI.types b/tests/baselines/reference/parenthesizedArrowExpressionASI.types new file mode 100644 index 00000000000..43af9b4b4f8 --- /dev/null +++ b/tests/baselines/reference/parenthesizedArrowExpressionASI.types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/parenthesizedArrowExpressionASI.ts === +const x = (a: any[]) => ( +>x : (a: any[]) => number +>(a: any[]) => ( // comment undefined as number) : (a: any[]) => number +>a : any[] +>( // comment undefined as number) : number + + // comment + undefined as number +>undefined as number : number +>undefined : undefined + +); + diff --git a/tests/baselines/reference/transformApi/transformsCorrectly.transformAddCommentToArrowReturnValue.js b/tests/baselines/reference/transformApi/transformsCorrectly.transformAddCommentToArrowReturnValue.js new file mode 100644 index 00000000000..37ff0597054 --- /dev/null +++ b/tests/baselines/reference/transformApi/transformsCorrectly.transformAddCommentToArrowReturnValue.js @@ -0,0 +1,4 @@ +var foo = function () { + //// comment! + return void 0; +}; diff --git a/tests/baselines/reference/typedefTagNested.types b/tests/baselines/reference/typedefTagNested.types index 6fe8c251205..52707d55cec 100644 --- a/tests/baselines/reference/typedefTagNested.types +++ b/tests/baselines/reference/typedefTagNested.types @@ -10,7 +10,7 @@ var ex; /** @type {App} */ const app = { ->app : { name: string; icons: { image32: string; image64: string; }; } +>app : App >{ name: 'name', icons: { image32: 'x.png', image64: 'y.png', }} : { name: string; icons: { image32: string; image64: string; }; } name: 'name', @@ -40,5 +40,5 @@ const app = { /** @type {Opp} */ var mistake; ->mistake : { name: string; oops: { horrible: string; }; } +>mistake : Opp diff --git a/tests/baselines/reference/unusedDestructuring.errors.txt b/tests/baselines/reference/unusedDestructuring.errors.txt index 6f6bb82d9d0..c148eea620a 100644 --- a/tests/baselines/reference/unusedDestructuring.errors.txt +++ b/tests/baselines/reference/unusedDestructuring.errors.txt @@ -1,13 +1,14 @@ tests/cases/compiler/unusedDestructuring.ts(3,7): error TS6198: All destructured elements are unused. tests/cases/compiler/unusedDestructuring.ts(4,9): error TS6133: 'c' is declared but its value is never read. tests/cases/compiler/unusedDestructuring.ts(6,7): error TS6133: 'e' is declared but its value is never read. -tests/cases/compiler/unusedDestructuring.ts(8,1): error TS6133: 'f' is declared but its value is never read. -tests/cases/compiler/unusedDestructuring.ts(8,12): error TS6198: All destructured elements are unused. -tests/cases/compiler/unusedDestructuring.ts(8,24): error TS6133: 'c' is declared but its value is never read. -tests/cases/compiler/unusedDestructuring.ts(8,32): error TS6133: 'e' is declared but its value is never read. +tests/cases/compiler/unusedDestructuring.ts(7,7): error TS6133: 'g' is declared but its value is never read. +tests/cases/compiler/unusedDestructuring.ts(9,1): error TS6133: 'f' is declared but its value is never read. +tests/cases/compiler/unusedDestructuring.ts(9,12): error TS6198: All destructured elements are unused. +tests/cases/compiler/unusedDestructuring.ts(9,24): error TS6133: 'c' is declared but its value is never read. +tests/cases/compiler/unusedDestructuring.ts(9,32): error TS6133: 'e' is declared but its value is never read. -==== tests/cases/compiler/unusedDestructuring.ts (7 errors) ==== +==== tests/cases/compiler/unusedDestructuring.ts (8 errors) ==== export {}; declare const o: any; const { a, b } = o; @@ -20,6 +21,9 @@ tests/cases/compiler/unusedDestructuring.ts(8,32): error TS6133: 'e' is declared const { e } = o; ~~~~~ !!! error TS6133: 'e' is declared but its value is never read. + const { f: g } = o; + ~~~~~~~~ +!!! error TS6133: 'g' is declared but its value is never read. function f({ a, b }, { c, d }, { e }) { ~~~~~~~~~~ diff --git a/tests/baselines/reference/unusedDestructuring.js b/tests/baselines/reference/unusedDestructuring.js index d025b226542..afac434cfaf 100644 --- a/tests/baselines/reference/unusedDestructuring.js +++ b/tests/baselines/reference/unusedDestructuring.js @@ -5,6 +5,7 @@ const { a, b } = o; const { c, d } = o; d; const { e } = o; +const { f: g } = o; function f({ a, b }, { c, d }, { e }) { d; @@ -18,6 +19,7 @@ var a = o.a, b = o.b; var c = o.c, d = o.d; d; var e = o.e; +var g = o.f; function f(_a, _b, _c) { var a = _a.a, b = _a.b; var c = _b.c, d = _b.d; diff --git a/tests/baselines/reference/unusedDestructuring.symbols b/tests/baselines/reference/unusedDestructuring.symbols index 0490774919b..c7767480eb8 100644 --- a/tests/baselines/reference/unusedDestructuring.symbols +++ b/tests/baselines/reference/unusedDestructuring.symbols @@ -20,15 +20,19 @@ const { e } = o; >e : Symbol(e, Decl(unusedDestructuring.ts, 5, 7)) >o : Symbol(o, Decl(unusedDestructuring.ts, 1, 13)) +const { f: g } = o; +>g : Symbol(g, Decl(unusedDestructuring.ts, 6, 7)) +>o : Symbol(o, Decl(unusedDestructuring.ts, 1, 13)) + function f({ a, b }, { c, d }, { e }) { ->f : Symbol(f, Decl(unusedDestructuring.ts, 5, 16)) ->a : Symbol(a, Decl(unusedDestructuring.ts, 7, 12)) ->b : Symbol(b, Decl(unusedDestructuring.ts, 7, 15)) ->c : Symbol(c, Decl(unusedDestructuring.ts, 7, 22)) ->d : Symbol(d, Decl(unusedDestructuring.ts, 7, 25)) ->e : Symbol(e, Decl(unusedDestructuring.ts, 7, 32)) +>f : Symbol(f, Decl(unusedDestructuring.ts, 6, 19)) +>a : Symbol(a, Decl(unusedDestructuring.ts, 8, 12)) +>b : Symbol(b, Decl(unusedDestructuring.ts, 8, 15)) +>c : Symbol(c, Decl(unusedDestructuring.ts, 8, 22)) +>d : Symbol(d, Decl(unusedDestructuring.ts, 8, 25)) +>e : Symbol(e, Decl(unusedDestructuring.ts, 8, 32)) d; ->d : Symbol(d, Decl(unusedDestructuring.ts, 7, 25)) +>d : Symbol(d, Decl(unusedDestructuring.ts, 8, 25)) } diff --git a/tests/baselines/reference/unusedDestructuring.types b/tests/baselines/reference/unusedDestructuring.types index 605f08c3bbd..bbc40cd359b 100644 --- a/tests/baselines/reference/unusedDestructuring.types +++ b/tests/baselines/reference/unusedDestructuring.types @@ -20,6 +20,11 @@ const { e } = o; >e : any >o : any +const { f: g } = o; +>f : any +>g : any +>o : any + function f({ a, b }, { c, d }, { e }) { >f : ({ a, b }: { a: any; b: any; }, { c, d }: { c: any; d: any; }, { e }: { e: any; }) => void >a : any diff --git a/tests/baselines/reference/user/adonis-framework.log b/tests/baselines/reference/user/adonis-framework.log index 7aa54360438..727d325b6d0 100644 --- a/tests/baselines/reference/user/adonis-framework.log +++ b/tests/baselines/reference/user/adonis-framework.log @@ -146,6 +146,12 @@ node_modules/adonis-framework/src/Session/Drivers/File/index.js(79,15): error TS node_modules/adonis-framework/src/Session/Drivers/Redis/index.js(23,14): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. node_modules/adonis-framework/src/Session/Drivers/Redis/index.js(59,15): error TS2322: Type 'IterableIterator' is not assignable to type 'boolean'. node_modules/adonis-framework/src/Session/Drivers/Redis/index.js(72,15): error TS2322: Type 'IterableIterator' is not assignable to type 'boolean'. +node_modules/adonis-framework/src/Session/SessionManager.js(13,21): error TS2307: Cannot find module 'adonis-fold'. +node_modules/adonis-framework/src/Session/SessionManager.js(69,22): error TS2339: Property 'drivers' does not exist on type 'Function'. +node_modules/adonis-framework/src/Session/SessionManager.js(69,49): error TS2339: Property 'drivers' does not exist on type 'Function'. +node_modules/adonis-framework/src/Session/SessionManager.js(71,76): error TS2339: Property 'drivers' does not exist on type 'Function'. +node_modules/adonis-framework/src/Session/Store.js(28,13): error TS2304: Cannot find name 'Mixed'. +node_modules/adonis-framework/src/Session/Store.js(80,13): error TS2304: Cannot find name 'Mixed'. node_modules/adonis-framework/src/Session/index.js(10,14): error TS2304: Cannot find name 'SessionDriver'. node_modules/adonis-framework/src/Session/index.js(11,2): error TS1003: Identifier expected. node_modules/adonis-framework/src/Session/index.js(11,11): error TS2304: Cannot find name 'Class'. @@ -173,12 +179,6 @@ node_modules/adonis-framework/src/Session/index.js(249,15): error TS2304: Cannot node_modules/adonis-framework/src/Session/index.js(267,15): error TS2304: Cannot find name 'Mixed'. node_modules/adonis-framework/src/Session/index.js(287,15): error TS2322: Type 'IterableIterator' is not assignable to type 'boolean'. node_modules/adonis-framework/src/Session/index.js(293,12): error TS2532: Object is possibly 'undefined'. -node_modules/adonis-framework/src/Session/SessionManager.js(13,21): error TS2307: Cannot find module 'adonis-fold'. -node_modules/adonis-framework/src/Session/SessionManager.js(69,22): error TS2339: Property 'drivers' does not exist on type 'Function'. -node_modules/adonis-framework/src/Session/SessionManager.js(69,49): error TS2339: Property 'drivers' does not exist on type 'Function'. -node_modules/adonis-framework/src/Session/SessionManager.js(71,76): error TS2339: Property 'drivers' does not exist on type 'Function'. -node_modules/adonis-framework/src/Session/Store.js(28,13): error TS2304: Cannot find name 'Mixed'. -node_modules/adonis-framework/src/Session/Store.js(80,13): error TS2304: Cannot find name 'Mixed'. node_modules/adonis-framework/src/View/Form/index.js(75,11): error TS2532: Object is possibly 'undefined'. node_modules/adonis-framework/src/View/Form/index.js(115,15): error TS2304: Cannot find name 'Mixed'. node_modules/adonis-framework/src/View/Form/index.js(147,63): error TS2345: Argument of type 'string | any[]' is not assignable to parameter of type 'any[]'. diff --git a/tests/baselines/reference/user/async.log b/tests/baselines/reference/user/async.log index c78c122343c..8c2d96b1b6d 100644 --- a/tests/baselines/reference/user/async.log +++ b/tests/baselines/reference/user/async.log @@ -43,8 +43,8 @@ node_modules/async/auto.js(159,18): error TS2695: Left side of comma operator is node_modules/async/auto.js(159,50): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/autoInject.js(44,17): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/autoInject.js(134,6): error TS2695: Left side of comma operator is unused and has no side effects. -node_modules/async/autoInject.js(136,25): error TS2532: Object is possibly 'undefined'. node_modules/async/autoInject.js(136,25): error TS2722: Cannot invoke an object which is possibly 'undefined'. +node_modules/async/autoInject.js(136,25): error TS2532: Object is possibly 'undefined'. node_modules/async/autoInject.js(136,26): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/autoInject.js(139,14): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/autoInject.js(160,28): error TS2695: Left side of comma operator is unused and has no side effects. @@ -145,9 +145,9 @@ node_modules/async/dist/async.js(2963,25): error TS2722: Cannot invoke an object node_modules/async/dist/async.js(2970,25): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/async/dist/async.js(2971,28): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/async/dist/async.js(3005,25): error TS2722: Cannot invoke an object which is possibly 'undefined'. -node_modules/async/dist/async.js(3008,9): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(3008,9): error TS2684: The 'this' context of type 'Function | undefined' is not assignable to method's 'this' of type 'Function'. Type 'undefined' is not assignable to type 'Function'. +node_modules/async/dist/async.js(3008,9): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(3081,25): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/async/dist/async.js(3086,25): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/async/dist/async.js(3087,28): error TS2722: Cannot invoke an object which is possibly 'undefined'. @@ -175,18 +175,18 @@ node_modules/async/dist/async.js(4153,14): error TS2339: Property 'unshift' does node_modules/async/dist/async.js(4367,5): error TS2322: Type 'any[] | {}' is not assignable to type 'any[]'. Type '{}' is not assignable to type 'any[]'. Property 'flatMap' is missing in type '{}'. -node_modules/async/dist/async.js(4603,17): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(4603,17): error TS2684: The 'this' context of type 'Function | undefined' is not assignable to method's 'this' of type 'Function'. Type 'undefined' is not assignable to type 'Function'. +node_modules/async/dist/async.js(4603,17): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(4917,19): error TS2339: Property 'code' does not exist on type 'Error'. node_modules/async/dist/async.js(4919,23): error TS2339: Property 'info' does not exist on type 'Error'. node_modules/async/dist/async.js(5090,9): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/async/dist/async.js(5146,9): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/async/dist/async.js(5165,20): error TS2339: Property 'unmemoized' does not exist on type 'Function'. node_modules/async/dist/async.js(5208,25): error TS2722: Cannot invoke an object which is possibly 'undefined'. -node_modules/async/dist/async.js(5211,9): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(5211,9): error TS2684: The 'this' context of type 'Function | undefined' is not assignable to method's 'this' of type 'Function'. Type 'undefined' is not assignable to type 'Function'. +node_modules/async/dist/async.js(5211,9): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(5315,20): error TS2532: Object is possibly 'undefined'. node_modules/async/dist/async.js(5315,20): error TS2684: The 'this' context of type 'Function | undefined' is not assignable to method's 'this' of type 'Function'. Type 'undefined' is not assignable to type 'Function'. @@ -240,8 +240,8 @@ node_modules/async/eachSeries.js(28,12): error TS2304: Cannot find name 'AsyncFu node_modules/async/eachSeries.js(36,20): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/ensureAsync.js(34,12): error TS2304: Cannot find name 'AsyncFunction'. node_modules/async/ensureAsync.js(36,14): error TS2304: Cannot find name 'AsyncFunction'. -node_modules/async/ensureAsync.js(56,9): error TS2532: Object is possibly 'undefined'. node_modules/async/ensureAsync.js(56,9): error TS2722: Cannot invoke an object which is possibly 'undefined'. +node_modules/async/ensureAsync.js(56,9): error TS2532: Object is possibly 'undefined'. node_modules/async/ensureAsync.js(56,10): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/ensureAsync.js(57,13): error TS2695: Left side of comma operator is unused and has no side effects. node_modules/async/ensureAsync.js(62,18): error TS2695: Left side of comma operator is unused and has no side effects. diff --git a/tests/baselines/reference/user/bcryptjs.log b/tests/baselines/reference/user/bcryptjs.log index 1289e0a392d..306680eacd5 100644 --- a/tests/baselines/reference/user/bcryptjs.log +++ b/tests/baselines/reference/user/bcryptjs.log @@ -3,13 +3,6 @@ Standard output: node_modules/bcryptjs/scripts/build.js(1,26): error TS2307: Cannot find module 'metascript'. node_modules/bcryptjs/scripts/build.js(32,1): error TS2322: Type '{ VERSION: any; }' is not assignable to type '{ [x: string]: any; VERSION: any; ISAAC: boolean; }'. Property 'ISAAC' is missing in type '{ VERSION: any; }'. -node_modules/bcryptjs/src/bcrypt.js(25,13): error TS2322: Type 'Buffer' is not assignable to type 'number[]'. - Property 'flatMap' is missing in type 'Buffer'. -node_modules/bcryptjs/src/bcrypt.js(94,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. -node_modules/bcryptjs/src/bcrypt.js(150,5): error TS2322: Type 'string | undefined' is not assignable to type 'string'. - Type 'undefined' is not assignable to type 'string'. -node_modules/bcryptjs/src/bcrypt.js(160,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. -node_modules/bcryptjs/src/bcrypt.js(238,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. node_modules/bcryptjs/src/bcrypt/impl.js(516,22): error TS2345: Argument of type 'Int32Array | number[]' is not assignable to parameter of type 'number[]'. Type 'Int32Array' is not assignable to type 'number[]'. Property 'flatMap' is missing in type 'Int32Array'. @@ -27,6 +20,13 @@ node_modules/bcryptjs/src/bcrypt/prng/accum.js(65,74): error TS2339: Property 'd node_modules/bcryptjs/src/bcrypt/prng/accum.js(66,22): error TS2339: Property 'detachEvent' does not exist on type 'Document'. node_modules/bcryptjs/src/bcrypt/prng/accum.js(67,22): error TS2339: Property 'detachEvent' does not exist on type 'Document'. node_modules/bcryptjs/src/bcrypt/util.js(20,5): error TS2304: Cannot find name 'utfx'. +node_modules/bcryptjs/src/bcrypt.js(25,13): error TS2322: Type 'Buffer' is not assignable to type 'number[]'. + Property 'flatMap' is missing in type 'Buffer'. +node_modules/bcryptjs/src/bcrypt.js(94,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. +node_modules/bcryptjs/src/bcrypt.js(150,5): error TS2322: Type 'string | undefined' is not assignable to type 'string'. + Type 'undefined' is not assignable to type 'string'. +node_modules/bcryptjs/src/bcrypt.js(160,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. +node_modules/bcryptjs/src/bcrypt.js(238,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. node_modules/bcryptjs/src/wrap.js(37,26): error TS2304: Cannot find name 'define'. node_modules/bcryptjs/src/wrap.js(37,51): error TS2304: Cannot find name 'define'. node_modules/bcryptjs/src/wrap.js(38,9): error TS2304: Cannot find name 'define'. diff --git a/tests/baselines/reference/user/chrome-devtools-frontend.log b/tests/baselines/reference/user/chrome-devtools-frontend.log index 276f6830328..bcae1ccdf78 100644 --- a/tests/baselines/reference/user/chrome-devtools-frontend.log +++ b/tests/baselines/reference/user/chrome-devtools-frontend.log @@ -15,6 +15,154 @@ Standard output: ../../../../built/local/lib.es5.d.ts(1346,11): error TS2300: Duplicate identifier 'ArrayLike'. ../../../../built/local/lib.es5.d.ts(1382,6): error TS2300: Duplicate identifier 'Record'. ../../../../node_modules/@types/node/index.d.ts(150,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'module' must be of type '{ [x: string]: any; }', but here has type 'NodeModule'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(43,8): error TS2339: Property '_importScriptPathPrefix' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(95,28): error TS2339: Property 'response' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(147,37): error TS2339: Property '_importScriptPathPrefix' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(158,21): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'Promise'. + Type 'string' is not assignable to type 'undefined'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(161,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. + Type 'undefined[]' is not assignable to type 'undefined'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(187,12): error TS2339: Property 'eval' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(197,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(267,14): error TS2339: Property 'runtime' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(269,59): error TS2339: Property 'runtime' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(270,9): error TS2322: Type 'Promise' is not assignable to type 'Promise'. + Type 'void' is not assignable to type 'undefined'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(280,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(283,7): error TS2554: Expected 2-3 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(398,24): error TS1138: Parameter declaration expected. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(398,24): error TS8024: JSDoc '@param' tag has name 'function', but there is no parameter with that name. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(527,9): error TS2322: Type 'Function' is not assignable to type 'new () => any'. + Type 'Function' provides no match for the signature 'new (): any'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(527,49): error TS2352: Type 'Window' cannot be converted to type 'Function'. + Property 'apply' is missing in type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(539,20): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(693,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. + Type 'boolean' is not assignable to type 'undefined'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(693,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(705,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(715,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(721,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(729,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(854,36): error TS2339: Property 'eval' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(1083,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. +node_modules/chrome-devtools-frontend/front_end/Runtime.js(1088,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. +node_modules/chrome-devtools-frontend/front_end/Tests.js(107,5): error TS2322: Type 'Timer' is not assignable to type 'number'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(208,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(221,7): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(378,10): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/Tests.js(397,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(416,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(440,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(475,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(571,33): error TS2339: Property 'deprecatedRunAfterPendingDispatches' does not exist on type 'typeof InspectorBackend'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(590,27): error TS2554: Expected 0 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(687,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(711,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(735,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(769,28): error TS2339: Property 'networkPresets' does not exist on type 'typeof MobileThrottling'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(775,28): error TS2339: Property 'networkPresets' does not exist on type 'typeof MobileThrottling'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(781,28): error TS2339: Property 'networkPresets' does not exist on type 'typeof MobileThrottling'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(814,31): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/Tests.js(816,7): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(847,9): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(848,9): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(886,29): error TS2339: Property 'getPreferences' does not exist on type 'typeof InspectorFrontendHost'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(890,17): error TS2339: Property '_instanceForTest' does not exist on type 'typeof Main'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(893,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(894,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(895,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(897,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(898,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(899,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(917,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(918,7): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(929,33): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(934,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(935,7): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(959,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(960,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(961,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(965,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(966,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(967,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(968,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(969,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(970,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(974,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(975,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(976,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(977,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(978,11): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(986,5): error TS2554: Expected 3 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/Tests.js(988,5): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(1033,25): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/Tests.js(1040,23): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/Tests.js(1084,20): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/Tests.js(1139,33): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(1142,31): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(1186,5): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(1199,9): error TS2554: Expected 4 arguments, but got 3. +node_modules/chrome-devtools-frontend/front_end/Tests.js(1199,28): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/Tests.js(1229,10): error TS2339: Property 'uiTests' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/Tests.js(1229,41): error TS2339: Property 'domAutomationController' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(9,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(11,46): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(45,27): error TS2694: Namespace 'DOMNode' has no exported member 'Attribute'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(64,18): error TS2339: Property 'setTextContentTruncatedIfNeeded' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(77,26): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(79,26): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(109,11): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(128,31): error TS2339: Property 'textContent' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(139,18): error TS2339: Property 'getComponentSelection' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(171,15): error TS2339: Property 'handled' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(175,43): error TS2339: Property 'textContent' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(176,13): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(180,15): error TS2339: Property 'keyCode' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(180,70): error TS2339: Property 'keyIdentifier' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(182,13): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(209,39): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(213,36): error TS2339: Property '_isEditingName' does not exist on type 'ARIAAttributePrompt'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAConfig.js(5,28): error TS2339: Property '_config' does not exist on type 'typeof ARIAMetadata'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(56,35): error TS2339: Property '_instance' does not exist on type 'typeof ARIAMetadata'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(57,32): error TS2339: Property '_instance' does not exist on type 'typeof ARIAMetadata'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(57,102): error TS2339: Property '_config' does not exist on type 'typeof ARIAMetadata'. +node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(58,37): error TS2339: Property '_instance' does not exist on type 'typeof ARIAMetadata'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(10,11): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(14,18): error TS2339: Property 'tabIndex' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(24,38): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(40,51): error TS2339: Property 'focus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(42,20): error TS2339: Property 'focus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(50,33): error TS2339: Property 'hasFocus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(115,16): error TS2339: Property 'path' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(117,15): error TS2339: Property 'shiftKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(117,33): error TS2339: Property 'metaKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(117,50): error TS2339: Property 'ctrlKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(121,16): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(121,43): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(121,74): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(123,21): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(123,50): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(123,82): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(129,13): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(160,33): error TS2339: Property 'hasFocus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(184,42): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(208,42): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(265,42): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(274,42): error TS2554: Expected 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(298,19): error TS2339: Property 'breadcrumb' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(302,23): error TS2339: Property 'tabIndex' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(314,15): error TS1110: Type expected. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(323,23): error TS2339: Property 'style' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(330,27): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(391,50): error TS2345: Argument of type '0' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(393,50): error TS2345: Argument of type '-1' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(396,27): error TS2339: Property 'focus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(447,26): error TS2339: Property 'breadcrumb' does not exist on type 'Node'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(457,30): error TS2339: Property 'breadcrumb' does not exist on type 'Node'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(473,24): error TS2694: Namespace 'Protocol' has no exported member 'Accessibility'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(481,17): error TS2339: Property 'setTextContentTruncatedIfNeeded' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(488,38): error TS2554: Expected 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityModel.js(10,24): error TS2694: Namespace 'Protocol' has no exported member 'Accessibility'. node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityModel.js(54,32): error TS2694: Namespace 'Protocol' has no exported member 'Accessibility'. node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityModel.js(61,25): error TS2694: Namespace 'Protocol' has no exported member 'Accessibility'. @@ -101,63 +249,6 @@ node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityNodeV node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilitySidebarView.js(129,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilitySidebarView.js(141,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilitySidebarView.js(195,29): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(9,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(11,46): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(45,27): error TS2694: Namespace 'DOMNode' has no exported member 'Attribute'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(64,18): error TS2339: Property 'setTextContentTruncatedIfNeeded' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(77,26): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(79,26): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(109,11): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(128,31): error TS2339: Property 'textContent' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(139,18): error TS2339: Property 'getComponentSelection' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(171,15): error TS2339: Property 'handled' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(175,43): error TS2339: Property 'textContent' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(176,13): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(180,15): error TS2339: Property 'keyCode' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(180,70): error TS2339: Property 'keyIdentifier' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(182,13): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(209,39): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(213,36): error TS2339: Property '_isEditingName' does not exist on type 'ARIAAttributePrompt'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAConfig.js(5,28): error TS2339: Property '_config' does not exist on type 'typeof ARIAMetadata'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(56,35): error TS2339: Property '_instance' does not exist on type 'typeof ARIAMetadata'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(57,32): error TS2339: Property '_instance' does not exist on type 'typeof ARIAMetadata'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(57,102): error TS2339: Property '_config' does not exist on type 'typeof ARIAMetadata'. -node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAMetadata.js(58,37): error TS2339: Property '_instance' does not exist on type 'typeof ARIAMetadata'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(10,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(14,18): error TS2339: Property 'tabIndex' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(24,38): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(40,51): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(42,20): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(50,33): error TS2339: Property 'hasFocus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(115,16): error TS2339: Property 'path' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(117,15): error TS2339: Property 'shiftKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(117,33): error TS2339: Property 'metaKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(117,50): error TS2339: Property 'ctrlKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(121,16): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(121,43): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(121,74): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(123,21): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(123,50): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(123,82): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(129,13): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(160,33): error TS2339: Property 'hasFocus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(184,42): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(208,42): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(265,42): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(274,42): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(298,19): error TS2339: Property 'breadcrumb' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(302,23): error TS2339: Property 'tabIndex' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(314,15): error TS1110: Type expected. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(323,23): error TS2339: Property 'style' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(330,27): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(391,50): error TS2345: Argument of type '0' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(393,50): error TS2345: Argument of type '-1' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(396,27): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(447,26): error TS2339: Property 'breadcrumb' does not exist on type 'Node'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(457,30): error TS2339: Property 'breadcrumb' does not exist on type 'Node'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(473,24): error TS2694: Namespace 'Protocol' has no exported member 'Accessibility'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(481,17): error TS2339: Property 'setTextContentTruncatedIfNeeded' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/accessibility/AXBreadcrumbsPane.js(488,38): error TS2554: Expected 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/accessibility_test_runner/AccessibilityPaneTestRunner.js(11,15): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/accessibility_test_runner/AccessibilityPaneTestRunner.js(17,12): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/animation/AnimationGroupPreviewUI.js(7,11): error TS2339: Property 'AnimationGroupPreviewUI' does not exist on type '{ new (effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; prototype: Ani...'. @@ -410,6 +501,14 @@ node_modules/chrome-devtools-frontend/front_end/application_test_runner/IndexedD node_modules/chrome-devtools-frontend/front_end/application_test_runner/IndexedDBTestRunner.js(47,35): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? node_modules/chrome-devtools-frontend/front_end/application_test_runner/IndexedDBTestRunner.js(140,24): error TS2554: Expected 1 arguments, but got 2. node_modules/chrome-devtools-frontend/front_end/application_test_runner/IndexedDBTestRunner.js(140,96): error TS2339: Property 'securityOriginManager' does not exist on type 'typeof TestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(20,14): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(34,14): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(37,59): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(69,11): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(71,30): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(72,27): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(73,27): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. +node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(76,71): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourcesTestRunner.js(18,20): error TS2339: Property 'mainTarget' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourcesTestRunner.js(30,19): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourcesTestRunner.js(31,16): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. @@ -421,14 +520,6 @@ node_modules/chrome-devtools-frontend/front_end/application_test_runner/Resource node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourcesTestRunner.js(103,21): error TS2339: Property 'mainTarget' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourcesTestRunner.js(107,21): error TS2339: Property 'mainTarget' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourcesTestRunner.js(111,21): error TS2339: Property 'mainTarget' does not exist on type 'typeof TestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(20,14): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(34,14): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(37,59): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(69,11): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(71,30): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(72,27): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(73,27): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. -node_modules/chrome-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js(76,71): error TS2339: Property '_testSourceNavigator' does not exist on type 'typeof ApplicationTestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ServiceWorkersTestRunner.js(44,19): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? node_modules/chrome-devtools-frontend/front_end/application_test_runner/ServiceWorkersTestRunner.js(55,14): error TS2339: Property 'serviceWorkerManager' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/application_test_runner/ServiceWorkersTestRunner.js(57,18): error TS2339: Property 'serviceWorkerManager' does not exist on type 'typeof TestRunner'. @@ -660,8 +751,6 @@ node_modules/chrome-devtools-frontend/front_end/audits2_test_runner/Audits2TestR node_modules/chrome-devtools-frontend/front_end/audits2_test_runner/Audits2TestRunner.js(77,40): error TS2339: Property 'checkboxElement' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/audits2_test_runner/Audits2TestRunner.js(89,29): error TS2339: Property 'disabled' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/audits2_test_runner/Audits2TestRunner.js(102,24): error TS2488: Type 'NodeListOf' must have a '[Symbol.iterator]()' method that returns an iterator. -node_modules/chrome-devtools-frontend/front_end/audits2_worker.js(5,11): error TS2339: Property 'Runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/audits2_worker.js(6,8): error TS2339: Property 'importScripts' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/Audits2Service.js(33,31): error TS1003: Identifier expected. node_modules/chrome-devtools-frontend/front_end/audits2_worker/Audits2Service.js(33,31): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. node_modules/chrome-devtools-frontend/front_end/audits2_worker/Audits2Service.js(40,25): error TS2503: Cannot find namespace 'ReportRenderer'. @@ -3076,6 +3165,8 @@ node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighth node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(70756,10): error TS2531: Object is possibly 'null'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(70756,45): error TS2531: Object is possibly 'null'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(70848,34): error TS2304: Cannot find name 'fs'. +node_modules/chrome-devtools-frontend/front_end/audits2_worker.js(5,11): error TS2339: Property 'Runtime' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/audits2_worker.js(6,8): error TS2339: Property 'importScripts' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/bindings/BlackboxManager.js(22,21): error TS1005: '>' expected. node_modules/chrome-devtools-frontend/front_end/bindings/BlackboxManager.js(25,71): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. node_modules/chrome-devtools-frontend/front_end/bindings/BlackboxManager.js(69,72): error TS2339: Property 'getAsArray' does not exist on type 'Setting'. @@ -3124,15 +3215,6 @@ node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(66 node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(713,51): error TS2339: Property 'valuesArray' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(863,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(905,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(48,52): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(50,62): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(59,56): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(184,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(194,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(202,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(218,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/bindings/ContentProviderBasedProject.js(39,25): error TS2694: Namespace 'Workspace' has no exported member 'projectTypes'. -node_modules/chrome-devtools-frontend/front_end/bindings/ContentProviderBasedProject.js(180,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(64,19): error TS2365: Operator '!==' cannot be applied to types '{ [x: string]: any; Regular: string; Inline: string; Attributes: string; }' and 'string'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(104,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'rawLocations' must be of type 'CSSLocation[]', but here has type 'any[]'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(106,20): error TS2339: Property 'pushAll' does not exist on type 'CSSLocation[]'. @@ -3152,6 +3234,15 @@ node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js( node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(218,30): error TS2339: Property 'set' does not exist on type 'Multimap'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(221,21): error TS2339: Property 'deleteAll' does not exist on type 'Multimap'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(232,41): error TS2551: Property 'resourceMapping' does not exist on type 'typeof Bindings'. Did you mean 'ResourceMapping'? +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(48,52): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(50,62): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(59,56): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(184,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(194,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(202,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.js(218,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/bindings/ContentProviderBasedProject.js(39,25): error TS2694: Namespace 'Workspace' has no exported member 'projectTypes'. +node_modules/chrome-devtools-frontend/front_end/bindings/ContentProviderBasedProject.js(180,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(51,31): error TS2339: Property 'remove' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(85,5): error TS2322: Type 'StackTraceTopFrameLocation' is not assignable to type '{ [x: string]: any; update(): void; uiLocation(): UILocation; dispose(): void; isBlackboxed(): bo...'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(85,5): error TS2322: Type 'StackTraceTopFrameLocation' is not assignable to type '{ [x: string]: any; update(): void; uiLocation(): UILocation; dispose(): void; isBlackboxed(): bo...'. @@ -3498,6 +3589,7 @@ node_modules/chrome-devtools-frontend/front_end/cm_headless/headlesscodemirror.j node_modules/chrome-devtools-frontend/front_end/cm_headless/headlesscodemirror.js(153,32): error TS2339: Property 'blankLine' does not exist on type 'void'. node_modules/chrome-devtools-frontend/front_end/cm_headless/headlesscodemirror.js(153,48): error TS2339: Property 'blankLine' does not exist on type 'void'. node_modules/chrome-devtools-frontend/front_end/cm_headless/headlesscodemirror.js(155,24): error TS2339: Property 'token' does not exist on type 'void'. +node_modules/chrome-devtools-frontend/front_end/cm_modes/DefaultCodeMirrorMimeMode.js(22,14): error TS2339: Property 'eval' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/cm_modes/clike.js(6,17): error TS2307: Cannot find module '../../lib/codemirror'. node_modules/chrome-devtools-frontend/front_end/cm_modes/clike.js(7,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/clike.js(7,43): error TS2304: Cannot find name 'define'. @@ -3513,7 +3605,6 @@ node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(12,5): node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(41,3): error TS2322: Type 'RegExp' is not assignable to type 'string[]'. Property 'flatMap' is missing in type 'RegExp'. node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(282,24): error TS2339: Property 'exec' does not exist on type 'string[]'. -node_modules/chrome-devtools-frontend/front_end/cm_modes/DefaultCodeMirrorMimeMode.js(22,14): error TS2339: Property 'eval' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,5): error TS2554: Expected 0-1 arguments, but got 3. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,17): error TS2307: Cannot find module '../../lib/codemirror'. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,50): error TS2307: Cannot find module '../xml/xml'. @@ -3836,19 +3927,6 @@ node_modules/chrome-devtools-frontend/front_end/common/UIString.js(81,54): error node_modules/chrome-devtools-frontend/front_end/common/UIString.js(93,6): error TS2339: Property 'ls' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/common/Worker.js(52,30): error TS2339: Property 'data' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/common/Worker.js(82,25): error TS2315: Type 'MessageEvent' is not generic. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(42,46): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(44,62): error TS2339: Property 'closeWindow' does not exist on type 'typeof InspectorFrontendHost'. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(70,7): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(70,41): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(70,76): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(71,7): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(116,33): error TS2339: Property 'deepActiveElement' does not exist on type 'Document'. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(122,27): error TS2339: Property 'setIsDocked' does not exist on type 'typeof InspectorFrontendHost'. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(193,5): error TS2322: Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. -node_modules/chrome-devtools-frontend/front_end/components/DockController.js(193,5): error TS2322: Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarButton'. node_modules/chrome-devtools-frontend/front_end/components/DOMBreakpointsSidebarPane.js(39,45): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/components/DOMBreakpointsSidebarPane.js(40,46): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/components/DOMBreakpointsSidebarPane.js(41,38): error TS2555: Expected at least 2 arguments, but got 1. @@ -3905,6 +3983,19 @@ node_modules/chrome-devtools-frontend/front_end/components/DOMPresentationUtils. node_modules/chrome-devtools-frontend/front_end/components/DOMPresentationUtils.js(259,13): error TS2554: Expected 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/components/DOMPresentationUtils.js(643,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/components/DOMPresentationUtils.js(657,19): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(42,46): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(44,62): error TS2339: Property 'closeWindow' does not exist on type 'typeof InspectorFrontendHost'. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(70,7): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(70,41): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(70,76): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(71,7): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(116,33): error TS2339: Property 'deepActiveElement' does not exist on type 'Document'. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(122,27): error TS2339: Property 'setIsDocked' does not exist on type 'typeof InspectorFrontendHost'. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(193,5): error TS2322: Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarButton'. +node_modules/chrome-devtools-frontend/front_end/components/DockController.js(193,5): error TS2322: Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(62,24): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(125,94): error TS2339: Property 'remove' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(127,41): error TS2339: Property 'remove' does not exist on type 'Map'. @@ -4965,10 +5056,10 @@ node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(9, node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(9,29): error TS2417: Class static side 'typeof ViewportDataGrid' incorrectly extends base class static side 'typeof DataGrid'. Types of property 'Events' are incompatible. Type '{ [x: string]: any; ViewportCalculated: symbol; }' is not assignable to type '{ [x: string]: any; SelectedNode: symbol; DeselectedNode: symbol; OpenedNode: symbol; SortingChan...'. + Property 'SelectedNode' is missing in type '{ [x: string]: any; ViewportCalculated: symbol; }'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(9,29): error TS2417: Class static side 'typeof ViewportDataGrid' incorrectly extends base class static side 'typeof DataGrid'. Types of property 'Events' are incompatible. Type '{ [x: string]: any; ViewportCalculated: symbol; }' is not assignable to type '{ [x: string]: any; SelectedNode: symbol; DeselectedNode: symbol; OpenedNode: symbol; SortingChan...'. - Property 'SelectedNode' is missing in type '{ [x: string]: any; ViewportCalculated: symbol; }'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(11,41): error TS2694: Namespace 'DataGrid' has no exported member 'ColumnDescriptor'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(32,22): error TS2345: Argument of type 'ViewportDataGridNode' is not assignable to parameter of type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(43,41): error TS2339: Property 'flatChildren' does not exist on type 'NODE_TYPE'. @@ -5065,9 +5156,9 @@ node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(283,88): node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(285,36): error TS2694: Namespace 'Adb' has no exported member 'PortForwardingRule'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(286,5): error TS2322: Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. + Property 'renderItem' is missing in type 'ListWidget'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(286,5): error TS2322: Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. - Property 'renderItem' is missing in type 'ListWidget'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(290,31): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(293,43): error TS2694: Namespace 'Adb' has no exported member 'PortForwardingRule'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(297,29): error TS2555: Expected at least 2 arguments, but got 1. @@ -5097,9 +5188,9 @@ node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(466,64): node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(469,36): error TS2694: Namespace 'Adb' has no exported member 'PortForwardingRule'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(470,5): error TS2322: Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. + Property 'renderItem' is missing in type 'ListWidget'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(470,5): error TS2322: Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. Type 'ListWidget' is not assignable to type '{ [x: string]: any; renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T,...'. - Property 'renderItem' is missing in type 'ListWidget'. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(475,24): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(475,70): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(478,43): error TS2694: Namespace 'Adb' has no exported member 'PortForwardingRule'. @@ -5440,10 +5531,10 @@ node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(3 node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(65,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(73,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(84,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(122,5): error TS2322: Type 'Promise>' is not assignable to type 'Promise'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(122,5): error TS2322: Type 'Promise>' is not assignable to type 'Promise'. Type 'Map' is not assignable to type 'ComputedStyle'. Property 'node' is missing in type 'Map'. +node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleModel.js(122,5): error TS2322: Type 'Promise>' is not assignable to type 'Promise'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(48,36): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(51,9): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(52,49): error TS2555: Expected at least 2 arguments, but got 1. @@ -5479,6 +5570,21 @@ node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js( node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(281,35): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(282,49): error TS2339: Property 'selectorText' does not exist on type 'CSSRule'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(286,30): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(12,25): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(12,60): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(25,70): error TS2339: Property 'state' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(25,90): error TS2339: Property 'checked' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(36,13): error TS2339: Property 'state' does not exist on type 'HTMLInputElement'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(43,20): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(47,16): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(51,16): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(108,41): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(109,26): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(124,5): error TS2322: Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarToggle'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(124,5): error TS2322: Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; }'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsBreadcrumbs.js(12,46): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsBreadcrumbs.js(86,37): error TS2339: Property 'nextSiblingElement' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsBreadcrumbs.js(104,16): error TS2555: Expected at least 2 arguments, but got 1. @@ -5487,9 +5593,9 @@ node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(49,41) node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(58,40): error TS2694: Namespace 'ElementsPanel' has no exported member '_splitMode'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(90,32): error TS2339: Property 'addEventListener' does not exist on type 'typeof extensionServer'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(98,57): error TS2339: Property 'runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(116,5): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(116,5): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. Property 'appendApplicableItems' is missing in type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. +node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(116,5): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(159,24): error TS2339: Property 'remove' does not exist on type 'ElementsTreeOutline[]'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(180,12): error TS2339: Property 'removeChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(181,12): error TS2339: Property 'createChild' does not exist on type 'Element'. @@ -5543,21 +5649,6 @@ node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(884,11 node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(905,15): error TS2339: Property '_pendingNodeReveal' does not exist on type 'ElementsPanel'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsPanel.js(912,15): error TS2339: Property '_pendingNodeReveal' does not exist on type 'ElementsPanel'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsSidebarPane.js(66,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(12,25): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(12,60): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(25,70): error TS2339: Property 'state' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(25,90): error TS2339: Property 'checked' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(36,13): error TS2339: Property 'state' does not exist on type 'HTMLInputElement'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(43,20): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(47,16): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(51,16): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(108,41): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(109,26): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(124,5): error TS2322: Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; }'. -node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget.js(124,5): error TS2322: Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarToggle' is not assignable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarToggle'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeElement.js(44,50): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeElement.js(111,66): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeElement.js(239,29): error TS2339: Property 'style' does not exist on type 'Element'. @@ -5673,10 +5764,10 @@ node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeElementHigh node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeOutline.js(34,32): error TS2417: Class static side 'typeof ElementsTreeOutline' incorrectly extends base class static side 'typeof TreeOutline'. Types of property 'Events' are incompatible. Type '{ [x: string]: any; SelectedNodeChanged: symbol; ElementsTreeUpdated: symbol; }' is not assignable to type '{ [x: string]: any; ElementAttached: symbol; ElementExpanded: symbol; ElementCollapsed: symbol; E...'. + Property 'ElementAttached' is missing in type '{ [x: string]: any; SelectedNodeChanged: symbol; ElementsTreeUpdated: symbol; }'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeOutline.js(34,32): error TS2417: Class static side 'typeof ElementsTreeOutline' incorrectly extends base class static side 'typeof TreeOutline'. Types of property 'Events' are incompatible. Type '{ [x: string]: any; SelectedNodeChanged: symbol; ElementsTreeUpdated: symbol; }' is not assignable to type '{ [x: string]: any; ElementAttached: symbol; ElementExpanded: symbol; ElementCollapsed: symbol; E...'. - Property 'ElementAttached' is missing in type '{ [x: string]: any; SelectedNodeChanged: symbol; ElementsTreeUpdated: symbol; }'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeOutline.js(45,53): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeOutline.js(49,51): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/elements/ElementsTreeOutline.js(120,24): error TS2694: Namespace 'Elements' has no exported member 'MultilineEditorController'. @@ -6690,67 +6781,6 @@ node_modules/chrome-devtools-frontend/front_end/formatter/ScriptFormatter.js(127 node_modules/chrome-devtools-frontend/front_end/formatter/ScriptFormatter.js(134,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/formatter/ScriptFormatter.js(173,45): error TS2694: Namespace 'FormatterWorkerPool' has no exported member 'FormatMapping'. node_modules/chrome-devtools-frontend/front_end/formatter/ScriptFormatter.js(215,28): error TS2339: Property 'upperBound' does not exist on type 'number[]'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker.js(5,11): error TS2339: Property 'Runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker.js(6,8): error TS2339: Property 'importScripts' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(4,10): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(4,35): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(4,48): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(527,43): error TS2339: Property 'startNode' does not exist on type 'Parser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(528,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(529,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(1674,55): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2451,7): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2451,22): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2451,37): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2564,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2565,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2568,18): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2569,36): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2570,10): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2571,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2573,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2575,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2580,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2580,26): error TS2339: Property 'braceIsBlock' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2581,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2585,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2586,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2591,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2592,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2601,67): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2602,10): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2603,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2607,12): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2608,10): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2610,10): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2611,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2634,22): error TS2304: Cannot find name 'Packages'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2634,77): error TS2304: Cannot find name 'Packages'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(3362,5): error TS2339: Property 'nextToken' does not exist on type 'Parser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(3363,12): error TS2339: Property 'parseExpression' does not exist on type 'Parser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(4,10): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(4,35): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(4,48): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(85,10): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(114,16): error TS2339: Property 'lookAhead' does not exist on type 'LooseParser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(115,42): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(217,36): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(219,32): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(221,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(221,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(221,105): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(223,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(225,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(225,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(227,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(228,22): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(231,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(252,29): error TS2322: Type '{ start: any; end: any; type: any; value: string; }' is not assignable to type 'boolean'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(255,19): error TS2339: Property 'loc' does not exist on type 'true'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(257,55): error TS2339: Property 'start' does not exist on type 'true'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(258,55): error TS2339: Property 'end' does not exist on type 'true'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(1365,5): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(1366,12): error TS2339: Property 'parseTopLevel' does not exist on type 'LooseParser'. node_modules/chrome-devtools-frontend/front_end/formatter_worker/AcornTokenizer.js(14,54): error TS2345: Argument of type '{ ecmaVersion: number; onComment: any[]; }' is not assignable to parameter of type '{ [x: string]: boolean; }'. Property 'ecmaVersion' is incompatible with index signature. Type 'number' is not assignable to type 'boolean'. @@ -6917,6 +6947,67 @@ node_modules/chrome-devtools-frontend/front_end/formatter_worker/RelaxedJSONPars node_modules/chrome-devtools-frontend/front_end/formatter_worker/RelaxedJSONParser.js(179,103): error TS2694: Namespace '__object' has no exported member 'States'. node_modules/chrome-devtools-frontend/front_end/formatter_worker/RelaxedJSONParser.js(180,2): error TS1003: Identifier expected. node_modules/chrome-devtools-frontend/front_end/formatter_worker/RelaxedJSONParser.js(181,35): error TS2300: Duplicate identifier 'Context'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(4,10): error TS2304: Cannot find name 'define'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(4,35): error TS2304: Cannot find name 'define'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(4,48): error TS2304: Cannot find name 'define'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(527,43): error TS2339: Property 'startNode' does not exist on type 'Parser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(528,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(529,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(1674,55): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2451,7): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2451,22): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2451,37): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2564,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2565,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2568,18): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2569,36): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2570,10): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2571,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2573,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2575,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2580,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2580,26): error TS2339: Property 'braceIsBlock' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2581,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2585,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2586,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2591,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2592,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2601,67): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2602,10): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2603,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2607,12): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2608,10): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2610,10): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2611,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2634,22): error TS2304: Cannot find name 'Packages'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(2634,77): error TS2304: Cannot find name 'Packages'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(3362,5): error TS2339: Property 'nextToken' does not exist on type 'Parser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn.js(3363,12): error TS2339: Property 'parseExpression' does not exist on type 'Parser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(4,10): error TS2304: Cannot find name 'define'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(4,35): error TS2304: Cannot find name 'define'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(4,48): error TS2304: Cannot find name 'define'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(85,10): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(114,16): error TS2339: Property 'lookAhead' does not exist on type 'LooseParser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(115,42): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(217,36): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(219,32): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(221,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(221,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(221,105): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(223,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(225,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(225,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(227,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(228,22): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(231,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(252,29): error TS2322: Type '{ start: any; end: any; type: any; value: string; }' is not assignable to type 'boolean'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(255,19): error TS2339: Property 'loc' does not exist on type 'true'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(257,55): error TS2339: Property 'start' does not exist on type 'true'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(258,55): error TS2339: Property 'end' does not exist on type 'true'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(1365,5): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker/acorn/acorn_loose.js(1366,12): error TS2339: Property 'parseTopLevel' does not exist on type 'LooseParser'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker.js(5,11): error TS2339: Property 'Runtime' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/formatter_worker.js(6,8): error TS2339: Property 'importScripts' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/har_importer/HARImporter.js(26,11): error TS2403: Subsequent variable declarations must have the same type. Variable 'page' must be of type 'any', but here has type 'HARPage'. node_modules/chrome-devtools-frontend/front_end/har_importer/HARImporter.js(46,5): error TS2322: Type 'Date' is not assignable to type 'number'. node_modules/chrome-devtools-frontend/front_end/heap_profiler_test_runner/HeapProfilerTestRunner.js(11,26): error TS2339: Property 'createJSHeapSnapshotMockObject' does not exist on type 'typeof HeapProfilerTestRunner'. @@ -7007,8 +7098,6 @@ node_modules/chrome-devtools-frontend/front_end/heap_profiler_test_runner/HeapPr node_modules/chrome-devtools-frontend/front_end/heap_profiler_test_runner/HeapProfilerTestRunner.js(682,36): error TS2339: Property 'instance' does not exist on type 'typeof SamplingHeapProfileType'. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_model/HeapSnapshotModel.js(31,19): error TS2339: Property 'HeapSnapshotProgressEvent' does not exist on type 'typeof HeapSnapshotModel'. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_model/HeapSnapshotModel.js(36,19): error TS2339: Property 'baseSystemDistance' does not exist on type 'typeof HeapSnapshotModel'. -node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker.js(5,11): error TS2339: Property 'Runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker.js(6,8): error TS2339: Property 'importScripts' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapshot.js(37,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapshot.js(87,5): error TS2322: Type 'void' is not assignable to type 'HeapSnapshotNode'. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapshot.js(144,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. @@ -7132,6 +7221,8 @@ node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapsho node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapshotLoader.js(132,47): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapshotWorker.js(31,3): error TS2554: Expected 2-3 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js(87,36): error TS2339: Property 'eval' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker.js(5,11): error TS2339: Property 'Runtime' does not exist on type 'Window'. +node_modules/chrome-devtools-frontend/front_end/heap_snapshot_worker.js(6,8): error TS2339: Property 'importScripts' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/help/Help.js(6,19): error TS2694: Namespace 'Help' has no exported member 'ReleaseNote'. node_modules/chrome-devtools-frontend/front_end/help/Help.js(9,13): error TS2551: Property '_latestReleaseNote' does not exist on type 'typeof Help'. Did you mean 'latestReleaseNote'? node_modules/chrome-devtools-frontend/front_end/help/Help.js(11,10): error TS2551: Property '_latestReleaseNote' does not exist on type 'typeof Help'. Did you mean 'latestReleaseNote'? @@ -7250,29 +7341,6 @@ node_modules/chrome-devtools-frontend/front_end/inline_editor/BezierUI.js(100,31 node_modules/chrome-devtools-frontend/front_end/inline_editor/BezierUI.js(101,32): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. node_modules/chrome-devtools-frontend/front_end/inline_editor/BezierUI.js(102,9): error TS2339: Property 'removeChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/inline_editor/BezierUI.js(103,21): error TS2339: Property 'createSVGChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(16,35): error TS2339: Property '_constructor' does not exist on type 'typeof ColorSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(17,32): error TS2339: Property '_constructor' does not exist on type 'typeof ColorSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(21,83): error TS2339: Property '_constructor' does not exist on type 'typeof ColorSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(96,29): error TS2694: Namespace 'Color' has no exported member 'Format'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(103,28): error TS2694: Namespace 'Color' has no exported member 'Format'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(131,30): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(132,31): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(138,10): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(139,36): error TS2339: Property 'createChild' does not exist on type 'ColorSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(146,16): error TS2339: Property 'shiftKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(148,18): error TS2339: Property 'parentNode' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(149,11): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(166,36): error TS2339: Property '_constructor' does not exist on type 'typeof BezierSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(167,33): error TS2339: Property '_constructor' does not exist on type 'typeof BezierSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(171,85): error TS2339: Property '_constructor' does not exist on type 'typeof BezierSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(209,30): error TS2339: Property 'createChild' does not exist on type 'BezierSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(210,10): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(227,39): error TS2339: Property '_constructor' does not exist on type 'typeof CSSShadowSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(228,36): error TS2339: Property '_constructor' does not exist on type 'typeof CSSShadowSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(232,91): error TS2339: Property '_constructor' does not exist on type 'typeof CSSShadowSwatch'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(248,29): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(290,10): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(291,33): error TS2339: Property 'createChild' does not exist on type 'CSSShadowSwatch'. node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowEditor.js(11,25): error TS2339: Property 'tabIndex' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowEditor.js(14,43): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowEditor.js(15,79): error TS2555: Expected at least 2 arguments, but got 1. @@ -7330,6 +7398,29 @@ node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowEditor.js node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowEditor.js(367,20): error TS2339: Property 'value' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowModel.js(46,28): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. node_modules/chrome-devtools-frontend/front_end/inline_editor/CSSShadowModel.js(63,31): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(16,35): error TS2339: Property '_constructor' does not exist on type 'typeof ColorSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(17,32): error TS2339: Property '_constructor' does not exist on type 'typeof ColorSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(21,83): error TS2339: Property '_constructor' does not exist on type 'typeof ColorSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(96,29): error TS2694: Namespace 'Color' has no exported member 'Format'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(103,28): error TS2694: Namespace 'Color' has no exported member 'Format'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(131,30): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(132,31): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(138,10): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(139,36): error TS2339: Property 'createChild' does not exist on type 'ColorSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(146,16): error TS2339: Property 'shiftKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(148,18): error TS2339: Property 'parentNode' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(149,11): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(166,36): error TS2339: Property '_constructor' does not exist on type 'typeof BezierSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(167,33): error TS2339: Property '_constructor' does not exist on type 'typeof BezierSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(171,85): error TS2339: Property '_constructor' does not exist on type 'typeof BezierSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(209,30): error TS2339: Property 'createChild' does not exist on type 'BezierSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(210,10): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(227,39): error TS2339: Property '_constructor' does not exist on type 'typeof CSSShadowSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(228,36): error TS2339: Property '_constructor' does not exist on type 'typeof CSSShadowSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(232,91): error TS2339: Property '_constructor' does not exist on type 'typeof CSSShadowSwatch'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(248,29): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(290,10): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/inline_editor/ColorSwatch.js(291,33): error TS2339: Property 'createChild' does not exist on type 'CSSShadowSwatch'. node_modules/chrome-devtools-frontend/front_end/inline_editor/SwatchPopoverHelper.js(12,35): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; SetExactSize: symbol; SetExactWidthMaxHeight: symbol; MeasureContent: symbol; }'. node_modules/chrome-devtools-frontend/front_end/inline_editor/SwatchPopoverHelper.js(13,37): error TS2345: Argument of type 'symbol' is not assignable to parameter of type 'boolean'. node_modules/chrome-devtools-frontend/front_end/inline_editor/SwatchPopoverHelper.js(14,64): error TS2339: Property 'consume' does not exist on type 'Event'. @@ -7396,6 +7487,32 @@ node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerDetailsView.js node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerDetailsView.js(295,48): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerDetailsView.js(296,48): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerDetailsView.js(297,47): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(65,31): error TS2538: Type 'symbol' cannot be used as an index type. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(78,31): error TS2538: Type 'symbol' cannot be used as an index type. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(118,24): error TS2538: Type 'symbol' cannot be used as an index type. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(123,83): error TS2538: Type 'symbol' cannot be used as an index type. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(150,61): error TS2339: Property 'root' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(151,31): error TS2339: Property '_layer' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(164,25): error TS2538: Type 'symbol' cannot be used as an index type. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(199,25): error TS2339: Property '_layer' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(199,80): error TS2339: Property '_layer' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(215,17): error TS2538: Type 'symbol' cannot be used as an index type. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(222,11): error TS2339: Property 'createTextChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(223,25): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(33,47): error TS2694: Namespace 'Selection' has no exported member 'Type'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(51,48): error TS2694: Namespace 'Selection' has no exported member 'Type'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(92,11): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(101,12): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }' and 'symbol'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(114,11): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(124,12): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }' and 'symbol'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(125,84): error TS2339: Property 'scrollRectIndex' does not exist on type 'Selection'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(135,19): error TS2694: Namespace 'SDK' has no exported member 'SnapshotWithRect'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(138,11): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(148,12): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }' and 'symbol'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(149,34): error TS2339: Property '_snapshot' does not exist on type 'Selection'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(153,20): error TS2694: Namespace 'SDK' has no exported member 'SnapshotWithRect'. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(231,9): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(235,7): error TS2554: Expected 3 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(44,30): error TS2339: Property 'createTextChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(44,46): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(54,47): error TS2339: Property 'createChild' does not exist on type 'Element'. @@ -7474,32 +7591,6 @@ node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(932 node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(1080,24): error TS2694: Namespace 'Protocol' has no exported member 'DOM'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(1098,15): error TS2304: Cannot find name 'CSSMatrix'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/Layers3DView.js(1143,19): error TS2694: Namespace 'SDK' has no exported member 'SnapshotWithRect'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(65,31): error TS2538: Type 'symbol' cannot be used as an index type. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(78,31): error TS2538: Type 'symbol' cannot be used as an index type. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(118,24): error TS2538: Type 'symbol' cannot be used as an index type. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(123,83): error TS2538: Type 'symbol' cannot be used as an index type. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(150,61): error TS2339: Property 'root' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(151,31): error TS2339: Property '_layer' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(164,25): error TS2538: Type 'symbol' cannot be used as an index type. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(199,25): error TS2339: Property '_layer' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(199,80): error TS2339: Property '_layer' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(215,17): error TS2538: Type 'symbol' cannot be used as an index type. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(222,11): error TS2339: Property 'createTextChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerTreeOutline.js(223,25): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(33,47): error TS2694: Namespace 'Selection' has no exported member 'Type'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(51,48): error TS2694: Namespace 'Selection' has no exported member 'Type'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(92,11): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(101,12): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }' and 'symbol'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(114,11): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(124,12): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }' and 'symbol'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(125,84): error TS2339: Property 'scrollRectIndex' does not exist on type 'Selection'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(135,19): error TS2694: Namespace 'SDK' has no exported member 'SnapshotWithRect'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(138,11): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(148,12): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; Layer: symbol; ScrollRect: symbol; Snapshot: symbol; }' and 'symbol'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(149,34): error TS2339: Property '_snapshot' does not exist on type 'Selection'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(153,20): error TS2694: Namespace 'SDK' has no exported member 'SnapshotWithRect'. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(231,9): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/layer_viewer/LayerViewHost.js(235,7): error TS2554: Expected 3 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/layer_viewer/PaintProfilerView.js(42,49): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/PaintProfilerView.js(43,48): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/PaintProfilerView.js(44,40): error TS2555: Expected at least 2 arguments, but got 1. @@ -7556,12 +7647,6 @@ node_modules/chrome-devtools-frontend/front_end/layer_viewer/TransformController node_modules/chrome-devtools-frontend/front_end/layer_viewer/TransformController.js(283,29): error TS2339: Property 'clientX' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/TransformController.js(284,29): error TS2339: Property 'clientY' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/layer_viewer/TransformController.js(292,18): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(63,53): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(138,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(150,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(160,58): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(169,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(187,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(79,32): error TS2694: Namespace 'Protocol' has no exported member 'LayerTree'. node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(88,32): error TS2694: Namespace 'Protocol' has no exported member 'LayerTree'. node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(107,24): error TS2694: Namespace 'Protocol' has no exported member 'LayerTree'. @@ -7581,6 +7666,12 @@ node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(518,15) node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(552,32): error TS2694: Namespace 'Protocol' has no exported member 'LayerTree'. node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(560,24): error TS2694: Namespace 'Protocol' has no exported member 'LayerTree'. node_modules/chrome-devtools-frontend/front_end/layers/LayerTreeModel.js(561,24): error TS2694: Namespace 'Protocol' has no exported member 'DOM'. +node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(63,53): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(138,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(150,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(160,58): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(169,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/layers/LayersPanel.js(187,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/layers_test_runner/LayersTestRunner.js(11,25): error TS2551: Property '_layerTreeModel' does not exist on type 'typeof LayersTestRunner'. Did you mean 'layerTreeModel'? node_modules/chrome-devtools-frontend/front_end/layers_test_runner/LayersTestRunner.js(12,22): error TS2551: Property '_layerTreeModel' does not exist on type 'typeof LayersTestRunner'. Did you mean 'layerTreeModel'? node_modules/chrome-devtools-frontend/front_end/layers_test_runner/LayersTestRunner.js(12,51): error TS2339: Property 'mainTarget' does not exist on type 'typeof TestRunner'. @@ -7650,9 +7741,9 @@ node_modules/chrome-devtools-frontend/front_end/main/Main.js(567,65): error TS23 node_modules/chrome-devtools-frontend/front_end/main/Main.js(591,25): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/main/Main.js(599,5): error TS2322: Type 'ToolbarMenuButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarMenuButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarMenuButton'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(599,5): error TS2322: Type 'ToolbarMenuButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarMenuButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarMenuButton'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(608,42): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(609,34): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/main/Main.js(616,41): error TS2555: Expected at least 2 arguments, but got 1. @@ -8307,6 +8398,8 @@ node_modules/chrome-devtools-frontend/front_end/network/RequestCookiesView.js(55 node_modules/chrome-devtools-frontend/front_end/network/RequestCookiesView.js(81,26): error TS2554: Expected 4 arguments, but got 0. node_modules/chrome-devtools-frontend/front_end/network/RequestCookiesView.js(83,20): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/RequestCookiesView.js(84,20): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/network/RequestHTMLView.js(56,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/network/RequestHTMLView.js(62,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(56,84): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(71,73): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(112,14): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. @@ -8359,8 +8452,6 @@ node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(48 node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(496,11): error TS2339: Property 'consume' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(514,44): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/RequestHeadersView.js(514,77): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/RequestHTMLView.js(56,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/network/RequestHTMLView.js(62,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/network/RequestPreviewView.js(60,33): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/RequestPreviewView.js(93,31): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/RequestResponseView.js(46,34): error TS2694: Namespace 'NetworkRequest' has no exported member 'ContentData'. @@ -9122,8 +9213,8 @@ node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(943,8): er node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(944,41): error TS2339: Property 'standardFormatters' does not exist on type 'StringConstructor'. node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(954,13): error TS2315: Type 'Object' is not generic. node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(954,27): error TS1009: Trailing comma not allowed. -node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(954,29): error TS1005: '>' expected. node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(954,29): error TS8024: JSDoc '@param' tag has name 'function', but there is no parameter with that name. +node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(954,29): error TS1005: '>' expected. node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(961,8): error TS2339: Property 'format' does not exist on type 'StringConstructor'. node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(963,51): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Q'. node_modules/chrome-devtools-frontend/front_end/platform/utilities.js(978,42): error TS2339: Property 'tokenizeFormatString' does not exist on type 'StringConstructor'. @@ -9243,19 +9334,11 @@ node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(404,7 node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(405,22): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(405,71): error TS2339: Property 'secondsToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(407,24): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(14,9): error TS2345: Argument of type '(HeapSnapshotProfileType | SamplingHeapProfileType)[]' is not assignable to parameter of type '({ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: an...'. - Type 'HeapSnapshotProfileType | SamplingHeapProfileType' is not assignable to type '{ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any...'. - Type 'HeapSnapshotProfileType' is not assignable to type '{ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any...'. - Type 'HeapSnapshotProfileType' is not assignable to type '{ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any...'. - Property 'showProfile' is missing in type 'HeapSnapshotProfileType'. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(56,9): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(88,24): error TS2694: Namespace 'Protocol' has no exported member 'HeapProfiler'. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(100,14): error TS2339: Property 'selectLiveObject' does not exist on type 'Widget'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(31,16): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(33,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(43,5): error TS2322: Type 'HeapFlameChartDataProvider' is not assignable to type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(43,5): error TS2322: Type 'HeapFlameChartDataProvider' is not assignable to type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. Property '_profile' does not exist on type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(43,5): error TS2322: Type 'HeapFlameChartDataProvider' is not assignable to type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(52,52): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(54,38): error TS2339: Property 'instance' does not exist on type 'typeof SamplingHeapProfileType'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(82,30): error TS2555: Expected at least 2 arguments, but got 1. @@ -9279,13 +9362,21 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(389, node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(390,22): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(390,60): error TS2339: Property 'bytesToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfileView.js(395,24): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotDataGrids.js(34,41): error TS2417: Class static side 'typeof HeapSnapshotSortableDataGrid' incorrectly extends base class static side 'typeof DataGrid'. - Types of property 'Events' are incompatible. - Type '{ [x: string]: any; ContentShown: symbol; SortingComplete: symbol; }' is not assignable to type '{ [x: string]: any; SelectedNode: symbol; DeselectedNode: symbol; OpenedNode: symbol; SortingChan...'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(14,9): error TS2345: Argument of type '(HeapSnapshotProfileType | SamplingHeapProfileType)[]' is not assignable to parameter of type '({ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: an...'. + Type 'HeapSnapshotProfileType | SamplingHeapProfileType' is not assignable to type '{ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any...'. + Type 'HeapSnapshotProfileType' is not assignable to type '{ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any...'. + Type 'HeapSnapshotProfileType' is not assignable to type '{ [x: string]: any; showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any...'. + Property 'showProfile' is missing in type 'HeapSnapshotProfileType'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(56,9): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(88,24): error TS2694: Namespace 'Protocol' has no exported member 'HeapProfiler'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(100,14): error TS2339: Property 'selectLiveObject' does not exist on type 'Widget'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotDataGrids.js(34,41): error TS2417: Class static side 'typeof HeapSnapshotSortableDataGrid' incorrectly extends base class static side 'typeof DataGrid'. Types of property 'Events' are incompatible. Type '{ [x: string]: any; ContentShown: symbol; SortingComplete: symbol; }' is not assignable to type '{ [x: string]: any; SelectedNode: symbol; DeselectedNode: symbol; OpenedNode: symbol; SortingChan...'. Property 'SelectedNode' is missing in type '{ [x: string]: any; ContentShown: symbol; SortingComplete: symbol; }'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotDataGrids.js(34,41): error TS2417: Class static side 'typeof HeapSnapshotSortableDataGrid' incorrectly extends base class static side 'typeof DataGrid'. + Types of property 'Events' are incompatible. + Type '{ [x: string]: any; ContentShown: symbol; SortingComplete: symbol; }' is not assignable to type '{ [x: string]: any; SelectedNode: symbol; DeselectedNode: symbol; OpenedNode: symbol; SortingChan...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotDataGrids.js(37,41): error TS2694: Namespace 'DataGrid' has no exported member 'ColumnDescriptor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotDataGrids.js(124,27): error TS2339: Property 'enclosingNodeOrSelfWithNodeName' does not exist on type 'EventTarget'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotDataGrids.js(137,46): error TS2555: Expected at least 2 arguments, but got 1. @@ -9362,10 +9453,10 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.j node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(137,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(155,48): error TS2339: Property 'baseSystemDistance' does not exist on type 'typeof HeapSnapshotModel'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(156,95): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(163,5): error TS2322: Type '({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; is...' is not assignable to type 'DataGridNode[]'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(163,5): error TS2322: Type '({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; is...' is not assignable to type 'DataGridNode[]'. Type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...' is not assignable to type 'DataGridNode'. Property '_element' is missing in type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(163,5): error TS2322: Type '({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; is...' is not assignable to type 'DataGridNode[]'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(170,39): error TS2345: Argument of type 'this' is not assignable to parameter of type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Type 'HeapSnapshotGridNode' is not assignable to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Type 'HeapSnapshotGridNode' is not assignable to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. @@ -9397,19 +9488,19 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.j node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(580,12): error TS2339: Property 'style' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(581,10): error TS2339: Property 'heapSnapshotNode' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(602,75): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(682,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotObjectNode' is not assignable to the same property in base type 'HeapSnapshotGenericObjectNode'. - Type '() => HeapSnapshotProviderProxy' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise HeapSnapshotProviderProxy' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Property '_worker' does not exist on type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(682,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotObjectNode' is not assignable to the same property in base type 'HeapSnapshotGenericObjectNode'. + Type '() => HeapSnapshotProviderProxy' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise HeapSnapshotProviderProxy' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(892,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotInstanceNode' is not assignable to the same property in base type 'HeapSnapshotGenericObjectNode'. Type '() => HeapSnapshotProviderProxy' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(966,23): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(968,29): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(969,30): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. @@ -9440,12 +9531,12 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.j node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1181,27): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1182,29): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1183,65): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1191,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotDiffNode' is not assignable to the same property in base type 'HeapSnapshotGridNode'. - Type '() => HeapSnapshotDiffNodesProvider' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise HeapSnapshotDiffNodesProvider' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Property '_addedNodesProvider' does not exist on type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1191,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotDiffNode' is not assignable to the same property in base type 'HeapSnapshotGridNode'. + Type '() => HeapSnapshotDiffNodesProvider' is not assignable to type '() => { [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise'. @@ -9876,6 +9967,28 @@ node_modules/chrome-devtools-frontend/front_end/quick_open/HelpQuickOpen.js(58,1 node_modules/chrome-devtools-frontend/front_end/quick_open/QuickOpen.js(9,29): error TS1005: '>' expected. node_modules/chrome-devtools-frontend/front_end/quick_open/QuickOpen.js(14,10): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/quick_open/QuickOpen.js(26,39): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(13,42): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(17,9): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(23,42): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(27,58): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(28,60): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(32,30): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(32,79): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(34,31): error TS2345: Argument of type 'ToolbarButton' is not assignable to parameter of type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(36,64): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(37,57): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(39,57): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(40,62): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(42,65): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(44,65): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(48,70): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(52,68): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(53,64): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(88,31): error TS2694: Namespace 'Protocol' has no exported member 'Page'. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(116,25): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(139,32): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(158,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(31,11): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(37,47): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(42,28): error TS2339: Property 'style' does not exist on type 'Element'. @@ -9949,28 +10062,6 @@ node_modules/chrome-devtools-frontend/front_end/resources/ApplicationPanelSideba node_modules/chrome-devtools-frontend/front_end/resources/ApplicationPanelSidebar.js(1518,45): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationPanelSidebar.js(1530,55): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationPanelSidebar.js(1555,9): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(13,42): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(17,9): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(23,42): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(27,58): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(28,60): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(32,30): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(32,79): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(34,31): error TS2345: Argument of type 'ToolbarButton' is not assignable to parameter of type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(36,64): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(37,57): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(39,57): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(40,62): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(42,65): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(44,65): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(48,70): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(52,68): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(53,64): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(88,31): error TS2694: Namespace 'Protocol' has no exported member 'Page'. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(116,25): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(139,32): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/AppManifestView.js(158,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/resources/ClearStorageView.js(11,26): error TS2339: Property 'Storage' does not exist on type 'typeof Protocol'. node_modules/chrome-devtools-frontend/front_end/resources/ClearStorageView.js(22,42): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ClearStorageView.js(37,48): error TS2555: Expected at least 2 arguments, but got 1. @@ -10023,28 +10114,6 @@ node_modules/chrome-devtools-frontend/front_end/resources/ClearStorageView.js(25 node_modules/chrome-devtools-frontend/front_end/resources/CookieItemsView.js(36,11): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/CookieItemsView.js(47,43): error TS2694: Namespace 'EventTarget' has no exported member 'EventDescriptor'. node_modules/chrome-devtools-frontend/front_end/resources/CookieItemsView.js(101,42): error TS2339: Property 'asParsedURL' does not exist on type 'string'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(98,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(112,17): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(130,26): error TS2339: Property 'databaseAgent' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(131,19): error TS2339: Property 'registerDatabaseDispatcher' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(191,24): error TS2694: Namespace 'Protocol' has no exported member 'Database'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(38,42): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(52,62): error TS2339: Property 'hasSelection' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(60,39): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(151,19): error TS2339: Property 'createTextChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(31,11): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(40,47): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(42,53): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(58,5): error TS2322: Type '(ToolbarButton | ToolbarInput)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(58,5): error TS2322: Type '(ToolbarButton | ToolbarInput)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. - Type 'ToolbarButton | ToolbarInput' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. - Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarButton'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(77,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(114,37): error TS2339: Property 'valuesArray' does not exist on type 'Set'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(130,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(139,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageItemsView.js(32,11): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageItemsView.js(38,56): error TS2694: Namespace 'DataGrid' has no exported member 'ColumnDescriptor'. node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageItemsView.js(39,26): error TS2555: Expected at least 2 arguments, but got 1. @@ -10072,6 +10141,28 @@ node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageModel.js(298 node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageModel.js(306,24): error TS2694: Namespace 'Protocol' has no exported member 'DOMStorage'. node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageModel.js(315,24): error TS2694: Namespace 'Protocol' has no exported member 'DOMStorage'. node_modules/chrome-devtools-frontend/front_end/resources/DOMStorageModel.js(325,24): error TS2694: Namespace 'Protocol' has no exported member 'DOMStorage'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(98,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(112,17): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(130,26): error TS2339: Property 'databaseAgent' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(131,19): error TS2339: Property 'registerDatabaseDispatcher' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseModel.js(191,24): error TS2694: Namespace 'Protocol' has no exported member 'Database'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(38,42): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(52,62): error TS2339: Property 'hasSelection' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(60,39): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseQueryView.js(151,19): error TS2339: Property 'createTextChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(31,11): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(40,47): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(42,53): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(58,5): error TS2322: Type '(ToolbarButton | ToolbarInput)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(58,5): error TS2322: Type '(ToolbarButton | ToolbarInput)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. + Type 'ToolbarButton | ToolbarInput' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. + Type 'ToolbarButton' is not assignable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarButton'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(77,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(114,37): error TS2339: Property 'valuesArray' does not exist on type 'Set'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(130,18): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/DatabaseTableView.js(139,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBModel.js(41,12): error TS2339: Property 'registerStorageDispatcher' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBModel.js(43,35): error TS2339: Property 'indexedDBAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBModel.js(44,33): error TS2339: Property 'storageAgent' does not exist on type 'Target'. @@ -10266,38 +10357,6 @@ node_modules/chrome-devtools-frontend/front_end/resources/StorageItemsView.js(40 Type 'Function' provides no match for the signature '(arg0: any): any'. node_modules/chrome-devtools-frontend/front_end/resources/StorageItemsView.js(49,45): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/StorageItemsView.js(54,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(43,8): error TS2339: Property '_importScriptPathPrefix' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(95,28): error TS2339: Property 'response' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(147,37): error TS2339: Property '_importScriptPathPrefix' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(158,21): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'Promise'. - Type 'string' is not assignable to type 'undefined'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(161,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. - Type 'undefined[]' is not assignable to type 'undefined'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(187,12): error TS2339: Property 'eval' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(197,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(267,14): error TS2339: Property 'runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(269,59): error TS2339: Property 'runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(270,9): error TS2322: Type 'Promise' is not assignable to type 'Promise'. - Type 'void' is not assignable to type 'undefined'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(280,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(283,7): error TS2554: Expected 2-3 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(398,24): error TS1138: Parameter declaration expected. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(398,24): error TS8024: JSDoc '@param' tag has name 'function', but there is no parameter with that name. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(527,9): error TS2322: Type 'Function' is not assignable to type 'new () => any'. - Type 'Function' provides no match for the signature 'new (): any'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(527,49): error TS2352: Type 'Window' cannot be converted to type 'Function'. - Property 'apply' is missing in type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(539,20): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(693,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(693,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. - Type 'boolean' is not assignable to type 'undefined'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(705,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(715,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(721,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(729,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(854,36): error TS2339: Property 'eval' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(1083,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. -node_modules/chrome-devtools-frontend/front_end/Runtime.js(1088,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/screencast/InputModel.js(11,31): error TS2339: Property 'inputAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/screencast/InputModel.js(36,70): error TS2339: Property 'charCode' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/screencast/InputModel.js(43,28): error TS2339: Property 'keyIdentifier' does not exist on type 'Event'. @@ -10367,28 +10426,6 @@ node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(675 node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(676,25): error TS2339: Property 'select' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(737,17): error TS2339: Property 'type' does not exist on type 'NetworkRequest'. node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(766,19): error TS2339: Property 'style' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(10,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(30,29): error TS2339: Property 'sendMessageToBackend' does not exist on type 'typeof InspectorFrontendHost'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(34,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(41,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(71,27): error TS2339: Property 'reattach' does not exist on type 'typeof InspectorFrontendHost'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(87,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. -node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(168,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(14,24): error TS2694: Namespace 'Protocol' has no exported member 'Network'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(40,27): error TS2339: Property 'asParsedURL' does not exist on type 'string'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(65,26): error TS2339: Property 'networkAgent' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(95,39): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(97,10): error TS2339: Property 'networkAgent' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(114,38): error TS2339: Property 'asParsedURL' does not exist on type 'string'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(129,38): error TS2339: Property 'networkAgent' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(79,29): error TS2345: Argument of type 'number' is not assignable to parameter of type '{ [x: string]: any; Request: number; Response: number; }'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(97,29): error TS2345: Argument of type 'number' is not assignable to parameter of type '{ [x: string]: any; Request: number; Response: number; }'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(161,26): error TS2694: Namespace 'Cookie' has no exported member 'Type'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(200,26): error TS2694: Namespace 'Cookie' has no exported member 'Type'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(225,27): error TS2694: Namespace 'Cookie' has no exported member 'Type'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(246,25): error TS2694: Namespace 'Protocol' has no exported member 'Network'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(250,33): error TS2694: Namespace 'Protocol' has no exported member 'Network'. -node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(325,53): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. node_modules/chrome-devtools-frontend/front_end/sdk/CPUProfileDataModel.js(9,24): error TS2694: Namespace 'Protocol' has no exported member 'Profiler'. node_modules/chrome-devtools-frontend/front_end/sdk/CPUProfileDataModel.js(13,60): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/CPUProfileDataModel.js(35,24): error TS2694: Namespace 'Protocol' has no exported member 'Profiler'. @@ -10555,115 +10592,31 @@ node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleDeclaration.js(9,39) node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleDeclaration.js(41,47): error TS2694: Namespace 'Protocol' has no exported member 'CSS'. node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleDeclaration.js(50,24): error TS2694: Namespace 'Protocol' has no exported member 'CSS'. node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleSheetHeader.js(11,24): error TS2694: Namespace 'Protocol' has no exported member 'CSS'. -node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleSheetHeader.js(40,5): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleSheetHeader.js(40,5): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. Property '_contentURL' does not exist on type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(41,12): error TS2339: Property 'registerDebuggerDispatcher' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(42,26): error TS2339: Property 'debuggerAgent' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(231,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(250,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'SetBreakpointResult'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(267,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(281,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'SetBreakpointResult'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(286,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(304,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'SetBreakpointResult'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(310,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(319,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(324,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(325,73): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(340,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(346,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(347,34): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(351,30): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(355,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(356,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(389,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(419,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(421,33): error TS2694: Namespace 'Protocol' has no exported member 'Error'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(429,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(431,33): error TS2694: Namespace 'Protocol' has no exported member 'Error'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(431,50): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(432,24): error TS2694: Namespace 'Protocol' has no exported member 'Error'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(433,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(434,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(435,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(436,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(498,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(502,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(503,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(504,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(521,31): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(522,27): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(523,19): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(540,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(546,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(700,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(711,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(763,32): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationOptions'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(764,42): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationResult'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(772,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(780,36): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(816,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(822,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(829,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(830,31): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(838,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(839,31): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(852,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(899,22): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(907,78): error TS1003: Identifier expected. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(908,19): error TS2339: Property 'FunctionDetails' does not exist on type 'typeof DebuggerModel'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(967,2): error TS1131: Property or signature expected. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(971,19): error TS2339: Property 'SetBreakpointResult' does not exist on type 'typeof DebuggerModel'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(987,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(991,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(992,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(993,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1009,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1015,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1034,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1040,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1058,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1059,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1085,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1093,25): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1111,26): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1148,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1158,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1174,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1186,37): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1197,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1263,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1266,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1294,32): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationOptions'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1295,42): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationResult'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1308,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1321,28): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1368,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1369,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1370,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1371,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1372,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1373,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1374,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1375,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1376,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1377,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1378,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1379,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1380,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1381,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1382,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1383,16): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1419,33): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1419,84): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1435,33): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1435,84): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1446,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1450,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1451,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1472,30): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1476,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1477,25): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/CSSStyleSheetHeader.js(40,5): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(10,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(30,29): error TS2339: Property 'sendMessageToBackend' does not exist on type 'typeof InspectorFrontendHost'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(34,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(41,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(71,27): error TS2339: Property 'reattach' does not exist on type 'typeof InspectorFrontendHost'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(87,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. +node_modules/chrome-devtools-frontend/front_end/sdk/Connections.js(168,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(14,24): error TS2694: Namespace 'Protocol' has no exported member 'Network'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(40,27): error TS2339: Property 'asParsedURL' does not exist on type 'string'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(65,26): error TS2339: Property 'networkAgent' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(95,39): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(97,10): error TS2339: Property 'networkAgent' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(114,38): error TS2339: Property 'asParsedURL' does not exist on type 'string'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieModel.js(129,38): error TS2339: Property 'networkAgent' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(79,29): error TS2345: Argument of type 'number' is not assignable to parameter of type '{ [x: string]: any; Request: number; Response: number; }'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(97,29): error TS2345: Argument of type 'number' is not assignable to parameter of type '{ [x: string]: any; Request: number; Response: number; }'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(161,26): error TS2694: Namespace 'Cookie' has no exported member 'Type'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(200,26): error TS2694: Namespace 'Cookie' has no exported member 'Type'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(225,27): error TS2694: Namespace 'Cookie' has no exported member 'Type'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(246,25): error TS2694: Namespace 'Protocol' has no exported member 'Network'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(250,33): error TS2694: Namespace 'Protocol' has no exported member 'Network'. +node_modules/chrome-devtools-frontend/front_end/sdk/CookieParser.js(325,53): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. node_modules/chrome-devtools-frontend/front_end/sdk/DOMDebuggerModel.js(11,26): error TS2339: Property 'domdebuggerAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/sdk/DOMDebuggerModel.js(69,50): error TS2694: Namespace 'DOMBreakpoint' has no exported member 'Type'. node_modules/chrome-devtools-frontend/front_end/sdk/DOMDebuggerModel.js(78,50): error TS2694: Namespace 'DOMBreakpoint' has no exported member 'Type'. @@ -10833,6 +10786,112 @@ node_modules/chrome-devtools-frontend/front_end/sdk/DOMModel.js(1715,24): error node_modules/chrome-devtools-frontend/front_end/sdk/DOMModel.js(1723,24): error TS2694: Namespace 'Protocol' has no exported member 'DOM'. node_modules/chrome-devtools-frontend/front_end/sdk/DOMModel.js(1724,32): error TS2694: Namespace 'Protocol' has no exported member 'DOM'. node_modules/chrome-devtools-frontend/front_end/sdk/DOMModel.js(1801,17): error TS2339: Property 'remove' does not exist on type 'DOMModel[]'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(41,12): error TS2339: Property 'registerDebuggerDispatcher' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(42,26): error TS2339: Property 'debuggerAgent' does not exist on type 'Target'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(231,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(250,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'SetBreakpointResult'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(267,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(281,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'SetBreakpointResult'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(286,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(304,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'SetBreakpointResult'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(310,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(319,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(324,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(325,73): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(340,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(346,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(347,34): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(351,30): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(355,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(356,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(389,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(419,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(421,33): error TS2694: Namespace 'Protocol' has no exported member 'Error'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(429,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(431,33): error TS2694: Namespace 'Protocol' has no exported member 'Error'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(431,50): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(432,24): error TS2694: Namespace 'Protocol' has no exported member 'Error'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(433,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(434,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(435,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(436,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(498,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(502,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(503,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(504,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(521,31): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(522,27): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(523,19): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(540,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(546,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(700,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(711,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(763,32): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationOptions'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(764,42): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationResult'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(772,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(780,36): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(816,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(822,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(829,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(830,31): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(838,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(839,31): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(852,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(899,22): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(907,78): error TS1003: Identifier expected. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(908,19): error TS2339: Property 'FunctionDetails' does not exist on type 'typeof DebuggerModel'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(967,2): error TS1131: Property or signature expected. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(971,19): error TS2339: Property 'SetBreakpointResult' does not exist on type 'typeof DebuggerModel'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(987,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(991,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(992,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(993,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1009,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1015,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1034,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1040,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1058,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1059,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1085,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1093,25): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1111,26): error TS2339: Property '_continueToLocationCallback' does not exist on type 'DebuggerModel'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1148,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1158,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1174,24): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1186,37): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1197,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1263,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1266,27): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1294,32): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationOptions'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1295,42): error TS2694: Namespace 'RuntimeModel' has no exported member 'EvaluationResult'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1308,35): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1321,28): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1368,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1369,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1370,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1371,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1372,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1373,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1374,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1375,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1376,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1377,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1378,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1379,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1380,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1381,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1382,21): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1383,16): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1419,33): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1419,84): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1435,33): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1435,84): error TS2339: Property 'Debugger' does not exist on type 'typeof Protocol'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1446,32): error TS2694: Namespace 'Protocol' has no exported member 'Debugger'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1450,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1451,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1472,30): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1476,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/DebuggerModel.js(1477,25): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/EmulationModel.js(11,35): error TS2339: Property 'emulationAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/sdk/EmulationModel.js(12,30): error TS2339: Property 'pageAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/sdk/EmulationModel.js(13,43): error TS2339: Property 'deviceOrientationAgent' does not exist on type 'Target'. @@ -11210,9 +11269,9 @@ node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(718,33): err node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(728,32): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(731,3): error TS2416: Property 'callFunctionJSON' in type 'RemoteObjectImpl' is not assignable to the same property in base type 'RemoteObject'. Type '(functionDeclaration: (this: any) => any, args: any[], callback: (arg0: any) => any) => void' is not assignable to type '(functionDeclaration: (this: any, ...arg1: any[]) => T, args: any[], callback: (arg0: T) => an...'. + Types of parameters 'functionDeclaration' and 'functionDeclaration' are incompatible. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(731,3): error TS2416: Property 'callFunctionJSON' in type 'RemoteObjectImpl' is not assignable to the same property in base type 'RemoteObject'. Type '(functionDeclaration: (this: any) => any, args: any[], callback: (arg0: any) => any) => void' is not assignable to type '(functionDeclaration: (this: any, ...arg1: any[]) => T, args: any[], callback: (arg0: T) => an...'. - Types of parameters 'functionDeclaration' and 'functionDeclaration' are incompatible. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(741,52): error TS2339: Property 'Error' does not exist on type 'typeof Protocol'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(795,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(797,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. @@ -11231,10 +11290,10 @@ node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1179,3): err Types of parameters 'functionDeclaration' and 'functionDeclaration' are incompatible. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1234,21): error TS2694: Namespace 'SDK' has no exported member 'CallFunctionResult'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1265,21): error TS2694: Namespace 'SDK' has no exported member 'CallFunctionResult'. -node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1325,5): error TS2322: Type 'Promise<{ properties: RemoteObjectProperty[]; internalProperties: RemoteObjectProperty[]; }>' is not assignable to type 'Promise'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1325,5): error TS2322: Type 'Promise<{ properties: RemoteObjectProperty[]; internalProperties: RemoteObjectProperty[]; }>' is not assignable to type 'Promise'. Type '{ properties: RemoteObjectProperty[]; internalProperties: RemoteObjectProperty[]; }' is not assignable to type 'RemoteObject'. Property 'customPreview' is missing in type '{ properties: RemoteObjectProperty[]; internalProperties: RemoteObjectProperty[]; }'. +node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1325,5): error TS2322: Type 'Promise<{ properties: RemoteObjectProperty[]; internalProperties: RemoteObjectProperty[]; }>' is not assignable to type 'Promise'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1345,43): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1352,45): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(1363,35): error TS2694: Namespace 'DebuggerModel' has no exported member 'FunctionDetails'. @@ -11377,9 +11436,9 @@ node_modules/chrome-devtools-frontend/front_end/sdk/ScreenCaptureModel.js(152,24 node_modules/chrome-devtools-frontend/front_end/sdk/ScreenCaptureModel.js(160,24): error TS2694: Namespace 'Protocol' has no exported member 'Page'. node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(39,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(143,52): error TS2339: Property 'debuggerAgent' does not exist on type 'Target'. -node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(159,5): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(159,5): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. Property '_contentURL' does not exist on type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. +node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(159,5): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(174,43): error TS2339: Property 'debuggerAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(190,33): error TS2694: Namespace 'Protocol' has no exported member 'Error'. node_modules/chrome-devtools-frontend/front_end/sdk/Script.js(190,50): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. @@ -11466,9 +11525,9 @@ node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(272,30): error node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(284,7): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(284,7): error TS2322: Type 'StaticContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. Property '_contentURL' does not exist on type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. -node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(285,5): error TS2322: Type 'CompilerSourceMappingContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(285,5): error TS2322: Type 'CompilerSourceMappingContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. Property '_sourceURL' does not exist on type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. +node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(285,5): error TS2322: Type 'CompilerSourceMappingContentProvider' is not assignable to type '{ [x: string]: any; contentURL(): string; contentType(): ResourceType; contentEncoded(): Promise<...'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(325,26): error TS2339: Property 'upperBound' does not exist on type 'SourceMapEntry[]'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(338,26): error TS2339: Property 'lowerBound' does not exist on type 'SourceMapEntry[]'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(339,25): error TS2339: Property 'upperBound' does not exist on type 'SourceMapEntry[]'. @@ -11538,9 +11597,9 @@ node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(333,36): er node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(347,36): error TS2345: Argument of type 'number' is not assignable to parameter of type '{ [x: string]: any; WindowDocked: number; WindowUndocked: number; ScriptsBreakpointSet: number; T...'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(351,35): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(356,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. -node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(364,7): error TS2322: Type 'WebSocketConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(364,7): error TS2322: Type 'WebSocketConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. Property '_socket' does not exist on type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. +node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(364,7): error TS2322: Type 'WebSocketConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(365,38): error TS2339: Property 'isHostedMode' does not exist on type 'typeof InspectorFrontendHost'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(366,7): error TS2322: Type 'StubConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(366,7): error TS2322: Type 'StubConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. @@ -11841,9 +11900,9 @@ node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(51,48 Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; }'. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(54,43): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(69,55): error TS2339: Property 'runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(85,5): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(85,5): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. Property 'appendApplicableItems' is missing in type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. +node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(85,5): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(100,15): error TS2339: Property 'keyCode' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(119,31): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(121,42): error TS2339: Property 'createChild' does not exist on type 'Element'. @@ -11868,9 +11927,9 @@ node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(324,3 node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(336,31): error TS2339: Property 'bringToFront' does not exist on type 'typeof InspectorFrontendHost'. node_modules/chrome-devtools-frontend/front_end/settings/SettingsScreen.js(351,31): error TS2339: Property 'bringToFront' does not exist on type 'typeof InspectorFrontendHost'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(70,35): error TS2339: Property 'remove' does not exist on type 'Map'. -node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(113,5): error TS2322: Type 'SnippetsProject' is not assignable to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(113,5): error TS2322: Type 'SnippetsProject' is not assignable to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. Property '_model' does not exist on type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. +node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(113,5): error TS2322: Type 'SnippetsProject' is not assignable to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(137,18): error TS2339: Property 'addEventListener' does not exist on type 'UISourceCode'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(146,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(165,36): error TS2339: Property 'remove' does not exist on type 'Map'. @@ -11883,8 +11942,8 @@ node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(3 node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(379,33): error TS2339: Property 'remove' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(380,42): error TS2339: Property 'remove' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(534,35): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...'. -node_modules/chrome-devtools-frontend/front_end/snippets/SnippetsQuickOpen.js(30,12): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/snippets/SnippetStorage.js(62,27): error TS2339: Property 'valuesArray' does not exist on type 'Map'. +node_modules/chrome-devtools-frontend/front_end/snippets/SnippetsQuickOpen.js(30,12): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/source_frame/FontView.js(38,11): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/source_frame/FontView.js(52,5): error TS2322: Type 'ToolbarText[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/source_frame/FontView.js(52,5): error TS2322: Type 'ToolbarText[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. @@ -11958,11 +12017,11 @@ node_modules/chrome-devtools-frontend/front_end/source_frame/SourceCodeDiff.js(2 node_modules/chrome-devtools-frontend/front_end/source_frame/SourceCodeDiff.js(283,22): error TS2339: Property 'setGutterDecoration' does not exist on type 'CodeMirrorTextEditor'. node_modules/chrome-devtools-frontend/front_end/source_frame/SourceCodeDiff.js(284,22): error TS2339: Property 'toggleLineClass' does not exist on type 'CodeMirrorTextEditor'. node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(41,11): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(115,5): error TS2322: Type 'ToolbarText[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(115,5): error TS2322: Type 'ToolbarText[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. Type 'ToolbarText' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarText' is not assignable to type '{ [x: string]: any; item(): any & any; }'. Property 'item' is missing in type 'ToolbarText'. +node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(115,5): error TS2322: Type 'ToolbarText[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(371,32): error TS2339: Property 'lowerBound' does not exist on type 'any[]'. node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(435,15): error TS2339: Property '__fromRegExpQuery' does not exist on type 'RegExp'. node_modules/chrome-devtools-frontend/front_end/source_frame/SourceFrame.js(459,15): error TS2339: Property '__fromRegExpQuery' does not exist on type 'RegExp'. @@ -12089,6 +12148,23 @@ node_modules/chrome-devtools-frontend/front_end/sources/AdvancedSearchView.js(29 node_modules/chrome-devtools-frontend/front_end/sources/AdvancedSearchView.js(296,58): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/AdvancedSearchView.js(318,19): error TS2339: Property 'keyCode' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/sources/AdvancedSearchView.js(397,46): error TS2339: Property 'window' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(84,13): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(102,19): error TS2339: Property 'sprintf' does not exist on type 'StringConstructor'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(150,31): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(197,26): error TS2339: Property 'title' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(197,34): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(212,26): error TS2339: Property 'title' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(212,34): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(223,11): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(247,45): error TS2345: Argument of type '{ [x: string]: any; Original: string; Nickname: string; HEX: string; ShortHEX: string; HEXA: stri...' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(252,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(259,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(266,25): error TS2339: Property 'setColor' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(288,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(292,25): error TS2339: Property 'setBezierText' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(315,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(327,22): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. +node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(333,40): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(33,11): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(39,57): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(40,49): error TS2555: Expected at least 2 arguments, but got 1. @@ -12125,25 +12201,8 @@ node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js( node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(415,65): error TS1138: Parameter declaration expected. node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(415,65): error TS8024: JSDoc '@param' tag has name 'function', but there is no parameter with that name. node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(429,2): error TS1131: Property or signature expected. -node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(435,30): error TS2300: Duplicate identifier 'Item'. node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(435,30): error TS2339: Property 'Item' does not exist on type 'typeof CallStackSidebarPane'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(84,13): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(102,19): error TS2339: Property 'sprintf' does not exist on type 'StringConstructor'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(150,31): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(197,26): error TS2339: Property 'title' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(197,34): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(212,26): error TS2339: Property 'title' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(212,34): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(223,11): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(247,45): error TS2345: Argument of type '{ [x: string]: any; Original: string; Nickname: string; HEX: string; ShortHEX: string; HEXA: stri...' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(252,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(259,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(266,25): error TS2339: Property 'setColor' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(288,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(292,25): error TS2339: Property 'setBezierText' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(315,22): error TS2694: Namespace 'Common' has no exported member 'Event'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(327,22): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. -node_modules/chrome-devtools-frontend/front_end/sources/CSSPlugin.js(333,40): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. +node_modules/chrome-devtools-frontend/front_end/sources/CallStackSidebarPane.js(435,30): error TS2300: Duplicate identifier 'Item'. node_modules/chrome-devtools-frontend/front_end/sources/DebuggerPausedMessage.js(11,33): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/sources/DebuggerPausedMessage.js(54,37): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/DebuggerPausedMessage.js(56,37): error TS2555: Expected at least 2 arguments, but got 1. @@ -12162,8 +12221,8 @@ node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpoints node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpointsSidebarPane.js(24,113): error TS2694: Namespace 'EventListenerBreakpointsSidebarPane' has no exported member 'Item'. node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpointsSidebarPane.js(57,33): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpointsSidebarPane.js(125,64): error TS1003: Identifier expected. -node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpointsSidebarPane.js(126,45): error TS2300: Duplicate identifier 'Item'. node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpointsSidebarPane.js(126,45): error TS2339: Property 'Item' does not exist on type 'typeof EventListenerBreakpointsSidebarPane'. +node_modules/chrome-devtools-frontend/front_end/sources/EventListenerBreakpointsSidebarPane.js(126,45): error TS2300: Duplicate identifier 'Item'. node_modules/chrome-devtools-frontend/front_end/sources/FilteredUISourceCodeListProvider.js(20,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/sources/FilteredUISourceCodeListProvider.js(140,21): error TS2339: Property 'title' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/sources/FilteredUISourceCodeListProvider.js(159,13): error TS2339: Property 'removeChildren' does not exist on type 'Element'. @@ -12573,8 +12632,8 @@ node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(108,25): node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(113,15): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(113,48): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(134,52): error TS2694: Namespace 'KeyboardShortcut' has no exported member 'Descriptor'. -node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(134,65): error TS1138: Parameter declaration expected. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(134,65): error TS8024: JSDoc '@param' tag has name 'function', but there is no parameter with that name. +node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(134,65): error TS1138: Parameter declaration expected. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(139,45): error TS2694: Namespace 'KeyboardShortcut' has no exported member 'Descriptor'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(190,43): error TS2694: Namespace 'KeyboardShortcut' has no exported member 'Descriptor'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(287,22): error TS2694: Namespace 'Common' has no exported member 'Event'. @@ -13062,8 +13121,8 @@ node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1016,1 node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1025,32): error TS2339: Property '_pageLoadedCallback' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1031,14): error TS2339: Property '_pageLoadedCallback' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1035,18): error TS1099: Type argument list cannot be empty. -node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1035,19): error TS1005: '>' expected. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1035,19): error TS8024: JSDoc '@param' tag has name 'function', but there is no parameter with that name. +node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1035,19): error TS1005: '>' expected. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1129,21): error TS2339: Property 'resourceTreeModel' does not exist on type 'typeof TestRunner'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1192,15): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1203,19): error TS2339: Property 'naturalOrderComparator' does not exist on type 'StringConstructor'. @@ -13079,65 +13138,6 @@ node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1424,1 node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1425,37): error TS2339: Property '_instanceForTest' does not exist on type 'typeof Main'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1426,27): error TS2339: Property '_instanceForTest' does not exist on type 'typeof Main'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(1427,48): error TS2339: Property '_instanceForTest' does not exist on type 'typeof Main'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(107,5): error TS2322: Type 'Timer' is not assignable to type 'number'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(208,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(221,7): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(378,10): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/Tests.js(397,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(416,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(440,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(475,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(571,33): error TS2339: Property 'deprecatedRunAfterPendingDispatches' does not exist on type 'typeof InspectorBackend'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(590,27): error TS2554: Expected 0 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(687,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(711,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(735,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(769,28): error TS2339: Property 'networkPresets' does not exist on type 'typeof MobileThrottling'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(775,28): error TS2339: Property 'networkPresets' does not exist on type 'typeof MobileThrottling'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(781,28): error TS2339: Property 'networkPresets' does not exist on type 'typeof MobileThrottling'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(814,31): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/Tests.js(816,7): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(847,9): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(848,9): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(886,29): error TS2339: Property 'getPreferences' does not exist on type 'typeof InspectorFrontendHost'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(890,17): error TS2339: Property '_instanceForTest' does not exist on type 'typeof Main'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(893,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(894,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(895,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(897,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(898,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(899,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(917,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(918,7): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(929,33): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(934,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(935,7): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(959,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(960,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(961,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(965,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(966,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(967,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(968,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(969,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(970,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(974,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(975,11): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(976,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(977,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(978,11): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(986,5): error TS2554: Expected 3 arguments, but got 2. -node_modules/chrome-devtools-frontend/front_end/Tests.js(988,5): error TS2554: Expected 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1033,25): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/Tests.js(1040,23): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/Tests.js(1084,20): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/Tests.js(1139,33): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1142,31): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1186,5): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1199,9): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1199,28): error TS2551: Property 'panels' does not exist on type 'typeof UI'. Did you mean 'Panel'? -node_modules/chrome-devtools-frontend/front_end/Tests.js(1229,10): error TS2339: Property 'uiTests' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1229,41): error TS2339: Property 'domAutomationController' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(36,29): error TS2694: Namespace 'TextEditor' has no exported member 'Options'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(47,35): error TS2339: Property 'CodeMirror' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(165,18): error TS2339: Property 'style' does not exist on type 'Element'. @@ -13185,9 +13185,9 @@ node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1038,34): error TS2694: Namespace 'CodeMirror' has no exported member 'ChangeObject'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1052,23): error TS2339: Property 'valuesArray' does not exist on type 'Multimap'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1053,23): error TS2339: Property 'clear' does not exist on type 'Multimap'. -node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1261,5): error TS2322: Type 'CodeMirrorPositionHandle' is not assignable to type '{ [x: string]: any; resolve(): { lineNumber: number; columnNumber: number; }; equal(positionHandl...'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1261,5): error TS2322: Type 'CodeMirrorPositionHandle' is not assignable to type '{ [x: string]: any; resolve(): { lineNumber: number; columnNumber: number; }; equal(positionHandl...'. Property '_codeMirror' does not exist on type '{ [x: string]: any; resolve(): { lineNumber: number; columnNumber: number; }; equal(positionHandl...'. +node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1261,5): error TS2322: Type 'CodeMirrorPositionHandle' is not assignable to type '{ [x: string]: any; resolve(): { lineNumber: number; columnNumber: number; }; equal(positionHandl...'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1301,31): error TS2339: Property 'listSelections' does not exist on type 'CodeMirror'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1305,38): error TS2339: Property 'findMatchingBracket' does not exist on type 'CodeMirror'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1313,14): error TS2339: Property 'setSelections' does not exist on type 'CodeMirror'. @@ -13273,8 +13273,8 @@ node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(21,39): error node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(51,31): error TS2694: Namespace 'Text' has no exported member 'Position'. node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(55,34): error TS2339: Property 'lowerBound' does not exist on type 'number[]'. node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(121,59): error TS1003: Identifier expected. -node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(122,16): error TS2300: Duplicate identifier 'Position'. node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(122,16): error TS2339: Property 'Position' does not exist on type 'typeof Text'. +node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(122,16): error TS2300: Duplicate identifier 'Position'. node_modules/chrome-devtools-frontend/front_end/text_utils/Text.js(160,42): error TS2339: Property 'lowerBound' does not exist on type 'number[]'. node_modules/chrome-devtools-frontend/front_end/text_utils/TextRange.js(84,31): error TS2339: Property 'computeLineEndings' does not exist on type 'string'. node_modules/chrome-devtools-frontend/front_end/text_utils/TextUtils.js(30,11): error TS2339: Property 'TextUtils' does not exist on type 'typeof TextUtils'. @@ -13435,10 +13435,10 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.j node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(204,36): error TS2339: Property '_overviewIndex' does not exist on type 'TimelineCategory'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(246,68): error TS2339: Property 'peekLast' does not exist on type 'any[]'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(248,81): error TS2339: Property '_overviewIndex' does not exist on type 'TimelineCategory'. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(384,7): error TS2322: Type 'Promise HTMLImageElement>' is not assignable to type 'Promise'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(384,7): error TS2322: Type 'Promise HTMLImageElement>' is not assignable to type 'Promise'. Type 'new (width?: number, height?: number) => HTMLImageElement' is not assignable to type 'HTMLImageElement'. Property 'align' is missing in type 'new (width?: number, height?: number) => HTMLImageElement'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(384,7): error TS2322: Type 'Promise HTMLImageElement>' is not assignable to type 'Promise'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(457,17): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(483,24): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineEventOverview.js(524,28): error TS2339: Property 'peekLast' does not exist on type 'TimelineFrame[]'. @@ -13776,21 +13776,21 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(712 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(717,9): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(717,9): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. Property 'icon' is missing in type '{ name: string; color: string; }'. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(727,9): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(727,9): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. Property 'icon' is missing in type '{ name: string; color: string; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(727,9): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(731,13): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(733,9): error TS2322: Type '{ name: any; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(733,9): error TS2322: Type '{ name: any; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. Property 'icon' is missing in type '{ name: any; color: string; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(733,9): error TS2322: Type '{ name: any; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(743,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'name' must be of type 'any', but here has type 'string'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(753,91): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(754,9): error TS2322: Type '{ name: any; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(754,9): error TS2322: Type '{ name: any; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. Property 'icon' is missing in type '{ name: any; color: string; }'. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(759,5): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(754,9): error TS2322: Type '{ name: any; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(759,5): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. Property 'icon' is missing in type '{ name: string; color: string; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(759,5): error TS2322: Type '{ name: string; color: string; }' is not assignable to type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(770,15): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(771,15): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(772,15): error TS2555: Expected at least 2 arguments, but got 1. @@ -14395,13 +14395,13 @@ node_modules/chrome-devtools-frontend/front_end/timeline_model/TracingLayerTree. node_modules/chrome-devtools-frontend/front_end/timeline_model/TracingLayerTree.js(448,90): error TS2339: Property 'name' does not exist on type 'string'. node_modules/chrome-devtools-frontend/front_end/timeline_model/TracingLayerTree.js(452,90): error TS2339: Property 'name' does not exist on type 'string'. node_modules/chrome-devtools-frontend/front_end/timeline_model/TracingLayerTree.js(456,90): error TS2339: Property 'name' does not exist on type 'string'. +node_modules/chrome-devtools-frontend/front_end/ui/ARIAUtils.js(91,41): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/ui/ARIAUtils.js(109,41): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/ui/ARIAUtils.js(120,40): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. node_modules/chrome-devtools-frontend/front_end/ui/ActionRegistry.js(15,10): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/ui/ActionRegistry.js(33,53): error TS2339: Property 'keysArray' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/ui/ActionRegistry.js(48,53): error TS2339: Property 'valuesArray' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/ui/ActionRegistry.js(210,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. -node_modules/chrome-devtools-frontend/front_end/ui/ARIAUtils.js(91,41): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/ui/ARIAUtils.js(109,41): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/ui/ARIAUtils.js(120,40): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. node_modules/chrome-devtools-frontend/front_end/ui/Context.js(14,33): error TS1110: Type expected. node_modules/chrome-devtools-frontend/front_end/ui/Context.js(25,21): error TS2339: Property 'remove' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/ui/Context.js(31,33): error TS1110: Type expected. @@ -14487,8 +14487,8 @@ node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(351,46): error T node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(351,59): error TS2339: Property 'shiftKey' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(352,37): error TS2339: Property 'typeName' does not exist on type 'EventTarget'. node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(374,73): error TS1003: Identifier expected. -node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(375,24): error TS2300: Duplicate identifier 'Item'. node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(375,24): error TS2339: Property 'Item' does not exist on type 'typeof NamedBitSetFilterUI'. +node_modules/chrome-devtools-frontend/front_end/ui/FilterBar.js(375,24): error TS2300: Duplicate identifier 'Item'. node_modules/chrome-devtools-frontend/front_end/ui/FilterSuggestionBuilder.js(21,39): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. node_modules/chrome-devtools-frontend/front_end/ui/ForwardedInputEventHandler.js(14,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/Fragment.js(12,49): error TS2694: Namespace 'Fragment' has no exported member '_State'. @@ -14598,9 +14598,9 @@ node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(92,51): erro node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(116,7): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(116,7): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. Property 'appendApplicableItems' is missing in type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. -node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(118,7): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(118,7): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. Property 'appendApplicableItems' is missing in type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. +node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(118,7): error TS2322: Type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(247,73): error TS2339: Property 'altKey' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(247,89): error TS2339: Property 'shiftKey' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/InspectorView.js(254,17): error TS2339: Property 'keyCode' does not exist on type 'Event'. @@ -14995,8 +14995,8 @@ node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(58,15): error T node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(70,18): error TS2694: Namespace 'UI' has no exported member 'AutocompleteConfig'. node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(79,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(91,2): error TS1131: Property or signature expected. -node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(101,15): error TS2300: Duplicate identifier 'Options'. node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(101,15): error TS2339: Property 'Options' does not exist on type '{ (): void; Events: { [x: string]: any; TextChanged: symbol; }; }'. +node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(101,15): error TS2300: Duplicate identifier 'Options'. node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(105,2): error TS1131: Property or signature expected. node_modules/chrome-devtools-frontend/front_end/ui/TextEditor.js(111,4): error TS2339: Property 'AutocompleteConfig' does not exist on type 'typeof UI'. node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(52,74): error TS2694: Namespace 'SuggestBox' has no exported member 'Suggestions'. @@ -15027,9 +15027,9 @@ node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(592,35): error node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(601,32): error TS2339: Property 'isAncestor' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(610,54): error TS2339: Property 'isAncestor' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(622,35): error TS2339: Property 'getComponentSelection' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(627,7): error TS2322: Type 'Node' is not assignable to type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(627,7): error TS2322: Type 'Node' is not assignable to type 'Element'. Property 'assignedSlot' is missing in type 'Node'. +node_modules/chrome-devtools-frontend/front_end/ui/TextPrompt.js(627,7): error TS2322: Type 'Node' is not assignable to type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(43,50): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(48,45): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(75,24): error TS2694: Namespace 'Common' has no exported member 'Event'. @@ -15095,63 +15095,6 @@ node_modules/chrome-devtools-frontend/front_end/ui/Tooltip.js(134,24): error TS2 node_modules/chrome-devtools-frontend/front_end/ui/Tooltip.js(135,17): error TS2339: Property 'y' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/Tooltip.js(136,17): error TS2339: Property 'y' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/Tooltip.js(178,17): error TS2304: Cannot find name 'ObjectPropertyDescriptor'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(49,52): error TS2345: Argument of type '-1' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(61,23): error TS2339: Property 'root' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(123,50): error TS2551: Property 'deepElementFromPoint' does not exist on type 'Document'. Did you mean 'msElementsFromPoint'? -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(138,52): error TS2339: Property 'pageX' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(138,65): error TS2339: Property 'pageY' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(154,52): error TS2345: Argument of type '-1' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(167,48): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(169,27): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(257,105): error TS2339: Property 'shiftKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(258,15): error TS2339: Property 'metaKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(258,32): error TS2339: Property 'ctrlKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(262,15): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(262,43): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(264,22): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(264,52): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(266,22): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(267,65): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(268,22): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(273,66): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(275,22): error TS2339: Property 'keyCode' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(275,61): error TS2339: Property 'keyCode' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(279,22): error TS2339: Property 'keyCode' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(281,22): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(283,22): error TS2339: Property 'key' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(288,13): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(297,20): error TS2339: Property 'window' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(330,48): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(369,45): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(370,24): error TS2339: Property 'treeElement' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(379,28): error TS2339: Property 'parentTreeElement' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(470,39): error TS2339: Property 'lowerBound' does not exist on type 'any[]'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(582,15): error TS2339: Property 'root' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(650,24): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(675,22): error TS2339: Property '_shadowRoot' does not exist on type 'TreeOutline'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(690,31): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(707,32): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(727,24): error TS2339: Property 'title' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(805,48): error TS2339: Property '_renderSelection' does not exist on type 'TreeOutline'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(810,30): error TS2339: Property 'style' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(819,17): error TS2339: Property 'treeElement' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(819,49): error TS2339: Property 'hasSelection' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(822,30): error TS2339: Property 'toggleOnClick' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(828,17): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(833,17): error TS2339: Property 'altKey' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(838,11): error TS2339: Property 'consume' does not exist on type 'Event'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(850,17): error TS2339: Property 'treeElement' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(864,29): error TS2339: Property 'treeElement' does not exist on type 'EventTarget'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(896,7): error TS2322: Type 'TreeElement' is not assignable to type 'this'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(945,7): error TS2322: Type 'TreeElement' is not assignable to type 'this'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1063,55): error TS2339: Property 'hasFocus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1064,28): error TS2339: Property 'focus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1078,51): error TS2345: Argument of type '0' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1105,39): error TS2339: Property 'hasFocus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1209,32): error TS2339: Property 'root' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1217,29): error TS2339: Property 'root' does not exist on type 'TreeElement'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1259,35): error TS2339: Property 'totalOffsetLeft' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1273,18): error TS2339: Property '_imagePreload' does not exist on type 'typeof TreeElement'. node_modules/chrome-devtools-frontend/front_end/ui/UIUtils.js(31,4): error TS2339: Property 'highlightedSearchResultClassName' does not exist on type 'typeof UI'. node_modules/chrome-devtools-frontend/front_end/ui/UIUtils.js(32,4): error TS2339: Property 'highlightedCurrentSearchResultClassName' does not exist on type 'typeof UI'. node_modules/chrome-devtools-frontend/front_end/ui/UIUtils.js(69,13): error TS2339: Property 'style' does not exist on type 'Element'. @@ -15470,6 +15413,63 @@ node_modules/chrome-devtools-frontend/front_end/ui/XWidget.js(156,29): error TS2 node_modules/chrome-devtools-frontend/front_end/ui/XWidget.js(161,15): error TS2339: Property 'focus' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/ZoomManager.js(15,43): error TS2339: Property 'zoomFactor' does not exist on type 'typeof InspectorFrontendHostAPI'. node_modules/chrome-devtools-frontend/front_end/ui/ZoomManager.js(44,43): error TS2339: Property 'zoomFactor' does not exist on type 'typeof InspectorFrontendHostAPI'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(49,52): error TS2345: Argument of type '-1' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(61,23): error TS2339: Property 'root' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(123,50): error TS2551: Property 'deepElementFromPoint' does not exist on type 'Document'. Did you mean 'msElementsFromPoint'? +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(138,52): error TS2339: Property 'pageX' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(138,65): error TS2339: Property 'pageY' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(154,52): error TS2345: Argument of type '-1' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(167,48): error TS2339: Property 'focus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(169,27): error TS2339: Property 'focus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(257,105): error TS2339: Property 'shiftKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(258,15): error TS2339: Property 'metaKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(258,32): error TS2339: Property 'ctrlKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(262,15): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(262,43): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(264,22): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(264,52): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(266,22): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(267,65): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(268,22): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(273,66): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(275,22): error TS2339: Property 'keyCode' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(275,61): error TS2339: Property 'keyCode' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(279,22): error TS2339: Property 'keyCode' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(281,22): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(283,22): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(288,13): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(297,20): error TS2339: Property 'window' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(330,48): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(369,45): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(370,24): error TS2339: Property 'treeElement' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(379,28): error TS2339: Property 'parentTreeElement' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(470,39): error TS2339: Property 'lowerBound' does not exist on type 'any[]'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(582,15): error TS2339: Property 'root' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(650,24): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(675,22): error TS2339: Property '_shadowRoot' does not exist on type 'TreeOutline'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(690,31): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(707,32): error TS2339: Property 'removeChildren' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(727,24): error TS2339: Property 'title' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(805,48): error TS2339: Property '_renderSelection' does not exist on type 'TreeOutline'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(810,30): error TS2339: Property 'style' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(819,17): error TS2339: Property 'treeElement' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(819,49): error TS2339: Property 'hasSelection' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(822,30): error TS2339: Property 'toggleOnClick' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(828,17): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(833,17): error TS2339: Property 'altKey' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(838,11): error TS2339: Property 'consume' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(850,17): error TS2339: Property 'treeElement' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(864,29): error TS2339: Property 'treeElement' does not exist on type 'EventTarget'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(896,7): error TS2322: Type 'TreeElement' is not assignable to type 'this'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(945,7): error TS2322: Type 'TreeElement' is not assignable to type 'this'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1063,55): error TS2339: Property 'hasFocus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1064,28): error TS2339: Property 'focus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1078,51): error TS2345: Argument of type '0' is not assignable to parameter of type 'string'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1105,39): error TS2339: Property 'hasFocus' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1209,32): error TS2339: Property 'root' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1217,29): error TS2339: Property 'root' does not exist on type 'TreeElement'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1259,35): error TS2339: Property 'totalOffsetLeft' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/ui/treeoutline.js(1273,18): error TS2339: Property '_imagePreload' does not exist on type 'typeof TreeElement'. node_modules/chrome-devtools-frontend/front_end/worker_service/ServiceDispatcher.js(12,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/worker_service/ServiceDispatcher.js(17,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/worker_service/ServiceDispatcher.js(34,16): error TS2339: Property 'setHandlers' does not exist on type 'typeof ServicePort'. @@ -15536,10 +15536,10 @@ node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(188,15): node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(199,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(204,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(229,25): error TS2694: Namespace 'Workspace' has no exported member 'projectTypes'. -node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(243,25): error TS2352: Type 'this' cannot be converted to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(243,25): error TS2352: Type 'this' cannot be converted to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. Type 'ProjectStore' is not comparable to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. Property 'isServiceProject' is missing in type 'ProjectStore'. +node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(243,25): error TS2352: Type 'this' cannot be converted to type '{ [x: string]: any; workspace(): Workspace; id(): string; type(): string; isServiceProject(): boo...'. node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(257,5): error TS2322: Type '{ [x: string]: any; Debugger: string; Formatter: string; Network: string; Snippets: string; FileS...' is not assignable to type 'string'. node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(432,27): error TS2339: Property 'valuesArray' does not exist on type 'Map any'. node_modules/enhanced-resolve/lib/CachedInputFileSystem.js(224,23): error TS2322: Type 'null' is not assignable to type '(path: any, callback: any) => void'. node_modules/enhanced-resolve/lib/CachedInputFileSystem.js(227,27): error TS2322: Type 'null' is not assignable to type '(path: any) => any'. -node_modules/enhanced-resolve/lib/concord.js(75,30): error TS2531: Object is possibly 'null'. -node_modules/enhanced-resolve/lib/concord.js(76,17): error TS2531: Object is possibly 'null'. -node_modules/enhanced-resolve/lib/createInnerCallback.js(16,20): error TS2339: Property 'stack' does not exist on type '(...args: any[]) => any'. -node_modules/enhanced-resolve/lib/createInnerCallback.js(17,20): error TS2339: Property 'missing' does not exist on type '(...args: any[]) => any'. node_modules/enhanced-resolve/lib/Resolver.js(162,17): error TS2339: Property 'push' does not exist on type 'Set'. node_modules/enhanced-resolve/lib/Resolver.js(178,11): error TS2339: Property 'details' does not exist on type 'Error'. node_modules/enhanced-resolve/lib/Resolver.js(179,11): error TS2339: Property 'missing' does not exist on type 'Error'. node_modules/enhanced-resolve/lib/Resolver.js(213,20): error TS2339: Property 'recursion' does not exist on type 'Error'. +node_modules/enhanced-resolve/lib/concord.js(75,30): error TS2531: Object is possibly 'null'. +node_modules/enhanced-resolve/lib/concord.js(76,17): error TS2531: Object is possibly 'null'. +node_modules/enhanced-resolve/lib/createInnerCallback.js(16,20): error TS2339: Property 'stack' does not exist on type '(...args: any[]) => any'. +node_modules/enhanced-resolve/lib/createInnerCallback.js(17,20): error TS2339: Property 'missing' does not exist on type '(...args: any[]) => any'. Standard error: diff --git a/tests/baselines/reference/user/lodash.log b/tests/baselines/reference/user/lodash.log index 25895bf2cc4..53443ad51be 100644 --- a/tests/baselines/reference/user/lodash.log +++ b/tests/baselines/reference/user/lodash.log @@ -1,5 +1,10 @@ Exit Code: 1 Standard output: +node_modules/lodash/_Hash.js(20,17): error TS2532: Object is possibly 'undefined'. +node_modules/lodash/_ListCache.js(20,17): error TS2532: Object is possibly 'undefined'. +node_modules/lodash/_MapCache.js(20,17): error TS2532: Object is possibly 'undefined'. +node_modules/lodash/_SetCache.js(19,14): error TS2532: Object is possibly 'undefined'. +node_modules/lodash/_Stack.js(17,20): error TS2339: Property 'size' does not exist on type 'ListCache'. node_modules/lodash/_arrayAggregator.js(16,17): error TS2532: Object is possibly 'undefined'. node_modules/lodash/_arrayEach.js(15,18): error TS2532: Object is possibly 'undefined'. node_modules/lodash/_arrayEach.js(19,3): error TS2322: Type 'any[] | undefined' is not assignable to type 'any[]'. @@ -130,9 +135,8 @@ node_modules/lodash/_equalObjects.js(70,18): error TS2322: Type 'boolean' is not node_modules/lodash/_getHolder.js(10,17): error TS2339: Property 'placeholder' does not exist on type 'Function'. node_modules/lodash/_getRawTag.js(36,7): error TS2454: Variable 'unmasked' is used before being assigned. node_modules/lodash/_getSymbolsIn.js(19,23): error TS2554: Expected 0 arguments, but got 1. -node_modules/lodash/_Hash.js(20,17): error TS2532: Object is possibly 'undefined'. -node_modules/lodash/_hashDelete.js(7,20): error TS8024: JSDoc '@param' tag has name 'hash', but there is no parameter with that name. node_modules/lodash/_hasPath.js(35,50): error TS2454: Variable 'key' is used before being assigned. +node_modules/lodash/_hashDelete.js(7,20): error TS8024: JSDoc '@param' tag has name 'hash', but there is no parameter with that name. node_modules/lodash/_initCloneArray.js(16,16): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. node_modules/lodash/_initCloneArray.js(20,26): error TS2339: Property 'index' does not exist on type 'any[]'. node_modules/lodash/_initCloneArray.js(21,26): error TS2339: Property 'input' does not exist on type 'any[]'. @@ -140,8 +144,6 @@ node_modules/lodash/_insertWrapDetails.js(10,5): error TS1223: 'returns' tag alr node_modules/lodash/_insertWrapDetails.js(15,5): error TS2322: Type 'string' is not assignable to type 'any[]'. node_modules/lodash/_insertWrapDetails.js(20,3): error TS2322: Type 'string' is not assignable to type 'any[]'. node_modules/lodash/_isLaziable.js(24,14): error TS2554: Expected 0 arguments, but got 1. -node_modules/lodash/_ListCache.js(20,17): error TS2532: Object is possibly 'undefined'. -node_modules/lodash/_MapCache.js(20,17): error TS2532: Object is possibly 'undefined'. node_modules/lodash/_memoizeCapped.js(22,22): error TS2339: Property 'cache' does not exist on type 'Function'. node_modules/lodash/_mergeData.js(60,26): error TS2554: Expected 4 arguments, but got 3. node_modules/lodash/_mergeData.js(67,26): error TS2554: Expected 4 arguments, but got 3. @@ -155,8 +157,6 @@ node_modules/lodash/_overRest.js(27,27): error TS2532: Object is possibly 'undef node_modules/lodash/_overRest.js(28,22): error TS2532: Object is possibly 'undefined'. node_modules/lodash/_overRest.js(31,15): error TS2538: Type 'undefined' cannot be used as an index type. node_modules/lodash/_root.js(4,56): error TS2339: Property 'Object' does not exist on type 'Window'. -node_modules/lodash/_SetCache.js(19,14): error TS2532: Object is possibly 'undefined'. -node_modules/lodash/_Stack.js(17,20): error TS2339: Property 'size' does not exist on type 'ListCache'. node_modules/lodash/_unicodeWords.js(62,20): error TS8024: JSDoc '@param' tag has name 'The', but there is no parameter with that name. node_modules/lodash/_updateWrapDetails.js(34,5): error TS1223: 'returns' tag already specified. node_modules/lodash/ary.js(16,10): error TS1003: Identifier expected. @@ -181,8 +181,8 @@ node_modules/lodash/core.js(77,82): error TS2339: Property 'nodeType' does not e node_modules/lodash/core.js(540,19): error TS2322: Type '(value: any) => boolean' is not assignable to type 'boolean | undefined'. Type '(value: any) => boolean' is not assignable to type 'false'. node_modules/lodash/core.js(545,24): error TS2532: Object is possibly 'undefined'. -node_modules/lodash/core.js(545,24): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/lodash/core.js(545,24): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'Boolean' has no compatible call signatures. +node_modules/lodash/core.js(545,24): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/lodash/core.js(664,42): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. node_modules/lodash/core.js(721,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'result' must be of type 'boolean', but here has type 'any'. node_modules/lodash/core.js(749,18): error TS8024: JSDoc '@param' tag has name 'value', but there is no parameter with that name. @@ -218,8 +218,8 @@ node_modules/lodash/core.js(1566,33): error TS2554: Expected 1 arguments, but go node_modules/lodash/core.js(1709,41): error TS2532: Object is possibly 'undefined'. node_modules/lodash/core.js(1872,12): error TS1003: Identifier expected. node_modules/lodash/core.js(1872,12): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. -node_modules/lodash/core.js(2142,12): error TS1003: Identifier expected. node_modules/lodash/core.js(2142,12): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/core.js(2142,12): error TS1003: Identifier expected. node_modules/lodash/core.js(2183,41): error TS8024: JSDoc '@param' tag has name 'iteratees', but there is no parameter with that name. node_modules/lodash/core.js(2473,21): error TS2554: Expected 0 arguments, but got 1. node_modules/lodash/core.js(2609,39): error TS2554: Expected 0 arguments, but got 1. @@ -235,11 +235,11 @@ node_modules/lodash/core.js(3830,45): error TS2304: Cannot find name 'define'. node_modules/lodash/core.js(3830,71): error TS2304: Cannot find name 'define'. node_modules/lodash/core.js(3839,5): error TS2304: Cannot find name 'define'. node_modules/lodash/core.js(3846,35): error TS2339: Property '_' does not exist on type 'typeof lodash'. -node_modules/lodash/curry.js(24,10): error TS1003: Identifier expected. node_modules/lodash/curry.js(24,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/curry.js(24,10): error TS1003: Identifier expected. node_modules/lodash/curry.js(50,10): error TS2339: Property 'placeholder' does not exist on type 'Function'. -node_modules/lodash/curryRight.js(21,10): error TS1003: Identifier expected. node_modules/lodash/curryRight.js(21,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/curryRight.js(21,10): error TS1003: Identifier expected. node_modules/lodash/curryRight.js(47,10): error TS2339: Property 'placeholder' does not exist on type 'Function'. node_modules/lodash/debounce.js(83,17): error TS2532: Object is possibly 'undefined'. node_modules/lodash/debounce.js(84,27): error TS2532: Object is possibly 'undefined'. @@ -255,22 +255,21 @@ node_modules/lodash/differenceBy.js(40,52): error TS2345: Argument of type '(val node_modules/lodash/differenceBy.js(40,78): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/differenceWith.js(36,52): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'. Type '(value: any) => boolean' is not assignable to type 'false'. -node_modules/lodash/drop.js(13,10): error TS1003: Identifier expected. node_modules/lodash/drop.js(13,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/drop.js(13,10): error TS1003: Identifier expected. node_modules/lodash/dropRight.js(13,10): error TS1003: Identifier expected. node_modules/lodash/dropRight.js(13,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. node_modules/lodash/dropRightWhile.js(41,24): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/dropWhile.js(41,24): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/escape.js(39,39): error TS2345: Argument of type 'Function' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'. -node_modules/lodash/every.js(23,10): error TS1003: Identifier expected. node_modules/lodash/every.js(23,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/every.js(23,10): error TS1003: Identifier expected. node_modules/lodash/every.js(53,27): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/filter.js(45,27): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/findIndex.js(52,31): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/findKey.js(41,30): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/findLastIndex.js(56,31): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/findLastKey.js(41,30): error TS2554: Expected 0-1 arguments, but got 2. -node_modules/lodash/fp.js(2,18): error TS2554: Expected 3-4 arguments, but got 2. node_modules/lodash/fp/_baseConvert.js(144,5): error TS2322: Type 'Function' is not assignable to type '{ cap?: boolean; curry?: boolean; fixed?: boolean; immutable?: boolean; rearg?: boolean; } | unde...'. Type 'Function' has no properties in common with type '{ cap?: boolean; curry?: boolean; fixed?: boolean; immutable?: boolean; rearg?: boolean; }'. node_modules/lodash/fp/_baseConvert.js(145,5): error TS2322: Type 'string' is not assignable to type 'Function'. @@ -326,6 +325,7 @@ node_modules/lodash/fp/object.js(2,26): error TS2345: Argument of type '{ [x: st node_modules/lodash/fp/seq.js(2,26): error TS2345: Argument of type '{ [x: string]: any; 'at': Function; 'chain': (value: any) => any; 'commit': () => any; 'lodash': ...' is not assignable to parameter of type 'string'. node_modules/lodash/fp/string.js(2,26): error TS2345: Argument of type '{ [x: string]: any; 'camelCase': Function; 'capitalize': (string?: string | undefined) => string;...' is not assignable to parameter of type 'string'. node_modules/lodash/fp/util.js(2,26): error TS2345: Argument of type '{ [x: string]: any; 'attempt': Function; 'bindAll': Function; 'cond': (pairs: any[]) => Function;...' is not assignable to parameter of type 'string'. +node_modules/lodash/fp.js(2,18): error TS2554: Expected 3-4 arguments, but got 2. node_modules/lodash/includes.js(24,10): error TS1003: Identifier expected. node_modules/lodash/includes.js(24,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. node_modules/lodash/intersectionBy.js(41,32): error TS2554: Expected 0-1 arguments, but got 2. @@ -371,10 +371,10 @@ node_modules/lodash/remove.js(41,15): error TS2554: Expected 0-1 arguments, but node_modules/lodash/repeat.js(15,10): error TS1003: Identifier expected. node_modules/lodash/repeat.js(15,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. node_modules/lodash/replace.js(15,29): error TS8029: JSDoc '@param' tag has name 'replacement', but there is no parameter with that name. It would match 'arguments' if it had an array type. -node_modules/lodash/sampleSize.js(17,10): error TS1003: Identifier expected. node_modules/lodash/sampleSize.js(17,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. -node_modules/lodash/some.js(18,10): error TS1003: Identifier expected. +node_modules/lodash/sampleSize.js(17,10): error TS1003: Identifier expected. node_modules/lodash/some.js(18,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/some.js(18,10): error TS1003: Identifier expected. node_modules/lodash/some.js(48,27): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/sortedIndexBy.js(30,42): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/sortedLastIndexBy.js(30,42): error TS2554: Expected 0-1 arguments, but got 2. @@ -388,8 +388,8 @@ node_modules/lodash/takeRight.js(13,10): error TS1003: Identifier expected. node_modules/lodash/takeRight.js(13,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. node_modules/lodash/takeRightWhile.js(41,24): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/takeWhile.js(41,24): error TS2554: Expected 0-1 arguments, but got 2. -node_modules/lodash/template.js(65,10): error TS1003: Identifier expected. node_modules/lodash/template.js(65,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/template.js(65,10): error TS1003: Identifier expected. node_modules/lodash/template.js(146,34): error TS2532: Object is possibly 'undefined'. node_modules/lodash/template.js(153,21): error TS2532: Object is possibly 'undefined'. node_modules/lodash/template.js(158,6): error TS2532: Object is possibly 'undefined'. @@ -414,8 +414,8 @@ node_modules/lodash/transform.js(59,3): error TS2349: Cannot invoke an expressio node_modules/lodash/transform.js(60,12): error TS2722: Cannot invoke an object which is possibly 'undefined'. node_modules/lodash/trim.js(20,10): error TS1003: Identifier expected. node_modules/lodash/trim.js(20,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. -node_modules/lodash/trimEnd.js(19,10): error TS1003: Identifier expected. node_modules/lodash/trimEnd.js(19,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +node_modules/lodash/trimEnd.js(19,10): error TS1003: Identifier expected. node_modules/lodash/trimStart.js(19,10): error TS1003: Identifier expected. node_modules/lodash/trimStart.js(19,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. node_modules/lodash/truncate.js(60,36): error TS2532: Object is possibly 'undefined'. diff --git a/tests/baselines/reference/user/log4js.log b/tests/baselines/reference/user/log4js.log new file mode 100644 index 00000000000..0e0765ae359 --- /dev/null +++ b/tests/baselines/reference/user/log4js.log @@ -0,0 +1,12 @@ +Exit Code: 1 +Standard output: +node_modules/log4js/types/log4js.d.ts(4,2): error TS7008: Member 'getLogger' implicitly has an 'any' type. +node_modules/log4js/types/log4js.d.ts(5,2): error TS7008: Member 'configure' implicitly has an 'any' type. +node_modules/log4js/types/log4js.d.ts(6,2): error TS7008: Member 'addLayout' implicitly has an 'any' type. +node_modules/log4js/types/log4js.d.ts(7,2): error TS7008: Member 'connectLogger' implicitly has an 'any' type. +node_modules/log4js/types/log4js.d.ts(8,2): error TS7008: Member 'levels' implicitly has an 'any' type. +node_modules/log4js/types/log4js.d.ts(9,2): error TS7008: Member 'shutdown' implicitly has an 'any' type. + + + +Standard error: diff --git a/tests/baselines/reference/user/npm.log b/tests/baselines/reference/user/npm.log index 2fbf93b8d2b..93ea207ee55 100644 --- a/tests/baselines/reference/user/npm.log +++ b/tests/baselines/reference/user/npm.log @@ -2,28 +2,33 @@ Exit Code: 1 Standard output: node_modules/npm/bin/npm-cli.js(6,13): error TS2551: Property 'echo' does not exist on type '{ Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: nu...'. Did you mean 'Echo'? node_modules/npm/bin/npm-cli.js(13,13): error TS2551: Property 'quit' does not exist on type '{ Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: nu...'. Did you mean 'Quit'? -node_modules/npm/bin/npm-cli.js(30,23): error TS2307: Cannot find module '../package.json'. -node_modules/npm/bin/npm-cli.js(54,7): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(55,11): error TS2339: Property 'deref' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(55,21): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(55,35): error TS2339: Property 'command' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(55,49): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(59,21): error TS2339: Property 'version' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(64,9): error TS2339: Property 'command' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(66,9): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(69,35): error TS2339: Property 'version' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(74,25): error TS2339: Property 'command' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(75,9): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(75,26): error TS2339: Property 'command' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(76,9): error TS2339: Property 'command' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(82,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(84,9): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(84,22): error TS2339: Property 'command' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(84,35): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(86,23): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(86,55): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(86,82): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/bin/npm-cli.js(86,113): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(47,7): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(48,11): error TS2339: Property 'deref' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(48,21): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(48,35): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(48,49): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(52,21): error TS2339: Property 'version' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(57,9): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(59,9): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(62,35): error TS2339: Property 'version' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(67,25): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(68,9): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(68,26): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(69,9): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(75,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(78,27): error TS2307: Cannot find module '../package.json'. +node_modules/npm/bin/npm-cli.js(85,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(86,32): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(121,9): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(121,22): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(121,35): error TS2339: Property 'argv' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(125,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(126,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(127,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(128,13): error TS2339: Property 'command' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(132,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(134,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/bin/npm-cli.js(136,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/html/static/toc.js(3,40): error TS2531: Object is possibly 'null'. node_modules/npm/lib/access.js(58,46): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/access.js(65,18): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. @@ -39,6 +44,16 @@ node_modules/npm/lib/adduser.js(44,9): error TS2339: Property 'config' does not node_modules/npm/lib/adduser.js(45,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/adduser.js(46,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/adduser.js(47,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/audit.js(29,23): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/audit.js(47,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/audit.js(49,9): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/audit.js(60,11): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/audit.js(65,11): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/audit.js(75,27): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/audit.js(81,11): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/audit.js(88,61): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/audit.js(89,10): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/audit.js(90,10): error TS2339: Property 'wrapped' does not exist on type 'Error'. node_modules/npm/lib/auth/legacy.js(12,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/auth/legacy.js(35,16): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/auth/legacy.js(69,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -73,40 +88,15 @@ node_modules/npm/lib/ci.js(13,31): error TS2339: Property 'config' does not exis node_modules/npm/lib/ci.js(14,12): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/ci.js(15,12): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/ci.js(27,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/completion.js(26,24): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'. + Type 'undefined' is not assignable to type 'string'. +node_modules/npm/lib/completion.js(30,24): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'. + Type 'undefined' is not assignable to type 'string'. node_modules/npm/lib/completion.js(51,7): error TS2339: Property 'code' does not exist on type 'Error'. node_modules/npm/lib/completion.js(52,7): error TS2339: Property 'errno' does not exist on type 'Error'. node_modules/npm/lib/completion.js(129,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/completion.js(135,13): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. node_modules/npm/lib/completion.js(247,23): error TS2339: Property 'fullList' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(72,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(81,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(82,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(83,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(85,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(91,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(103,37): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/core")'. -node_modules/npm/lib/config.js(105,28): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/core")'. -node_modules/npm/lib/config.js(130,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(131,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(132,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(151,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(153,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(154,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(162,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(181,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(182,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(205,27): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(218,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(220,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(233,52): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(236,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(240,45): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(240,75): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(243,47): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(243,79): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(246,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/config.js(262,26): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/core")'. -node_modules/npm/lib/config.js(268,29): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/config/bin-links.js(11,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/config/bin-links.js(12,16): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/config/bin-links.js(13,20): error TS2339: Property 'globalBin' does not exist on type 'EventEmitter'. @@ -142,19 +132,19 @@ node_modules/npm/lib/config/core.js(144,10): error TS2339: Property 'once' does node_modules/npm/lib/config/core.js(145,10): error TS2339: Property 'once' does not exist on type 'Conf'. node_modules/npm/lib/config/core.js(154,14): error TS2339: Property 'get' does not exist on type 'Conf'. node_modules/npm/lib/config/core.js(155,35): error TS2339: Property 'get' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(167,23): error TS2339: Property 'get' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(172,10): error TS2339: Property 'once' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(183,23): error TS2339: Property 'get' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(197,5): error TS2323: Cannot redeclare exported variable 'loaded'. -node_modules/npm/lib/config/core.js(220,28): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/defaults")'. -node_modules/npm/lib/config/core.js(244,21): error TS2339: Property 'sources' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(252,17): error TS2339: Property 'emit' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(286,8): error TS2339: Property '_saving' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(314,8): error TS2339: Property 'sources' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(315,8): error TS2339: Property 'push' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(316,8): error TS2339: Property '_await' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(340,10): error TS2339: Property 'emit' does not exist on type 'Conf'. -node_modules/npm/lib/config/core.js(416,29): error TS2345: Argument of type '(orig: string, esc: any, name: any) => string | undefined' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'. +node_modules/npm/lib/config/core.js(160,23): error TS2339: Property 'get' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(165,10): error TS2339: Property 'once' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(176,23): error TS2339: Property 'get' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(190,5): error TS2323: Cannot redeclare exported variable 'loaded'. +node_modules/npm/lib/config/core.js(213,28): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/defaults")'. +node_modules/npm/lib/config/core.js(237,21): error TS2339: Property 'sources' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(245,17): error TS2339: Property 'emit' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(279,8): error TS2339: Property '_saving' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(307,8): error TS2339: Property 'sources' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(308,8): error TS2339: Property 'push' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(309,8): error TS2339: Property '_await' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(333,10): error TS2339: Property 'emit' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(409,29): error TS2345: Argument of type '(orig: string, esc: any, name: any) => string | undefined' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'. Type 'string | undefined' is not assignable to type 'string'. Type 'undefined' is not assignable to type 'string'. node_modules/npm/lib/config/gentle-fs.js(16,11): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. @@ -216,6 +206,35 @@ node_modules/npm/lib/config/pacote.js(84,31): error TS2339: Property 'config' do node_modules/npm/lib/config/pacote.js(89,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/config/pacote.js(90,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/config/pacote.js(110,60): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(74,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(83,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(84,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(85,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(87,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(93,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(105,37): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/core")'. +node_modules/npm/lib/config.js(107,28): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/core")'. +node_modules/npm/lib/config.js(135,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(136,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(137,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(156,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(158,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(159,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(167,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(186,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(187,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(210,27): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(223,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(225,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(238,52): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(241,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(245,45): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(245,75): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(248,47): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(248,79): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(251,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/config.js(267,26): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/core")'. +node_modules/npm/lib/config.js(273,29): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/dedupe.js(35,32): error TS2339: Property 'dir' does not exist on type 'EventEmitter'. node_modules/npm/lib/dedupe.js(37,11): error TS2339: Property 'command' does not exist on type 'EventEmitter'. node_modules/npm/lib/dedupe.js(38,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -253,6 +272,9 @@ node_modules/npm/lib/dist-tag.js(109,11): error TS2339: Property 'registry' does node_modules/npm/lib/dist-tag.js(142,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/dist-tag.js(149,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. node_modules/npm/lib/docs.js(40,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/doctor/check-files-permission.js(11,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/doctor/check-files-permission.js(11,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/doctor/verify-cached-files.js(10,90): error TS2345: Argument of type '2' is not assignable to parameter of type '(string | number)[] | null | undefined'. node_modules/npm/lib/doctor.js(6,54): error TS2339: Property 'defaults' does not exist on type 'typeof import("/npm/node_modules/npm/lib/config/defaults")'. node_modules/npm/lib/doctor.js(23,41): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/doctor.js(24,40): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -262,9 +284,6 @@ node_modules/npm/lib/doctor.js(55,13): error TS2339: Property 'color' does not e node_modules/npm/lib/doctor.js(88,20): error TS2339: Property 'version' does not exist on type 'EventEmitter'. node_modules/npm/lib/doctor.js(90,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/doctor.js(108,92): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/doctor/check-files-permission.js(11,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/doctor/check-files-permission.js(11,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/doctor/verify-cached-files.js(10,90): error TS2345: Argument of type '2' is not assignable to parameter of type '(string | number)[] | null | undefined'. node_modules/npm/lib/edit.js(18,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/edit.js(27,28): error TS2339: Property 'dir' does not exist on type 'EventEmitter'. node_modules/npm/lib/edit.js(32,11): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. @@ -296,6 +315,7 @@ node_modules/npm/lib/help.js(146,7): error TS2322: Type '"cli"' is not assignabl node_modules/npm/lib/help.js(149,7): error TS2322: Type '"api"' is not assignable to type 'number'. node_modules/npm/lib/help.js(152,7): error TS2322: Type '"files"' is not assignable to type 'number'. node_modules/npm/lib/help.js(155,7): error TS2322: Type '"misc"' is not assignable to type 'number'. +node_modules/npm/lib/help.js(160,55): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. node_modules/npm/lib/help.js(164,7): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/help.js(170,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/help.js(179,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -306,51 +326,9 @@ node_modules/npm/lib/help.js(196,26): error TS2339: Property 'commands' does not node_modules/npm/lib/help.js(197,22): error TS2339: Property 'deref' does not exist on type 'EventEmitter'. node_modules/npm/lib/help.js(199,14): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'never'. node_modules/npm/lib/help.js(199,22): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/lib/init.js(16,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/init.js(17,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/init.js(31,31): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(181,36): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(183,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(185,17): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(189,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(191,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(199,36): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(223,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(225,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(226,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(229,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(234,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(235,63): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(236,51): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(238,85): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(266,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(267,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(270,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(271,7): error TS2532: Object is possibly 'undefined'. -node_modules/npm/lib/install.js(271,7): error TS2684: The 'this' context of type '((err: any, ...args: any[]) => any) | undefined' is not assignable to method's 'this' of type 'Function'. - Type 'undefined' is not assignable to type 'Function'. -node_modules/npm/lib/install.js(336,25): error TS2339: Property 'failing' does not exist on type 'Installer'. -node_modules/npm/lib/install.js(365,18): error TS2345: Argument of type '"time"' is not assignable to parameter of type '"warning"'. -node_modules/npm/lib/install.js(372,16): error TS2345: Argument of type '"timeEnd"' is not assignable to parameter of type '"warning"'. -node_modules/npm/lib/install.js(523,40): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(601,12): error TS2339: Property 'failing' does not exist on type 'Installer'. -node_modules/npm/lib/install.js(618,12): error TS2339: Property 'failing' does not exist on type 'Installer'. -node_modules/npm/lib/install.js(637,12): error TS2339: Property 'failing' does not exist on type 'Installer'. -node_modules/npm/lib/install.js(678,12): error TS2339: Property 'code' does not exist on type 'Error'. -node_modules/npm/lib/install.js(679,12): error TS2339: Property 'errno' does not exist on type 'Error'. -node_modules/npm/lib/install.js(739,32): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(745,12): error TS2339: Property 'failing' does not exist on type 'Installer'. -node_modules/npm/lib/install.js(757,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(759,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(877,26): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'. -node_modules/npm/lib/install.js(884,26): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. -node_modules/npm/lib/install.js(886,25): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. -node_modules/npm/lib/install.js(888,27): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. -node_modules/npm/lib/install.js(890,25): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. -node_modules/npm/lib/install.js(892,27): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. -node_modules/npm/lib/install.js(936,8): error TS2454: Variable 'previousPath' is used before being assigned. -node_modules/npm/lib/install.js(974,53): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install.js(996,53): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/init.js(38,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/init.js(39,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/init.js(53,31): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/access-error.js(4,18): error TS2554: Expected 0-1 arguments, but got 2. node_modules/npm/lib/install/action/build.js(10,50): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/action/extract.js(39,40): error TS2339: Property 'limit' does not exist on type 'EventEmitter'. @@ -366,27 +344,43 @@ node_modules/npm/lib/install/actions.js(126,24): error TS2339: Property 'limit' node_modules/npm/lib/install/actions.js(168,16): error TS2345: Argument of type '"time"' is not assignable to parameter of type '"warning"'. node_modules/npm/lib/install/actions.js(171,16): error TS2345: Argument of type '"timeEnd"' is not assignable to parameter of type '"warning"'. node_modules/npm/lib/install/and-add-parent-to-errors.js(9,10): error TS2339: Property 'parent' does not exist on type 'Error'. +node_modules/npm/lib/install/audit.js(32,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(89,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(91,23): error TS2339: Property 'projectScope' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(100,20): error TS2339: Property 'color' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(101,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(109,20): error TS2339: Property 'color' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(110,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(172,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/audit.js(216,26): error TS2339: Property 'version' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/check-permissions.js(36,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/decompose-actions.js(35,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(243,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(298,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(299,29): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(434,27): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(479,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(580,9): error TS2339: Property 'code' does not exist on type 'Error'. -node_modules/npm/lib/install/deps.js(795,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/deps.js(796,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/diff-trees.js(233,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/diff-trees.js(234,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/diff-trees.js(234,62): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/diff-trees.js(235,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/diff-trees.js(236,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/diff-trees.js(237,52): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/decompose-actions.js(47,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(253,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(309,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(310,29): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(401,28): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(402,36): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(402,64): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(403,35): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(404,35): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(409,54): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(459,27): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(599,9): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/install/deps.js(814,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/deps.js(815,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(242,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(243,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(244,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(244,62): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(245,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(246,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/diff-trees.js(247,52): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/exists.js(20,21): error TS2339: Property 'F_OK' does not exist on type 'typeof import("fs")'. node_modules/npm/lib/install/flatten-tree.js(16,15): error TS2532: Object is possibly 'undefined'. node_modules/npm/lib/install/flatten-tree.js(18,16): error TS2532: Object is possibly 'undefined'. -node_modules/npm/lib/install/inflate-shrinkwrap.js(29,12): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/install/inflate-shrinkwrap.js(29,45): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/inflate-shrinkwrap.js(30,12): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/inflate-shrinkwrap.js(30,45): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install/inflate-shrinkwrap.js(77,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/mutate-into-logical-tree.js(137,86): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/read-shrinkwrap.js(11,46): error TS2339: Property 'lockfileVersion' does not exist on type 'EventEmitter'. node_modules/npm/lib/install/save.js(48,12): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -414,6 +408,51 @@ node_modules/npm/lib/install/validate-tree.js(70,25): error TS2339: Property 'co node_modules/npm/lib/install/validate-tree.js(74,13): error TS2339: Property 'code' does not exist on type 'Error'. node_modules/npm/lib/install/validate-tree.js(89,15): error TS2339: Property 'code' does not exist on type 'Error'. node_modules/npm/lib/install/writable.js(22,21): error TS2339: Property 'W_OK' does not exist on type 'typeof import("fs")'. +node_modules/npm/lib/install.js(182,36): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(184,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(186,17): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(190,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(192,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(200,36): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(224,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(226,19): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(227,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(230,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(235,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(236,63): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(237,51): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(239,85): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(240,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(268,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(269,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(272,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(273,7): error TS2532: Object is possibly 'undefined'. +node_modules/npm/lib/install.js(273,7): error TS2684: The 'this' context of type '((err: any, ...args: any[]) => any) | undefined' is not assignable to method's 'this' of type 'Function'. + Type 'undefined' is not assignable to type 'Function'. +node_modules/npm/lib/install.js(340,25): error TS2339: Property 'failing' does not exist on type 'Installer'. +node_modules/npm/lib/install.js(369,18): error TS2345: Argument of type '"time"' is not assignable to parameter of type '"warning"'. +node_modules/npm/lib/install.js(376,16): error TS2345: Argument of type '"timeEnd"' is not assignable to parameter of type '"warning"'. +node_modules/npm/lib/install.js(519,40): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(597,12): error TS2339: Property 'failing' does not exist on type 'Installer'. +node_modules/npm/lib/install.js(614,12): error TS2339: Property 'failing' does not exist on type 'Installer'. +node_modules/npm/lib/install.js(634,88): error TS2339: Property 'remove' does not exist on type 'Installer'. +node_modules/npm/lib/install.js(643,12): error TS2339: Property 'failing' does not exist on type 'Installer'. +node_modules/npm/lib/install.js(684,12): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/install.js(685,12): error TS2339: Property 'errno' does not exist on type 'Error'. +node_modules/npm/lib/install.js(745,32): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(751,12): error TS2339: Property 'failing' does not exist on type 'Installer'. +node_modules/npm/lib/install.js(768,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(770,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(771,14): error TS2554: Expected 0-1 arguments, but got 2. +node_modules/npm/lib/install.js(890,26): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'. +node_modules/npm/lib/install.js(897,26): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. +node_modules/npm/lib/install.js(899,25): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. +node_modules/npm/lib/install.js(901,27): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. +node_modules/npm/lib/install.js(903,25): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. +node_modules/npm/lib/install.js(905,27): error TS2345: Argument of type '{ [x: string]: any; action: any; name: any; version: any; path: any; }' is not assignable to parameter of type 'never'. +node_modules/npm/lib/install.js(948,8): error TS2454: Variable 'previousPath' is used before being assigned. +node_modules/npm/lib/install.js(985,53): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/install.js(1007,53): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/link.js(25,17): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. node_modules/npm/lib/link.js(39,9): error TS2339: Property 'code' does not exist on type 'Error'. node_modules/npm/lib/link.js(40,9): error TS2339: Property 'errno' does not exist on type 'Error'. @@ -495,31 +534,31 @@ node_modules/npm/lib/npm.js(228,11): error TS2339: Property 'config' does not ex node_modules/npm/lib/npm.js(231,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/npm.js(234,19): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. node_modules/npm/lib/npm.js(253,17): error TS2339: Property 'installPrefix' does not exist on type 'Process'. -node_modules/npm/lib/npm.js(343,52): error TS2345: Argument of type 'PropertyDescriptor | undefined' is not assignable to parameter of type 'PropertyDescriptor & ThisType'. +node_modules/npm/lib/npm.js(347,52): error TS2345: Argument of type 'PropertyDescriptor | undefined' is not assignable to parameter of type 'PropertyDescriptor & ThisType'. Type 'undefined' is not assignable to type 'PropertyDescriptor & ThisType'. Type 'undefined' is not assignable to type 'PropertyDescriptor'. -node_modules/npm/lib/npm.js(346,51): error TS2345: Argument of type 'PropertyDescriptor | undefined' is not assignable to parameter of type 'PropertyDescriptor & ThisType'. +node_modules/npm/lib/npm.js(350,51): error TS2345: Argument of type 'PropertyDescriptor | undefined' is not assignable to parameter of type 'PropertyDescriptor & ThisType'. Type 'undefined' is not assignable to type 'PropertyDescriptor & ThisType'. Type 'undefined' is not assignable to type 'PropertyDescriptor'. -node_modules/npm/lib/npm.js(373,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(373,47): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(373,66): error TS2339: Property 'localPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(376,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(386,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(386,50): error TS2339: Property 'globalBin' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(387,33): error TS2339: Property 'root' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(395,21): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(404,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(404,50): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(405,33): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(414,33): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(415,33): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(421,37): error TS2339: Property 'dir' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(424,37): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(425,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(435,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(441,34): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/lib/npm.js(456,13): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(377,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(377,47): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(377,66): error TS2339: Property 'localPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(380,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(390,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(390,50): error TS2339: Property 'globalBin' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(391,33): error TS2339: Property 'root' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(399,21): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(408,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(408,50): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(409,33): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(418,33): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(419,33): error TS2339: Property 'globalPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(425,37): error TS2339: Property 'dir' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(428,37): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(429,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(439,33): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(445,34): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/lib/npm.js(460,13): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. node_modules/npm/lib/outdated.js(36,16): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/outdated.js(71,30): error TS2339: Property 'dir' does not exist on type 'EventEmitter'. node_modules/npm/lib/outdated.js(74,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -559,15 +598,22 @@ node_modules/npm/lib/owner.js(223,28): error TS2339: Property 'config' does not node_modules/npm/lib/owner.js(226,11): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. node_modules/npm/lib/owner.js(246,37): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/owner.js(254,15): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. -node_modules/npm/lib/pack.js(87,32): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. -node_modules/npm/lib/pack.js(95,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/pack.js(115,36): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. -node_modules/npm/lib/pack.js(169,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/pack.js(170,20): error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. -node_modules/npm/lib/pack.js(170,36): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/pack.js(205,17): error TS2339: Property 'code' does not exist on type 'Error'. -node_modules/npm/lib/pack.js(206,17): error TS2339: Property 'signal' does not exist on type 'Error'. -node_modules/npm/lib/pack.js(224,36): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(53,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(72,40): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(79,21): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(86,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(88,40): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(102,39): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(119,32): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(127,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(147,36): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(177,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(299,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(300,20): error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. +node_modules/npm/lib/pack.js(300,36): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/pack.js(335,17): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/pack.js(336,17): error TS2339: Property 'signal' does not exist on type 'Error'. +node_modules/npm/lib/pack.js(354,36): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. node_modules/npm/lib/ping.js(13,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/ping.js(15,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/ping.js(17,7): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. @@ -592,15 +638,20 @@ node_modules/npm/lib/prune.js(58,22): error TS2339: Property 'idealTree' does no node_modules/npm/lib/prune.js(61,32): error TS2339: Property 'idealTree' does not exist on type 'Pruner'. node_modules/npm/lib/prune.js(62,27): error TS2339: Property 'idealTree' does not exist on type 'Pruner'. node_modules/npm/lib/publish.js(45,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(62,11): error TS2339: Property 'code' does not exist on type 'Error'. -node_modules/npm/lib/publish.js(86,36): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(102,34): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(126,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(127,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(132,25): error TS2339: Property 'version' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(174,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(179,15): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/lib/publish.js(196,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(53,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(68,11): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/publish.js(93,36): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(97,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(111,34): error TS2339: Property 'tmp' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(120,24): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(138,9): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(139,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(144,25): error TS2339: Property 'version' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(166,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(180,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(191,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(196,15): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/lib/publish.js(213,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/rebuild.js(20,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/rebuild.js(21,21): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. node_modules/npm/lib/rebuild.js(26,24): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. @@ -623,6 +674,14 @@ node_modules/npm/lib/run-script.js(77,21): error TS2345: Argument of type 'strin node_modules/npm/lib/run-script.js(94,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/run-script.js(99,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/run-script.js(148,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/all-package-metadata.js(33,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/all-package-metadata.js(36,35): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/all-package-metadata.js(146,7): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/all-package-metadata.js(239,20): error TS2339: Property 'cache' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/esearch.js(15,36): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/esearch.js(35,7): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. +node_modules/npm/lib/search/format-package-stream.js(130,31): error TS2339: Property 'fd' does not exist on type 'WriteStream'. +node_modules/npm/lib/search/format-package-stream.js(130,63): error TS2339: Property 'getWindowSize' does not exist on type 'WriteStream'. node_modules/npm/lib/search.js(25,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/search.js(26,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/search.js(27,40): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -636,33 +695,26 @@ node_modules/npm/lib/search.js(71,20): error TS2339: Property 'config' does not node_modules/npm/lib/search.js(72,16): error TS2339: Property 'color' does not exist on type 'EventEmitter'. node_modules/npm/lib/search.js(82,28): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/search.js(82,55): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/all-package-metadata.js(33,30): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/all-package-metadata.js(36,35): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/all-package-metadata.js(146,7): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/all-package-metadata.js(239,20): error TS2339: Property 'cache' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/esearch.js(15,36): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/esearch.js(35,7): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. -node_modules/npm/lib/search/format-package-stream.js(130,31): error TS2339: Property 'fd' does not exist on type 'WriteStream'. -node_modules/npm/lib/search/format-package-stream.js(130,63): error TS2339: Property 'getWindowSize' does not exist on type 'WriteStream'. node_modules/npm/lib/set.js(8,22): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. node_modules/npm/lib/set.js(12,7): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. node_modules/npm/lib/shrinkwrap.js(30,29): error TS2339: Property 'lockfileVersion' does not exist on type 'EventEmitter'. -node_modules/npm/lib/shrinkwrap.js(48,22): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/shrinkwrap.js(49,22): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/shrinkwrap.js(53,38): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/shrinkwrap.js(60,34): error TS2339: Property 'localPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/shrinkwrap.js(115,13): error TS2339: Property 'version' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(117,15): error TS2339: Property 'bundled' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(120,17): error TS2339: Property 'resolved' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(126,17): error TS2339: Property 'integrity' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(127,22): error TS2339: Property 'integrity' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(128,19): error TS2339: Property 'integrity' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(132,33): error TS2339: Property 'dev' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(133,40): error TS2339: Property 'optional' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(135,15): error TS2339: Property 'requires' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(138,17): error TS2339: Property 'requires' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(142,15): error TS2339: Property 'dependencies' does not exist on type '{}'. -node_modules/npm/lib/shrinkwrap.js(143,30): error TS2339: Property 'dependencies' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(50,22): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/shrinkwrap.js(51,22): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/shrinkwrap.js(55,38): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/shrinkwrap.js(62,34): error TS2339: Property 'localPrefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/shrinkwrap.js(117,13): error TS2339: Property 'version' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(119,15): error TS2339: Property 'from' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(122,15): error TS2339: Property 'bundled' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(125,17): error TS2339: Property 'resolved' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(131,17): error TS2339: Property 'integrity' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(132,22): error TS2339: Property 'integrity' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(133,19): error TS2339: Property 'integrity' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(137,33): error TS2339: Property 'dev' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(138,40): error TS2339: Property 'optional' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(140,15): error TS2339: Property 'requires' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(143,17): error TS2339: Property 'requires' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(147,15): error TS2339: Property 'dependencies' does not exist on type '{}'. +node_modules/npm/lib/shrinkwrap.js(148,30): error TS2339: Property 'dependencies' does not exist on type '{}'. node_modules/npm/lib/star.js(24,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/star.js(25,15): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/star.js(26,21): error TS2339: Property 'command' does not exist on type 'EventEmitter'. @@ -753,9 +805,9 @@ node_modules/npm/lib/utils/error-handler.js(216,18): error TS2339: Property 'err node_modules/npm/lib/utils/error-handler.js(216,42): error TS2339: Property 'errno' does not exist on type 'Error'. node_modules/npm/lib/utils/error-handler.js(231,34): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/utils/error-handler.js(236,7): error TS2322: Type 'string' is not assignable to type 'any[]'. -node_modules/npm/lib/utils/error-message.js(66,37): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/utils/error-message.js(295,24): error TS2339: Property 'version' does not exist on type 'EventEmitter'. -node_modules/npm/lib/utils/error-message.js(296,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/utils/error-message.js(77,37): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/utils/error-message.js(300,24): error TS2339: Property 'version' does not exist on type 'EventEmitter'. +node_modules/npm/lib/utils/error-message.js(301,25): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/utils/git.js(9,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/utils/is-windows-bash.js(3,53): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'. Type 'undefined' is not assignable to type 'string'. @@ -782,7 +834,6 @@ node_modules/npm/lib/utils/metrics.js(65,9): error TS2339: Property 'registry' d node_modules/npm/lib/utils/parse-json.js(7,11): error TS2339: Property 'noExceptions' does not exist on type '(content: any) => any'. node_modules/npm/lib/utils/perf.js(9,12): error TS2345: Argument of type '"time"' is not assignable to parameter of type 'Signals'. node_modules/npm/lib/utils/perf.js(10,12): error TS2345: Argument of type '"timeEnd"' is not assignable to parameter of type 'Signals'. -node_modules/npm/lib/utils/perf.js(21,18): error TS2345: Argument of type '"timing"' is not assignable to parameter of type '"removeListener"'. node_modules/npm/lib/utils/read-local-package.js(7,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/utils/read-local-package.js(9,29): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. node_modules/npm/lib/utils/spawn.js(26,8): error TS2339: Property 'file' does not exist on type 'Error'. @@ -814,21 +865,23 @@ node_modules/npm/lib/version.js(297,20): error TS2339: Property 'config' does no node_modules/npm/lib/version.js(306,20): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/version.js(324,44): error TS2339: Property 'localPrefix' does not exist on type 'EventEmitter'. node_modules/npm/lib/version.js(336,19): error TS2339: Property 'localPrefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(26,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(27,47): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(30,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(80,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(85,19): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(107,35): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(109,27): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(112,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(257,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(260,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(264,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(267,74): error TS2339: Property 'color' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(269,47): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(272,16): error TS2339: Property 'config' does not exist on type 'EventEmitter'. -node_modules/npm/lib/view.js(281,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(35,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(36,47): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(39,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(89,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(94,19): error TS2339: Property 'prefix' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(116,35): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(118,27): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(121,9): error TS2339: Property 'registry' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(168,14): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(185,23): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(405,13): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(408,38): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(412,17): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(415,74): error TS2339: Property 'color' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(417,47): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(420,16): error TS2339: Property 'config' does not exist on type 'EventEmitter'. +node_modules/npm/lib/view.js(429,11): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/visnup.js(41,14): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. node_modules/npm/lib/whoami.js(15,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'. node_modules/npm/lib/whoami.js(18,18): error TS2339: Property 'config' does not exist on type 'EventEmitter'. @@ -851,9 +904,9 @@ node_modules/npm/test/broken-under-nyc-and-travis/whoami.js(7,20): error TS2307: node_modules/npm/test/common-tap.js(5,47): error TS2339: Property '_extend' does not exist on type 'typeof import("util")'. node_modules/npm/test/common-tap.js(10,3): error TS2322: Type '(...args: any[]) => void' is not assignable to type 'typeof setImmediate'. Property '__promisify__' is missing in type '(...args: any[]) => void'. -node_modules/npm/test/common-tap.js(170,17): error TS2339: Property '_storage' does not exist on type 'Environment'. -node_modules/npm/test/common-tap.js(176,31): error TS2339: Property '_storage' does not exist on type 'Environment'. -node_modules/npm/test/common-tap.js(187,12): error TS2339: Property '_storage' does not exist on type 'Environment'. +node_modules/npm/test/common-tap.js(175,17): error TS2339: Property '_storage' does not exist on type 'Environment'. +node_modules/npm/test/common-tap.js(181,31): error TS2339: Property '_storage' does not exist on type 'Environment'. +node_modules/npm/test/common-tap.js(192,12): error TS2339: Property '_storage' does not exist on type 'Environment'. node_modules/npm/test/need-npm5-update/belongs-in-pacote/add-remote-git-get-resolved.js(2,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/need-npm5-update/belongs-in-pacote/add-remote-git-get-resolved.js(4,19): error TS2307: Cannot find module '../../lib/npm.js'. node_modules/npm/test/need-npm5-update/belongs-in-pacote/add-remote-git-get-resolved.js(5,22): error TS2307: Cannot find module '../common-tap.js'. @@ -1133,8 +1186,6 @@ node_modules/npm/test/tap/false-name.js(17,20): error TS2307: Cannot find module node_modules/npm/test/tap/fetch-package-metadata.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/fetch-package-metadata.js(9,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/fetch-package-metadata.js(36,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. -node_modules/npm/test/tap/files-and-ignores.js(2,20): error TS2307: Cannot find module 'tap'. -node_modules/npm/test/tap/files-and-ignores.js(12,21): error TS2307: Cannot find module 'tacks'. node_modules/npm/test/tap/full-warning-messages.js(2,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/gently-rm-cmdshims.js(4,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/gently-rm-cmdshims.js(107,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. @@ -1185,6 +1236,14 @@ node_modules/npm/test/tap/graceful-restart.js(7,20): error TS2307: Cannot find m node_modules/npm/test/tap/help.js(1,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/ignore-install-link.js(6,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/ignore-scripts.js(6,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/init-create.js(2,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/init-create.js(3,29): error TS2307: Cannot find module 'require-inject'. +node_modules/npm/test/tap/init-create.js(25,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/init-create.js(42,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/init-create.js(47,16): error TS2339: Property 'parseArgs' does not exist on type '() => Promise'. +node_modules/npm/test/tap/init-create.js(53,16): error TS2339: Property 'parseArgs' does not exist on type '() => Promise'. +node_modules/npm/test/tap/init-create.js(68,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/init-create.js(74,16): error TS2339: Property 'parseArgs' does not exist on type '() => Promise'. node_modules/npm/test/tap/init-interrupt.js(3,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/init-interrupt.js(8,29): error TS2307: Cannot find module 'require-inject'. node_modules/npm/test/tap/init-interrupt.js(28,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. @@ -1251,11 +1310,12 @@ node_modules/npm/test/tap/install-scoped-with-bundled-dependency.js(3,20): error node_modules/npm/test/tap/install-scoped-with-bundled-dependency.js(4,21): error TS2307: Cannot find module 'tacks'. node_modules/npm/test/tap/install-scoped-with-bundled-dependency.js(7,47): error TS2339: Property '_extend' does not exist on type 'typeof import("util")'. node_modules/npm/test/tap/install-scoped-with-peer-dependency.js(7,20): error TS2307: Cannot find module 'tap'. -node_modules/npm/test/tap/install-shrinkwrapped-git.js(7,20): error TS2307: Cannot find module 'tap'. -node_modules/npm/test/tap/install-shrinkwrapped-git.js(53,12): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/test/tap/install-shrinkwrapped-git.js(57,12): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/test/tap/install-shrinkwrapped-git.js(62,12): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. -node_modules/npm/test/tap/install-shrinkwrapped-git.js(94,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/install-shrinkwrapped-git.js(9,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/install-shrinkwrapped-git.js(56,12): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/install-shrinkwrapped-git.js(60,12): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/install-shrinkwrapped-git.js(65,12): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/install-shrinkwrapped-git.js(106,7): error TS2339: Property 'load' does not exist on type 'EventEmitter'. +node_modules/npm/test/tap/install-test-cli-without-package-lock.js(7,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/install-windows-newlines.js(3,40): error TS2339: Property 'existsSync' does not exist on type 'typeof import("path")'. node_modules/npm/test/tap/install-windows-newlines.js(7,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/install-with-dev-dep-duplicate.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. @@ -1389,7 +1449,10 @@ node_modules/npm/test/tap/outdated.js(105,15): error TS2339: Property 'outdated' node_modules/npm/test/tap/override-bundled.js(3,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/owner.js(1,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/owner.js(2,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/pack-files-and-ignores.js(2,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/pack-files-and-ignores.js(12,21): error TS2307: Cannot find module 'tacks'. node_modules/npm/test/tap/pack-scoped.js(2,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/pack.js(5,22): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/peer-deps.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/peer-deps.js(8,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/pick-manifest-from-registry-metadata.js(2,20): error TS2307: Cannot find module 'tap'. @@ -1449,6 +1512,10 @@ node_modules/npm/test/tap/publish-invalid-semver-tag.js(64,7): error TS2339: Pro node_modules/npm/test/tap/publish-invalid-semver-tag.js(65,7): error TS2339: Property 'commands' does not exist on type 'EventEmitter'. node_modules/npm/test/tap/publish-scoped.js(4,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-scoped.js(8,18): error TS2307: Cannot find module 'npm-registry-mock'. +node_modules/npm/test/tap/publish.js(8,33): error TS2307: Cannot find module 'npm-registry-mock'. +node_modules/npm/test/tap/publish.js(11,22): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/publish.js(56,47): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string | RegExp'. +node_modules/npm/test/tap/publish.js(117,45): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string | RegExp'. node_modules/npm/test/tap/pwd-prefix.js(5,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/referer.js(2,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/repo.js(2,18): error TS2307: Cannot find module 'npm-registry-mock'. @@ -1463,6 +1530,10 @@ node_modules/npm/test/tap/run-script.js(213,18): error TS2345: Argument of type Type 'undefined' is not assignable to type 'string'. node_modules/npm/test/tap/run-script.js(256,18): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'. Type 'undefined' is not assignable to type 'string'. +node_modules/npm/test/tap/save-optional.js(3,22): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/save-optional.js(4,20): error TS2307: Cannot find module 'npm-registry-mock'. +node_modules/npm/test/tap/save-optional.js(5,23): error TS2307: Cannot find module 'tacks'. +node_modules/npm/test/tap/save-optional.js(70,30): error TS2345: Argument of type 'Buffer' is not assignable to parameter of type 'string'. node_modules/npm/test/tap/scope-header.js(3,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/scope-header.js(4,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/scope-header.js(5,21): error TS2307: Cannot find module 'tacks'. diff --git a/tests/baselines/reference/user/puppeteer.log b/tests/baselines/reference/user/puppeteer.log index 6f4ab35c81c..86623a0aafc 100644 --- a/tests/baselines/reference/user/puppeteer.log +++ b/tests/baselines/reference/user/puppeteer.log @@ -25,15 +25,6 @@ lib/ExecutionContext.js(19,7): error TS2300: Duplicate identifier 'ExecutionCont lib/ExecutionContext.js(22,15): error TS2503: Cannot find namespace 'Protocol'. lib/ExecutionContext.js(132,15): error TS2503: Cannot find namespace 'Protocol'. lib/ExecutionContext.js(225,19): error TS2300: Duplicate identifier 'ExecutionContext'. -lib/externs.d.ts(2,30): error TS2497: Module '"/puppeteer/puppeteer/lib/Browser"' resolves to a non-module entity and cannot be imported using this construct. -lib/externs.d.ts(3,29): error TS2497: Module '"/puppeteer/puppeteer/lib/Target"' resolves to a non-module entity and cannot be imported using this construct. -lib/externs.d.ts(5,32): error TS2497: Module '"/puppeteer/puppeteer/lib/TaskQueue"' resolves to a non-module entity and cannot be imported using this construct. -lib/externs.d.ts(9,37): error TS2497: Module '"/puppeteer/puppeteer/lib/ElementHandle"' resolves to a non-module entity and cannot be imported using this construct. -lib/externs.d.ts(16,26): error TS2503: Cannot find namespace 'Protocol'. -lib/externs.d.ts(16,69): error TS2503: Cannot find namespace 'Protocol'. -lib/externs.d.ts(17,28): error TS2503: Cannot find namespace 'Protocol'. -lib/externs.d.ts(17,81): error TS2503: Cannot find namespace 'Protocol'. -lib/externs.d.ts(17,121): error TS2503: Cannot find namespace 'Protocol'. lib/FrameManager.js(25,7): error TS2300: Duplicate identifier 'FrameManager'. lib/FrameManager.js(28,15): error TS2503: Cannot find namespace 'Protocol'. lib/FrameManager.js(54,15): error TS2503: Cannot find namespace 'Protocol'. @@ -41,9 +32,6 @@ lib/FrameManager.js(76,15): error TS2503: Cannot find namespace 'Protocol'. lib/FrameManager.js(127,15): error TS2503: Cannot find namespace 'Protocol'. lib/FrameManager.js(773,15): error TS2503: Cannot find namespace 'Protocol'. lib/FrameManager.js(998,19): error TS2300: Duplicate identifier 'FrameManager'. -lib/helper.js(59,15): error TS2503: Cannot find namespace 'Protocol'. -lib/helper.js(77,15): error TS2503: Cannot find namespace 'Protocol'. -lib/helper.js(101,15): error TS2503: Cannot find namespace 'Protocol'. lib/Input.js(29,7): error TS2300: Duplicate identifier 'Keyboard'. lib/Input.js(306,20): error TS2300: Duplicate identifier 'Keyboard'. lib/NetworkManager.js(129,15): error TS2503: Cannot find namespace 'Protocol'. @@ -62,6 +50,18 @@ lib/Page.js(185,15): error TS2503: Cannot find namespace 'Protocol'. lib/Page.js(394,22): error TS2503: Cannot find namespace 'Protocol'. lib/Page.js(407,15): error TS2503: Cannot find namespace 'Protocol'. lib/Page.js(731,19): error TS2503: Cannot find namespace 'Protocol'. +lib/externs.d.ts(2,30): error TS2497: Module '"/puppeteer/puppeteer/lib/Browser"' resolves to a non-module entity and cannot be imported using this construct. +lib/externs.d.ts(3,29): error TS2497: Module '"/puppeteer/puppeteer/lib/Target"' resolves to a non-module entity and cannot be imported using this construct. +lib/externs.d.ts(5,32): error TS2497: Module '"/puppeteer/puppeteer/lib/TaskQueue"' resolves to a non-module entity and cannot be imported using this construct. +lib/externs.d.ts(9,37): error TS2497: Module '"/puppeteer/puppeteer/lib/ElementHandle"' resolves to a non-module entity and cannot be imported using this construct. +lib/externs.d.ts(16,26): error TS2503: Cannot find namespace 'Protocol'. +lib/externs.d.ts(16,69): error TS2503: Cannot find namespace 'Protocol'. +lib/externs.d.ts(17,28): error TS2503: Cannot find namespace 'Protocol'. +lib/externs.d.ts(17,81): error TS2503: Cannot find namespace 'Protocol'. +lib/externs.d.ts(17,121): error TS2503: Cannot find namespace 'Protocol'. +lib/helper.js(59,15): error TS2503: Cannot find namespace 'Protocol'. +lib/helper.js(77,15): error TS2503: Cannot find namespace 'Protocol'. +lib/helper.js(101,15): error TS2503: Cannot find namespace 'Protocol'. node_modules/@types/node/index.d.ts(911,22): error TS2300: Duplicate identifier 'EventEmitter'. diff --git a/tests/baselines/reference/user/uglify-js.log b/tests/baselines/reference/user/uglify-js.log index 82a00d6cb10..6857fedda3f 100644 --- a/tests/baselines/reference/user/uglify-js.log +++ b/tests/baselines/reference/user/uglify-js.log @@ -5,67 +5,67 @@ node_modules/uglify-js/lib/ast.js(329,33): error TS2339: Property 'transform' do node_modules/uglify-js/lib/ast.js(857,5): error TS2322: Type '{ [x: string]: any; _visit: (node: any, descend: any) => any; parent: (n: any) => any; push: type...' is not assignable to type 'TreeWalker'. Object literal may only specify known properties, but '_visit' does not exist in type 'TreeWalker'. Did you mean to write 'visit'? node_modules/uglify-js/lib/compress.js(165,27): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(500,26): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(813,18): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1061,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1075,51): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'true | ((node: any) => any)' has no compatible call signatures. -node_modules/uglify-js/lib/compress.js(1139,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1181,112): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(1182,29): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(1191,87): error TS2322: Type 'false' is not assignable to type 'number'. -node_modules/uglify-js/lib/compress.js(1199,29): error TS2322: Type 'false' is not assignable to type 'never'. -node_modules/uglify-js/lib/compress.js(1297,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1390,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1487,27): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1519,26): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1933,44): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2125,19): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2385,27): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3125,23): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3138,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. -node_modules/uglify-js/lib/compress.js(3275,18): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3285,33): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3289,32): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3295,40): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3304,41): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3321,14): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3323,40): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3331,33): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3405,63): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3594,23): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3611,36): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3617,38): error TS2339: Property 'set' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3621,40): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3646,22): error TS2339: Property 'each' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3651,30): error TS2339: Property 'del' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3656,30): error TS2339: Property 'set' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3667,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3669,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(506,26): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(820,18): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1075,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1089,51): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'true | ((node: any) => any)' has no compatible call signatures. +node_modules/uglify-js/lib/compress.js(1153,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1195,112): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(1196,29): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(1205,87): error TS2322: Type 'false' is not assignable to type 'number'. +node_modules/uglify-js/lib/compress.js(1213,29): error TS2322: Type 'false' is not assignable to type 'never'. +node_modules/uglify-js/lib/compress.js(1311,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1404,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1501,27): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1533,26): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1947,44): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2139,19): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2399,27): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3139,23): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3152,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. +node_modules/uglify-js/lib/compress.js(3289,18): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3299,33): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3303,32): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3309,40): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3318,41): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3335,14): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3337,40): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3345,33): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3419,63): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3608,23): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3625,36): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3631,38): error TS2339: Property 'set' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3635,40): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3660,22): error TS2339: Property 'each' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3665,30): error TS2339: Property 'del' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3670,30): error TS2339: Property 'set' does not exist on type 'Dictionary'. node_modules/uglify-js/lib/compress.js(3681,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. node_modules/uglify-js/lib/compress.js(3683,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3789,21): error TS2403: Subsequent variable declarations must have the same type. Variable 'defs' must be of type 'Dictionary', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(3791,36): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3820,22): error TS2339: Property 'set' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3840,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. -node_modules/uglify-js/lib/compress.js(3865,30): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4003,18): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4302,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(4386,22): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4734,30): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4741,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'code' must be of type 'string', but here has type '{ [x: string]: any; get: () => string; toString: () => string; indent: () => void; indentation: (...'. -node_modules/uglify-js/lib/compress.js(4745,36): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(4750,41): error TS2339: Property 'get' does not exist on type 'string'. -node_modules/uglify-js/lib/compress.js(5237,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. -node_modules/uglify-js/lib/compress.js(5676,25): error TS2365: Operator '==' cannot be applied to types 'boolean' and '"f"'. -node_modules/uglify-js/lib/compress.js(5703,32): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5763,24): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5835,24): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5841,26): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6191,43): error TS2454: Variable 'property' is used before being assigned. -node_modules/uglify-js/lib/compress.js(6205,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(6208,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. -node_modules/uglify-js/lib/compress.js(6215,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(6268,19): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3695,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3697,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3803,21): error TS2403: Subsequent variable declarations must have the same type. Variable 'defs' must be of type 'Dictionary', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(3805,36): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3834,22): error TS2339: Property 'set' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3854,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. +node_modules/uglify-js/lib/compress.js(3879,30): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4017,18): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4316,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(4400,22): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4748,30): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4755,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'code' must be of type 'string', but here has type '{ [x: string]: any; get: () => string; toString: () => string; indent: () => void; indentation: (...'. +node_modules/uglify-js/lib/compress.js(4759,36): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(4764,41): error TS2339: Property 'get' does not exist on type 'string'. +node_modules/uglify-js/lib/compress.js(5251,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. +node_modules/uglify-js/lib/compress.js(5690,25): error TS2365: Operator '==' cannot be applied to types 'boolean' and '"f"'. +node_modules/uglify-js/lib/compress.js(5717,32): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5777,24): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5849,24): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5855,26): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6205,43): error TS2454: Variable 'property' is used before being assigned. +node_modules/uglify-js/lib/compress.js(6219,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(6222,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. +node_modules/uglify-js/lib/compress.js(6229,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(6282,19): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/minify.js(166,75): error TS2339: Property 'compress' does not exist on type 'Compressor'. node_modules/uglify-js/lib/mozilla-ast.js(569,18): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/output.js(481,22): error TS2554: Expected 0 arguments, but got 1. diff --git a/tests/cases/compiler/circularConstrainedMappedTypeNoCrash.ts b/tests/cases/compiler/circularConstrainedMappedTypeNoCrash.ts new file mode 100644 index 00000000000..9e60b3e86cd --- /dev/null +++ b/tests/cases/compiler/circularConstrainedMappedTypeNoCrash.ts @@ -0,0 +1,3 @@ +type Loop> = { + [P in keyof T]: U[P] extends boolean ? number : string; +}; \ No newline at end of file diff --git a/tests/cases/compiler/jsxNestedWithinTernaryParsesCorrectly.tsx b/tests/cases/compiler/jsxNestedWithinTernaryParsesCorrectly.tsx new file mode 100644 index 00000000000..4e69092aa8a --- /dev/null +++ b/tests/cases/compiler/jsxNestedWithinTernaryParsesCorrectly.tsx @@ -0,0 +1,14 @@ +// @jsx: preserve +const emptyMessage = null as any; +const a = ( +
+ {0 ? ( + emptyMessage // must be identifier? + ) : ( + // must be exactly two expression holes + + {0}{0} + + )} +
+); \ No newline at end of file diff --git a/tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts b/tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts new file mode 100644 index 00000000000..4af56e48e1c --- /dev/null +++ b/tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts @@ -0,0 +1,10 @@ +// @traceResolution: true + +// @Filename: /node_modules/foo/package.json +{ "name": "foo", "version": "1.2.3", "main": "src/index.js" } + +// @Filename: /node_modules/foo/src/index.d.ts +export const x: number; + +// @Filename: /index.ts +import { x } from "foo"; diff --git a/tests/cases/compiler/parenthesizedArrowExpressionASI.ts b/tests/cases/compiler/parenthesizedArrowExpressionASI.ts new file mode 100644 index 00000000000..373d448f9fc --- /dev/null +++ b/tests/cases/compiler/parenthesizedArrowExpressionASI.ts @@ -0,0 +1,4 @@ +const x = (a: any[]) => ( + // comment + undefined as number +); diff --git a/tests/cases/compiler/unusedDestructuring.ts b/tests/cases/compiler/unusedDestructuring.ts index 9e2bb443ade..bfec022ab52 100644 --- a/tests/cases/compiler/unusedDestructuring.ts +++ b/tests/cases/compiler/unusedDestructuring.ts @@ -7,6 +7,7 @@ const { a, b } = o; const { c, d } = o; d; const { e } = o; +const { f: g } = o; function f({ a, b }, { c, d }, { e }) { d; diff --git a/tests/cases/conformance/salsa/jsContainerMergeJsContainer.ts b/tests/cases/conformance/salsa/jsContainerMergeJsContainer.ts new file mode 100644 index 00000000000..3d6cbb35b75 --- /dev/null +++ b/tests/cases/conformance/salsa/jsContainerMergeJsContainer.ts @@ -0,0 +1,10 @@ +// @noEmit: true +// @allowJs: true +// @checkJs: true + +// #24131 +// @Filename: a.js +const a = {}; +a.d = function() {}; +// @Filename: b.js +a.d.prototype = {}; diff --git a/tests/cases/fourslash/augmentedTypesModule2.ts b/tests/cases/fourslash/augmentedTypesModule2.ts index 3dc31476bb6..8cab9a42700 100644 --- a/tests/cases/fourslash/augmentedTypesModule2.ts +++ b/tests/cases/fourslash/augmentedTypesModule2.ts @@ -1,7 +1,7 @@ /// ////function /*11*/m2f(x: number) { }; -////namespace m2f { export interface I { foo(): void } } +////namespace m2f { export interface I { foo(): void } } ////var x: m2f./*1*/ ////var /*2*/r = m2f/*3*/; @@ -18,4 +18,4 @@ verify.quickInfoAt("2", "var r: (x: number) => void"); goTo.marker('3'); edit.insert('('); -verify.currentSignatureHelpIs('m2f(x: number): void'); +verify.signatureHelp({ text: "m2f(x: number): void" }); diff --git a/tests/cases/fourslash/augmentedTypesModule3.ts b/tests/cases/fourslash/augmentedTypesModule3.ts index dc4079997f2..9ab9850f993 100644 --- a/tests/cases/fourslash/augmentedTypesModule3.ts +++ b/tests/cases/fourslash/augmentedTypesModule3.ts @@ -1,7 +1,7 @@ /// ////function m2g() { }; -////module m2g { export class C { foo(x: number) { } } } +////module m2g { export class C { foo(x: number) { } } } ////var x: m2g./*1*/; ////var /*2*/r = m2g/*3*/; @@ -16,4 +16,4 @@ verify.quickInfoAt("2", "var r: typeof m2g"); goTo.marker('3'); edit.insert('('); -verify.currentSignatureHelpIs('m2g(): void'); \ No newline at end of file +verify.signatureHelp({ text: "m2g(): void" }); diff --git a/tests/cases/fourslash/augmentedTypesModule6.ts b/tests/cases/fourslash/augmentedTypesModule6.ts index 3dcde637a7c..0d64ae6ab98 100644 --- a/tests/cases/fourslash/augmentedTypesModule6.ts +++ b/tests/cases/fourslash/augmentedTypesModule6.ts @@ -13,8 +13,7 @@ edit.insert('I;'); verify.completions({ marker: "2", includes: "m3f" }); -goTo.marker('3'); -verify.currentSignatureHelpIs('m3f(): m3f'); +verify.signatureHelp({ marker: "3", text: "m3f(): m3f" }); verify.quickInfoAt("4", "var r: m3f"); @@ -23,4 +22,4 @@ edit.insert('foo(1)'); verify.completions({ marker: "6", includes: "foo" }); edit.insert('foo('); -verify.currentSignatureHelpIs('foo(): void'); +verify.signatureHelp({ text: "foo(): void" }); diff --git a/tests/cases/fourslash/callSignatureHelp.ts b/tests/cases/fourslash/callSignatureHelp.ts index 4e813dd17c4..b8fae9f60c5 100644 --- a/tests/cases/fourslash/callSignatureHelp.ts +++ b/tests/cases/fourslash/callSignatureHelp.ts @@ -6,5 +6,4 @@ ////var c: C; ////c(/**/ -goTo.marker(); -verify.currentSignatureHelpIs('c(): number'); \ No newline at end of file +verify.signatureHelp({ marker: "", text: "c(): number" }); diff --git a/tests/cases/fourslash/classExtendsInterfaceSigHelp1.ts b/tests/cases/fourslash/classExtendsInterfaceSigHelp1.ts index c2b4d5e70a0..9baf4432ddf 100644 --- a/tests/cases/fourslash/classExtendsInterfaceSigHelp1.ts +++ b/tests/cases/fourslash/classExtendsInterfaceSigHelp1.ts @@ -13,6 +13,8 @@ ////var i: I; ////i.foo(/**/ -goTo.marker(); -verify.signatureHelpCountIs(2); -verify.currentParameterSpanIs('x: string'); \ No newline at end of file +verify.signatureHelp({ + marker: "", + overloadsCount: 2, + parameterSpan: "x: string", +}); diff --git a/tests/cases/fourslash/codeFixDisableJsDiagnosticsInFile_tsIgnore_indent.ts b/tests/cases/fourslash/codeFixDisableJsDiagnosticsInFile_tsIgnore_indent.ts new file mode 100644 index 00000000000..7368ce1f336 --- /dev/null +++ b/tests/cases/fourslash/codeFixDisableJsDiagnosticsInFile_tsIgnore_indent.ts @@ -0,0 +1,19 @@ +/// + +// @allowjs: true +// @checkJs: true + +// @Filename: /a.js +////{ +//// a; +////} + +verify.codeFix({ + description: "Ignore this error message", + index: 0, + newFileContent: +`{ + // @ts-ignore + a; +}`, +}); diff --git a/tests/cases/fourslash/codeFixInferFromUsage_all.ts b/tests/cases/fourslash/codeFixInferFromUsage_all.ts index a093b9ab12c..85c69050723 100644 --- a/tests/cases/fourslash/codeFixInferFromUsage_all.ts +++ b/tests/cases/fourslash/codeFixInferFromUsage_all.ts @@ -1,6 +1,7 @@ /// // @noImplicitAny: true +// @strictNullChecks: true ////function f(x, y) { //// x += 0; @@ -10,6 +11,11 @@ ////function g(z) { //// return z * 2; ////} +//// +////let x = null; +////function h() { +//// if (!x) x = 2; +////} verify.codeFixAll({ fixId: "inferFromUsage", @@ -22,5 +28,10 @@ verify.codeFixAll({ function g(z: number) { return z * 2; +} + +let x: number | null = null; +function h() { + if (!x) x = 2; }`, }); diff --git a/tests/cases/fourslash/commentsClass.ts b/tests/cases/fourslash/commentsClass.ts index 8dbeca7009b..79f1d05af66 100644 --- a/tests/cases/fourslash/commentsClass.ts +++ b/tests/cases/fourslash/commentsClass.ts @@ -38,7 +38,7 @@ ////var i6/*24*/_c = c/*25*/6; /////*26*/ ////class a { -//// /** +//// /** //// constructor for a //// @param a this is my a //// */ @@ -63,8 +63,7 @@ verify.quickInfos({ 2: "var i2: c2" }); -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "3", docComment: "" }); verify.quickInfos({ 4: "var i2_c: typeof c2", @@ -73,8 +72,7 @@ verify.quickInfos({ 7: "var i3: c3" }); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("Constructor comment"); +verify.signatureHelp({ marker: "8", docComment: "Constructor comment" }); verify.quickInfos({ 9: "var i3_c: typeof c3", @@ -83,8 +81,7 @@ verify.quickInfos({ 12: "var i4: c4" }); -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs("Constructor comment"); +verify.signatureHelp({ marker: "13", docComment: "Constructor comment" }); verify.quickInfos({ 14: "var i4_c: typeof c4", @@ -93,8 +90,7 @@ verify.quickInfos({ 17: "var i5: c5" }); -goTo.marker('18'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "18", docComment: "" }); verify.quickInfos({ 19: "var i5_c: typeof c5", @@ -103,8 +99,7 @@ verify.quickInfos({ 22: "var i6: c6" }); -goTo.marker('23'); -verify.currentSignatureHelpDocCommentIs("constructor comment"); +verify.signatureHelp({ marker: "23", docComment: "constructor comment" }); verify.quickInfos({ 24: "var i6_c: typeof c6", @@ -128,9 +123,12 @@ verify.completionListContains("c6", "class c6", "class with statics and construc verify.completionListContains("i6", "var i6: c6", ""); verify.completionListContains("i6_c", "var i6_c: typeof c6", ""); -goTo.marker('27'); -verify.currentSignatureHelpDocCommentIs("constructor for a"); -verify.currentParameterHelpArgumentDocCommentIs("this is my a"); +verify.signatureHelp({ + marker: "27", + docComment: "constructor for a", + parameterDocComment: "this is my a", + tags: [{ name: "param", text: "a this is my a" }], +}); verify.quickInfos({ 28: "constructor c2(): c2", diff --git a/tests/cases/fourslash/commentsClassMembers.ts b/tests/cases/fourslash/commentsClassMembers.ts index 1c34584a262..6b598ab458c 100644 --- a/tests/cases/fourslash/commentsClassMembers.ts +++ b/tests/cases/fourslash/commentsClassMembers.ts @@ -171,9 +171,7 @@ verify.completionListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); verify.completionListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); verify.completionListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "8", docComment: "sum with property", parameterDocComment: "number to add" }); verify.quickInfoAt("8q", "(method) c1.p2(b: number): number", "sum with property"); goTo.marker('9'); @@ -220,9 +218,7 @@ verify.completionListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); verify.completionListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); verify.completionListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "13", docComment: "sum with property", parameterDocComment: "number to add" }); verify.completionListContains("value", "(parameter) value: number", "this is value"); verify.quickInfos({ @@ -264,9 +260,7 @@ verify.completionListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); verify.completionListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); verify.completionListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); -goTo.marker('20'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "20", docComment: "sum with property", parameterDocComment: "number to add" }); verify.quickInfoAt("20q", "(method) c1.pp2(b: number): number", "sum with property"); goTo.marker('21'); @@ -313,9 +307,7 @@ verify.completionListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); verify.completionListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); verify.completionListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "25", docComment: "sum with property", parameterDocComment: "number to add" }); verify.completionListContains("value", "(parameter) value: number", "this is value"); verify.quickInfos({ @@ -352,9 +344,7 @@ verify.completionListContains("nc_s1", "(property) c1.nc_s1: number", ""); verify.completionListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); verify.completionListContains("nc_s3", "(property) c1.nc_s3: number", ""); -goTo.marker('35'); -verify.currentSignatureHelpDocCommentIs("static sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "35", docComment: "static sum with property", parameterDocComment: "number to add" }); verify.completionListContains("c1", "class c1", "This is comment for c1"); verify.quickInfoAt("35q", "(method) c1.s2(b: number): number", "static sum with property"); @@ -390,9 +380,7 @@ verify.completionListContains("nc_s1", "(property) c1.nc_s1: number", ""); verify.completionListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); verify.completionListContains("nc_s3", "(property) c1.nc_s3: number", ""); -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("static sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "42", docComment: "static sum with property", parameterDocComment: "number to add" }); verify.completionListContains("value", "(parameter) value: number", "this is value"); verify.quickInfos({ "42q": ["(method) c1.s2(b: number): number", "static sum with property"], @@ -405,17 +393,13 @@ verify.completionListContains("b", "(parameter) b: number", ""); verify.quickInfoAt("46", "(property) c1.nc_p3: number"); -goTo.marker('47'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "47", docComment: "" }); verify.quickInfos({ "47q": "(method) c1.nc_p2(b: number): number", 48: "(property) c1.nc_p3: number" }); -goTo.marker('49'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "49", docComment: "" }); verify.completionListContains("value", "(parameter) value: number", ""); verify.quickInfos({ "49q": "(method) c1.nc_p2(b: number): number", @@ -428,17 +412,13 @@ verify.completionListContains("b", "(parameter) b: number", ""); verify.quickInfoAt("53", "(property) c1.nc_pp3: number"); -goTo.marker('54'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "54", docComment: "" }); verify.quickInfos({ "54q": "(method) c1.nc_pp2(b: number): number", 55: "(property) c1.nc_pp3: number" }); -goTo.marker('56'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "56", docComment: "" }); verify.completionListContains("value", "(parameter) value: number", ""); verify.quickInfos({ "56q": "(method) c1.nc_pp2(b: number): number", @@ -451,25 +431,20 @@ verify.completionListContains("b", "(parameter) b: number", ""); verify.quickInfoAt("60", "(property) c1.nc_s3: number"); -goTo.marker('61'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "61", docComment: "" }); verify.quickInfos({ "61q": "(method) c1.nc_s2(b: number): number", 62: "(property) c1.nc_s3: number" }); -goTo.marker('63'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "63", docComment: "" }); verify.completionListContains("value", "(parameter) value: number", ""); verify.quickInfos({ "63q": "(method) c1.nc_s2(b: number): number", 64: "var i1: c1" }); -goTo.marker('65'); -verify.currentSignatureHelpDocCommentIs("Constructor method"); +verify.signatureHelp({ marker: "65", docComment: "Constructor method" }); verify.quickInfos({ "65q": ["constructor c1(): c1", "Constructor method"], 66: "var i1_p: number" @@ -490,9 +465,7 @@ verify.quickInfos({ 70: "var i1_r: number" }); -goTo.marker('71'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "71", docComment: "sum with property", parameterDocComment: "number to add" }); verify.quickInfos({ "71q": ["(method) c1.p2(b: number): number", "sum with property"], @@ -507,9 +480,7 @@ verify.quickInfos({ 80: "var i1_ncr: number" }); -goTo.marker('81'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "81", docComment: "" }); verify.quickInfos({ "81q": "(method) c1.nc_p2(b: number): number", @@ -539,9 +510,7 @@ verify.quickInfos({ 91: "var i1_s_r: number" }); -goTo.marker('92'); -verify.currentSignatureHelpDocCommentIs("static sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.signatureHelp({ marker: "92", docComment: "static sum with property", parameterDocComment: "number to add" }); verify.quickInfos({ "92q": ["(method) c1.s2(b: number): number", "static sum with property"], @@ -556,9 +525,7 @@ verify.quickInfos({ 101: "var i1_s_ncr: number" }); -goTo.marker('102'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "102", docComment: "" }); verify.quickInfos({ "102q": "(method) c1.nc_s2(b: number): number", 103: "var i1_s_ncprop: number", diff --git a/tests/cases/fourslash/commentsCommentParsing.ts b/tests/cases/fourslash/commentsCommentParsing.ts index 0cf239bf1ff..6b0c880e9bb 100644 --- a/tests/cases/fourslash/commentsCommentParsing.ts +++ b/tests/cases/fourslash/commentsCommentParsing.ts @@ -202,76 +202,72 @@ ////class NoQuic/*50*/kInfoClass { ////} -goTo.marker('1'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "1", docComment: "" }); verify.quickInfoAt("1q", "function simple(): void"); -goTo.marker('2'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "2", docComment: "" }); verify.quickInfoAt("2q", "function multiLine(): void"); -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs("this is eg of single line jsdoc style comment "); +verify.signatureHelp({ marker: "3", docComment: "this is eg of single line jsdoc style comment " }); verify.quickInfoAt("3q", "function jsDocSingleLine(): void", "this is eg of single line jsdoc style comment "); -goTo.marker('4'); -verify.currentSignatureHelpDocCommentIs("this is multiple line jsdoc stule comment\nNew line1\nNew Line2"); +verify.signatureHelp({ marker: "4", docComment: "this is multiple line jsdoc stule comment\nNew line1\nNew Line2" }); verify.quickInfoAt("4q", "function jsDocMultiLine(): void", "this is multiple line jsdoc stule comment\nNew line1\nNew Line2"); -goTo.marker('5'); -verify.currentSignatureHelpDocCommentIs("this is multiple line jsdoc stule comment\nNew line1\nNew Line2\nShoul mege this line as well\nand this too\nAnother this one too"); +verify.signatureHelp({ marker: "5", docComment: "this is multiple line jsdoc stule comment\nNew line1\nNew Line2\nShoul mege this line as well\nand this too\nAnother this one too" }); verify.quickInfoAt("5q", "function jsDocMultiLineMerge(): void", "this is multiple line jsdoc stule comment\nNew line1\nNew Line2\nShoul mege this line as well\nand this too\nAnother this one too"); -goTo.marker('6'); -verify.currentSignatureHelpDocCommentIs("jsdoc comment "); +verify.signatureHelp({ marker: "6", docComment: "jsdoc comment " }); verify.quickInfoAt("6q", "function jsDocMixedComments1(): void", "jsdoc comment "); -goTo.marker('7'); -verify.currentSignatureHelpDocCommentIs("jsdoc comment \nanother jsDocComment"); +verify.signatureHelp({ marker: "7", docComment: "jsdoc comment \nanother jsDocComment" }); verify.quickInfoAt("7q", "function jsDocMixedComments2(): void", "jsdoc comment \nanother jsDocComment"); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("jsdoc comment \n* triplestar jsDocComment"); +verify.signatureHelp({ marker: "8", docComment: "jsdoc comment \n* triplestar jsDocComment" }); verify.quickInfoAt("8q", "function jsDocMixedComments3(): void", "jsdoc comment \n* triplestar jsDocComment"); -goTo.marker('9'); -verify.currentSignatureHelpDocCommentIs("jsdoc comment \nanother jsDocComment"); +verify.signatureHelp({ marker: "9", docComment: "jsdoc comment \nanother jsDocComment" }); verify.quickInfoAt("9q", "function jsDocMixedComments4(): void", "jsdoc comment \nanother jsDocComment"); -goTo.marker('10'); -verify.currentSignatureHelpDocCommentIs("jsdoc comment \nanother jsDocComment"); +verify.signatureHelp({ marker: "10", docComment: "jsdoc comment \nanother jsDocComment" }); verify.quickInfoAt("10q", "function jsDocMixedComments5(): void", "jsdoc comment \nanother jsDocComment"); -goTo.marker('11'); -verify.currentSignatureHelpDocCommentIs("another jsDocComment\njsdoc comment "); +verify.signatureHelp({ marker: "11", docComment: "another jsDocComment\njsdoc comment " }); verify.quickInfoAt("11q", "function jsDocMixedComments6(): void", "another jsDocComment\njsdoc comment "); -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "12", docComment: "" }); verify.quickInfoAt("12q", "function noHelpComment1(): void"); -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "13", docComment: "" }); verify.quickInfoAt("13q", "function noHelpComment2(): void"); -goTo.marker('14'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp({ marker: "14", docComment: "" }); verify.quickInfoAt("14q", "function noHelpComment3(): void"); goTo.marker('15'); verify.completionListContains("sum", "function sum(a: number, b: number): number", "Adds two integers and returns the result"); -goTo.marker('16'); -verify.currentSignatureHelpDocCommentIs("Adds two integers and returns the result"); -verify.currentParameterHelpArgumentDocCommentIs("first number"); +const addTags: ReadonlyArray = [ + { name: "param", text: "a first number" }, + { name: "param", text: "b second number" }, +]; +verify.signatureHelp({ + marker: "16", + docComment: "Adds two integers and returns the result", + parameterDocComment: "first number", + tags: addTags, +}); verify.quickInfos({ "16q": ["function sum(a: number, b: number): number", "Adds two integers and returns the result"], "16aq": ["(parameter) a: number", "first number"] }); -goTo.marker('17'); -verify.currentSignatureHelpDocCommentIs("Adds two integers and returns the result"); -verify.currentParameterHelpArgumentDocCommentIs("second number"); +verify.signatureHelp({ + marker: "17", + docComment: "Adds two integers and returns the result", + parameterDocComment: "second number", + tags: addTags, +}); verify.quickInfoAt("17aq", "(parameter) b: number", "second number"); goTo.marker('18'); @@ -279,9 +275,17 @@ verify.quickInfoIs("(parameter) a: number", "first number"); verify.completionListContains("a", "(parameter) a: number", "first number"); verify.completionListContains("b", "(parameter) b: number", "second number"); -goTo.marker('19'); -verify.currentSignatureHelpDocCommentIs("This is multiplication function"); -verify.currentParameterHelpArgumentDocCommentIs("first number"); +const multiplyTags: ReadonlyArray = [ + { name: "param", text: "" }, + { name: "param", text: "a first number" }, + { name: "param", text: "b" }, + { name: "param", text: "c" }, + { name: "param", text: "d" }, + { name: "anotherTag", text: undefined }, + { name: "param", text: "e LastParam " }, + { name: "anotherTag", text: undefined }, +]; +verify.signatureHelp({ marker: "19", docComment: "This is multiplication function", parameterDocComment: "first number", tags: multiplyTags }); verify.quickInfos({ "19q": [ "function multiply(a: number, b: number, c?: number, d?: any, e?: any): void", @@ -290,41 +294,34 @@ verify.quickInfos({ "19aq": ["(parameter) a: number", "first number"] }); -goTo.marker('20'); -verify.currentSignatureHelpDocCommentIs("This is multiplication function"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "20", docComment: "This is multiplication function", tags: multiplyTags }); verify.quickInfoAt("20aq", "(parameter) b: number"); -goTo.marker('21'); -verify.currentSignatureHelpDocCommentIs("This is multiplication function"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "21", docComment: "This is multiplication function", tags: multiplyTags }); verify.quickInfoAt("21aq", "(parameter) c: number"); -goTo.marker('22'); -verify.currentSignatureHelpDocCommentIs("This is multiplication function"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "22", docComment: "This is multiplication function", tags: multiplyTags }); verify.quickInfoAt("22aq", "(parameter) d: any"); -goTo.marker('23'); -verify.currentSignatureHelpDocCommentIs("This is multiplication function"); -verify.currentParameterHelpArgumentDocCommentIs("LastParam "); +verify.signatureHelp({ marker: "23", docComment: "This is multiplication function", parameterDocComment: "LastParam ", tags: multiplyTags }); verify.quickInfoAt("23aq", "(parameter) e: any", "LastParam "); goTo.marker('24'); verify.completionListContains("aOrb", "(parameter) aOrb: any", ""); verify.completionListContains("opt", "(parameter) opt: any", "optional parameter"); -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("fn f1 with number"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ + marker: "25", + overloadsCount: 2, + docComment: "fn f1 with number", + tags: [{ name: "param", text: "b about b" }], +}); verify.quickInfos({ "25q": ["function f1(a: number): any (+1 overload)", "fn f1 with number"], "25aq": "(parameter) a: number" }); -goTo.marker('26'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "26", overloadsCount: 2, docComment: "" }); verify.quickInfos({ "26q": "function f1(b: string): any (+1 overload)", "26aq": "(parameter) b: string" @@ -335,9 +332,15 @@ verify.completionListContains("multiply", "function multiply(a: number, b: numbe verify.completionListContains("f1", "function f1(a: number): any (+1 overload)", "fn f1 with number"); const subtractDoc = "This is subtract function"; -goTo.marker('28'); -verify.currentSignatureHelpDocCommentIs(subtractDoc); -verify.currentParameterHelpArgumentDocCommentIs(""); +const subtractTags: ReadonlyArray = [ + { name: "param", text: "" }, + { name: "param", text: "b this is about b" }, + { name: "param", text: "c this is optional param c" }, + { name: "param", text: "d this is optional param d" }, + { name: "param", text: "e this is optional param e" }, + { name: "param", text: " { () => string; } } f this is optional param f" }, +]; +verify.signatureHelp({ marker: "28", docComment: subtractDoc, tags: subtractTags }); verify.quickInfos({ "28q": [ "function subtract(a: number, b: number, c?: () => string, d?: () => string, e?: () => string, f?: () => string): void", @@ -346,34 +349,31 @@ verify.quickInfos({ "28aq": "(parameter) a: number" }); -goTo.marker('29'); -verify.currentSignatureHelpDocCommentIs(subtractDoc); -verify.currentParameterHelpArgumentDocCommentIs("this is about b"); +verify.signatureHelp({ marker: "29", docComment: subtractDoc, tags: subtractTags, parameterDocComment: "this is about b" }); verify.quickInfoAt("29aq", "(parameter) b: number", "this is about b"); -goTo.marker('30'); -verify.currentSignatureHelpDocCommentIs(subtractDoc); -verify.currentParameterHelpArgumentDocCommentIs("this is optional param c"); +verify.signatureHelp({ marker: "30", docComment: subtractDoc, tags: subtractTags, parameterDocComment: "this is optional param c" }); verify.quickInfoAt("30aq", "(parameter) c: () => string", "this is optional param c"); -goTo.marker('31'); -verify.currentSignatureHelpDocCommentIs(subtractDoc); -verify.currentParameterHelpArgumentDocCommentIs("this is optional param d"); +verify.signatureHelp({ marker: "31", docComment: subtractDoc, tags: subtractTags, parameterDocComment: "this is optional param d" }); verify.quickInfoAt("31aq", "(parameter) d: () => string", "this is optional param d"); -goTo.marker('32'); -verify.currentSignatureHelpDocCommentIs(subtractDoc); -verify.currentParameterHelpArgumentDocCommentIs("this is optional param e"); +verify.signatureHelp({ marker: "32", docComment: subtractDoc, tags: subtractTags, parameterDocComment: "this is optional param e" }); verify.quickInfoAt("32aq", "(parameter) e: () => string", "this is optional param e"); -goTo.marker('33'); -verify.currentSignatureHelpDocCommentIs(subtractDoc); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "33", docComment: subtractDoc, tags: subtractTags }); verify.quickInfoAt("33aq", "(parameter) f: () => string"); -goTo.marker('34'); -verify.currentSignatureHelpDocCommentIs("this is square function"); -verify.currentParameterHelpArgumentDocCommentIs("this is input number"); +verify.signatureHelp({ + marker: "34", + docComment: "this is square function", + parameterDocComment: "this is input number", + tags: [ + { name: "paramTag", text: "{ number } a this is input number of paramTag" }, + { name: "param", text: "a this is input number" }, + { name: "returnType", text: "{ number } it is return type" }, + ], +}); verify.quickInfos({ "34q": [ "function square(a: number): number", @@ -385,9 +385,12 @@ verify.quickInfos({ ] }); -goTo.marker('35'); -verify.currentSignatureHelpDocCommentIs("this is divide function"); -verify.currentParameterHelpArgumentDocCommentIs("this is a"); +const divideTags: ReadonlyArray = [ + { name: "param", text: "a this is a" }, + { name: "paramTag", text: "{ number } g this is optional param g" }, + { name: "param", text: "b this is b" }, +]; +verify.signatureHelp({ marker: "35", docComment: "this is divide function", parameterDocComment: "this is a", tags: divideTags }); verify.quickInfos({ "35q": [ "function divide(a: number, b: number): void", @@ -399,22 +402,21 @@ verify.quickInfos({ ] }); -goTo.marker('36'); -verify.currentSignatureHelpDocCommentIs("this is divide function"); -verify.currentParameterHelpArgumentDocCommentIs("this is b"); +verify.signatureHelp({ marker: "36", docComment: "this is divide function", parameterDocComment: "this is b", tags: divideTags }); verify.quickInfoAt("36aq", "(parameter) b: number", "this is b"); -goTo.marker('37'); -verify.currentSignatureHelpDocCommentIs("Function returns string concat of foo and bar"); -verify.currentParameterHelpArgumentDocCommentIs("is string"); +const concatDoc = "Function returns string concat of foo and bar"; +const concatTags: ReadonlyArray = [ + { name: "param", text: "foo is string" }, + { name: "param", text: "bar is second string" }, +]; +verify.signatureHelp({ marker: "37", docComment: concatDoc, parameterDocComment: "is string", tags: concatTags }); verify.quickInfos({ - "37q": ["function fooBar(foo: string, bar: string): string", "Function returns string concat of foo and bar"], + "37q": ["function fooBar(foo: string, bar: string): string", concatDoc], "37aq": ["(parameter) foo: string", "is string"] }); -goTo.marker('38'); -verify.currentSignatureHelpDocCommentIs("Function returns string concat of foo and bar"); -verify.currentParameterHelpArgumentDocCommentIs("is second string"); +verify.signatureHelp({ marker: "38", docComment: concatDoc, parameterDocComment: "is second string", tags: concatTags }); verify.quickInfoAt("38aq", "(parameter) bar: string", "is second string"); goTo.marker('39'); @@ -423,13 +425,16 @@ verify.completionListContains("b", "(parameter) b: number", "this is inline comm verify.completionListContains("c", "(parameter) c: number", "it is third parameter"); verify.completionListContains("d", "(parameter) d: number", ""); -goTo.marker('40'); -verify.currentSignatureHelpDocCommentIs("this is jsdoc style function with param tag as well as inline parameter help"); -verify.currentParameterHelpArgumentDocCommentIs("it is first parameter\nthis is inline comment for a "); +const jsdocTestDocComment = "this is jsdoc style function with param tag as well as inline parameter help"; +const jsdocTestTags: ReadonlyArray = [ + { name: "param", text: "a it is first parameter" }, + { name: "param", text: "c it is third parameter" }, +]; +verify.signatureHelp({ marker: "40", docComment: jsdocTestDocComment, parameterDocComment: "it is first parameter\nthis is inline comment for a ", tags: jsdocTestTags }); verify.quickInfos({ "40q": [ "function jsDocParamTest(a: number, b: number, c: number, d: number): number", - "this is jsdoc style function with param tag as well as inline parameter help" + jsdocTestDocComment ], "40aq": [ "(parameter) a: number", @@ -437,41 +442,42 @@ verify.quickInfos({ ] }); -goTo.marker('41'); -verify.currentSignatureHelpDocCommentIs("this is jsdoc style function with param tag as well as inline parameter help"); -verify.currentParameterHelpArgumentDocCommentIs("this is inline comment for b"); +verify.signatureHelp({ marker: "41", docComment: jsdocTestDocComment, parameterDocComment: "this is inline comment for b", tags: jsdocTestTags }); verify.quickInfoAt("41aq", "(parameter) b: number", "this is inline comment for b"); -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("this is jsdoc style function with param tag as well as inline parameter help"); -verify.currentParameterHelpArgumentDocCommentIs("it is third parameter"); +verify.signatureHelp({ marker: "42", docComment: jsdocTestDocComment, parameterDocComment: "it is third parameter", tags: jsdocTestTags }); verify.quickInfoAt("42aq", "(parameter) c: number", "it is third parameter"); -goTo.marker('43'); -verify.currentSignatureHelpDocCommentIs("this is jsdoc style function with param tag as well as inline parameter help"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "43", docComment: jsdocTestDocComment, tags: jsdocTestTags }); verify.quickInfoAt("43aq", "(parameter) d: number"); goTo.marker('44'); -verify.completionListContains("jsDocParamTest", "function jsDocParamTest(a: number, b: number, c: number, d: number): number", "this is jsdoc style function with param tag as well as inline parameter help"); +verify.completionListContains("jsDocParamTest", "function jsDocParamTest(a: number, b: number, c: number, d: number): number", jsdocTestDocComment); verify.completionListContains("x", "var x: any", "This is a comment "); verify.completionListContains("y", "var y: any", "This is a comment"); -goTo.marker('45'); -verify.currentSignatureHelpDocCommentIs("This is function comment\nAnd properly aligned comment"); +verify.signatureHelp({ marker: "45", docComment: "This is function comment\nAnd properly aligned comment" }); verify.quickInfoAt("45q", "function jsDocCommentAlignmentTest1(): void", "This is function comment\nAnd properly aligned comment"); -goTo.marker('46'); -verify.currentSignatureHelpDocCommentIs("This is function comment\n And aligned with 4 space char margin"); -verify.quickInfoAt("46q", "function jsDocCommentAlignmentTest2(): void", "This is function comment\n And aligned with 4 space char margin"); +const alignmentDocComment = "This is function comment\n And aligned with 4 space char margin"; +verify.signatureHelp({ marker: "46", docComment: alignmentDocComment }); +verify.quickInfoAt("46q", "function jsDocCommentAlignmentTest2(): void", alignmentDocComment); -goTo.marker('47'); -verify.currentSignatureHelpDocCommentIs("This is function comment\n And aligned with 4 space char margin"); -verify.currentParameterHelpArgumentDocCommentIs("this is info about a\nspanning on two lines and aligned perfectly"); +const alignmentTags: ReadonlyArray = [ + { name: "param", text: "a this is info about a\nspanning on two lines and aligned perfectly" }, + { name: "param", text: "b this is info about b\nspanning on two lines and aligned perfectly\nspanning one more line alined perfectly\n spanning another line with more margin" }, + { name: "param", text: "c this is info about b\nnot aligned text about parameter will eat only one space" }, +]; +verify.signatureHelp({ + marker: "47", + docComment: alignmentDocComment, + parameterDocComment: "this is info about a\nspanning on two lines and aligned perfectly", + tags: alignmentTags, +}); verify.quickInfos({ "47q": [ "function jsDocCommentAlignmentTest3(a: string, b: any, c: any): void", - "This is function comment\n And aligned with 4 space char margin" + alignmentDocComment ], "47aq": [ "(parameter) a: string", @@ -479,14 +485,20 @@ verify.quickInfos({ ] }); -goTo.marker('48'); -verify.currentSignatureHelpDocCommentIs("This is function comment\n And aligned with 4 space char margin"); -verify.currentParameterHelpArgumentDocCommentIs("this is info about b\nspanning on two lines and aligned perfectly\nspanning one more line alined perfectly\n spanning another line with more margin"); +verify.signatureHelp({ + marker: "48", + docComment: alignmentDocComment, + parameterDocComment: "this is info about b\nspanning on two lines and aligned perfectly\nspanning one more line alined perfectly\n spanning another line with more margin", + tags: alignmentTags, +}); verify.quickInfoAt("48aq", "(parameter) b: any", "this is info about b\nspanning on two lines and aligned perfectly\nspanning one more line alined perfectly\n spanning another line with more margin"); -goTo.marker('49'); -verify.currentSignatureHelpDocCommentIs("This is function comment\n And aligned with 4 space char margin"); -verify.currentParameterHelpArgumentDocCommentIs("this is info about b\nnot aligned text about parameter will eat only one space"); +verify.signatureHelp({ + marker: "49", + docComment: alignmentDocComment, + parameterDocComment: "this is info about b\nnot aligned text about parameter will eat only one space", + tags: alignmentTags, +}); verify.quickInfos({ "49aq": [ "(parameter) c: any", diff --git a/tests/cases/fourslash/commentsExternalModules.ts b/tests/cases/fourslash/commentsExternalModules.ts index 582c6a31357..f9c619e5a17 100644 --- a/tests/cases/fourslash/commentsExternalModules.ts +++ b/tests/cases/fourslash/commentsExternalModules.ts @@ -38,8 +38,7 @@ goTo.marker('2'); verify.completionListContains("b", "var b: number", "b's comment"); verify.completionListContains("foo", "function foo(): number", "foo's comment"); -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs("foo's comment"); +verify.signatureHelp({ marker: "3", docComment: "foo's comment" }); verify.quickInfoAt("3q", "function foo(): number", "foo's comment"); goTo.marker('4'); @@ -50,8 +49,7 @@ verify.completionListContains("b", "var m1.b: number", "b's comment"); verify.completionListContains("fooExport", "function m1.fooExport(): number", "exported function"); verify.completionListContains("m2", "namespace m1.m2"); -goTo.marker('6'); -verify.currentSignatureHelpDocCommentIs("exported function"); +verify.signatureHelp({ marker: "6", docComment: "exported function" }); verify.quickInfoAt("6q", "function m1.fooExport(): number", "exported function"); verify.quickInfoAt("7", "var myvar: m1.m2.c"); @@ -74,8 +72,7 @@ verify.completionListContains("b", "var extMod.m1.b: number", "b's comment"); verify.completionListContains("fooExport", "function extMod.m1.fooExport(): number", "exported function"); verify.completionListContains("m2", "namespace extMod.m1.m2"); -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs("exported function"); +verify.signatureHelp({ marker: "13", docComment: "exported function" }); verify.quickInfoAt("13q", "function extMod.m1.fooExport(): number", "exported function"); verify.quickInfoAt("14", "var newVar: extMod.m1.m2.c"); diff --git a/tests/cases/fourslash/commentsFunctionDeclaration.ts b/tests/cases/fourslash/commentsFunctionDeclaration.ts index b97ff414cce..7ecb46fb042 100644 --- a/tests/cases/fourslash/commentsFunctionDeclaration.ts +++ b/tests/cases/fourslash/commentsFunctionDeclaration.ts @@ -27,8 +27,7 @@ verify.quickInfoAt("2", "function foo(): void", "This comment should appear for goTo.marker('3'); verify.completionListContains('foo', 'function foo(): void', 'This comment should appear for foo'); -goTo.marker('4'); -verify.currentSignatureHelpDocCommentIs("This comment should appear for foo"); +verify.signatureHelp({ marker: "4", docComment: "This comment should appear for foo" }); verify.quickInfoAt("5", "function fooWithParameters(a: string, b: number): void", "This is comment for function signature"); @@ -43,14 +42,13 @@ verify.quickInfoAt("8", "function fooWithParameters(a: string, b: number): void" goTo.marker('9'); verify.completionListContains('fooWithParameters', 'function fooWithParameters(a: string, b: number): void', 'This is comment for function signature'); -goTo.marker('10'); -verify.currentSignatureHelpDocCommentIs("This is comment for function signature"); -verify.currentParameterHelpArgumentDocCommentIs("this is comment about a"); - -goTo.marker('11'); -verify.currentSignatureHelpDocCommentIs("This is comment for function signature"); -verify.currentParameterHelpArgumentDocCommentIs("this is comment for b"); - -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs("Does something"); -verify.currentParameterHelpArgumentDocCommentIs("a string"); +verify.signatureHelp( + { marker: "10", docComment: "This is comment for function signature", parameterDocComment: "this is comment about a" }, + { marker: "11", docComment: "This is comment for function signature", parameterDocComment: "this is comment for b" }, + { + marker: "12", + docComment: "Does something", + parameterDocComment: "a string", + tags: [{ name: "param", text: "a a string" }], + }, +); diff --git a/tests/cases/fourslash/commentsFunctionExpression.ts b/tests/cases/fourslash/commentsFunctionExpression.ts index 65a061d1f91..bd9a5c93433 100644 --- a/tests/cases/fourslash/commentsFunctionExpression.ts +++ b/tests/cases/fourslash/commentsFunctionExpression.ts @@ -1,7 +1,7 @@ /// // test arrow doc comments -/////** lamdaFoo var comment*/ +/////** lambdaFoo var comment*/ ////var lamb/*1*/daFoo = /** this is lambda comment*/ (/**param a*/a: number, /**param b*/b: number) => /*2*/a + b; ////var lambddaN/*3*/oVarComment = /** this is lambda multiplication*/ (/**param a*/a: number, /**param b*/b: number) => a * b; /////*4*/lambdaFoo(/*5*/10, /*6*/20); @@ -32,9 +32,7 @@ ////} ////assig/*16*/ned/*17*/(/*18*/"hey"); - - -verify.quickInfoAt("1", "var lambdaFoo: (a: number, b: number) => number", "lamdaFoo var comment\nthis is lambda comment"); +verify.quickInfoAt("1", "var lambdaFoo: (a: number, b: number) => number", "lambdaFoo var comment\nthis is lambda comment"); goTo.marker('2'); verify.completionListContains('a', '(parameter) a: number', 'param a'); @@ -44,17 +42,21 @@ verify.completionListContains('b', '(parameter) b: number', 'param b'); verify.quickInfoAt("3", "var lambddaNoVarComment: (a: number, b: number) => number", "this is lambda multiplication"); goTo.marker('4'); -verify.completionListContains('lambdaFoo', 'var lambdaFoo: (a: number, b: number) => number', 'lamdaFoo var comment\nthis is lambda comment'); +verify.completionListContains('lambdaFoo', 'var lambdaFoo: (a: number, b: number) => number', 'lambdaFoo var comment\nthis is lambda comment'); verify.completionListContains('lambddaNoVarComment', 'var lambddaNoVarComment: (a: number, b: number) => number', 'this is lambda multiplication'); -goTo.marker('5'); -verify.currentParameterHelpArgumentDocCommentIs("param a"); - -goTo.marker('6'); -verify.currentParameterHelpArgumentDocCommentIs("param b"); - - - +verify.signatureHelp( + { + marker: "5", + docComment: "lambdaFoo var comment\nthis is lambda comment", + parameterDocComment: "param a", + }, + { + marker: "6", + docComment: "lambdaFoo var comment\nthis is lambda comment", + parameterDocComment: "param b", + }, +); // no documentation from nested lambda verify.quickInfos({ @@ -76,7 +78,14 @@ verify.completionListContains('s', '(parameter) s: string', "the first parameter verify.quickInfoAt("16", "var assigned: (s: string) => number", "On variable\nSummary on expression"); goTo.marker('17'); verify.completionListContains("assigned", "var assigned: (s: string) => number", "On variable\nSummary on expression"); -goTo.marker('18'); -verify.currentSignatureHelpDocCommentIs("On variable\nSummary on expression"); -verify.currentParameterHelpArgumentDocCommentIs("the first parameter!\nparam on expression\nOn parameter "); - +verify.signatureHelp({ + marker: "18", + docComment: "On variable\nSummary on expression", + parameterDocComment: "the first parameter!\nparam on expression\nOn parameter ", + tags: [ + { name: "param", text: "s the first parameter!" }, + { name: "returns", text: "the parameter's length" }, + { name: "param", text: "s param on expression" }, + { name: "returns", text: "return on expression" }, + ], +}); diff --git a/tests/cases/fourslash/commentsImportDeclaration.ts b/tests/cases/fourslash/commentsImportDeclaration.ts index 7f8a328d6d1..bc343afeabf 100644 --- a/tests/cases/fourslash/commentsImportDeclaration.ts +++ b/tests/cases/fourslash/commentsImportDeclaration.ts @@ -40,8 +40,7 @@ verify.completions({ ] }) -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("exported function"); +verify.signatureHelp({ marker: "8", docComment: "exported function" }); verify.quickInfos({ "8q": ["function extMod.m1.fooExport(): number", "exported function"], 9: "var newVar: extMod.m1.m2.c" diff --git a/tests/cases/fourslash/commentsInheritance.ts b/tests/cases/fourslash/commentsInheritance.ts index a965bf213c8..3443ec23177 100644 --- a/tests/cases/fourslash/commentsInheritance.ts +++ b/tests/cases/fourslash/commentsInheritance.ts @@ -233,22 +233,10 @@ verify.completionListContains("l1", "(property) i1.l1: () => void", ""); verify.completionListContains("nc_p1", "(property) i1.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) i1.nc_f1(): void", ""); verify.completionListContains("nc_l1", "(property) i1.nc_l1: () => void", ""); -goTo.marker('2'); -verify.currentSignatureHelpDocCommentIs("i1_f1"); -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('4'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('5'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l2'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l3'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l4'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l5'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "2", docComment: "i1_f1" }, + { marker: ["3", "4", "5", "l2", "l3", "l4", "l5"], docComment: "" }, +); verify.quickInfos({ "1iq": "var i1_i: i1", @@ -275,22 +263,14 @@ verify.completionListContains("l1", "(property) c1.l1: () => void", "c1_l1"); verify.completionListContains("nc_p1", "(property) c1.nc_p1: number", "c1_nc_p1"); verify.completionListContains("nc_f1", "(method) c1.nc_f1(): void", "c1_nc_f1"); verify.completionListContains("nc_l1", "(property) c1.nc_l1: () => void", "c1_nc_l1"); -goTo.marker('7'); -verify.currentSignatureHelpDocCommentIs("i1_f1"); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('9'); -verify.currentSignatureHelpDocCommentIs("c1_f1"); -goTo.marker('10'); -verify.currentSignatureHelpDocCommentIs("c1_nc_f1"); -goTo.marker('l7'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l8'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l9'); -verify.currentSignatureHelpDocCommentIs("c1_l1"); -goTo.marker('l10'); -verify.currentSignatureHelpDocCommentIs("c1_nc_l1"); +verify.signatureHelp( + { marker: "7", docComment: "i1_f1" }, + { marker: "9", docComment: "c1_f1" }, + { marker: "10", docComment: "c1_nc_f1" }, + { marker: "l9", docComment: "c1_l1" }, + { marker: "l10", docComment: "c1_nc_l1" }, + { marker: ["8", "l7", "l8"], docComment: "" }, +); verify.quickInfos({ "6iq": "var c1_i: c1", @@ -317,22 +297,10 @@ verify.completionListContains("l1", "(property) i1.l1: () => void", ""); verify.completionListContains("nc_p1", "(property) i1.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) i1.nc_f1(): void", ""); verify.completionListContains("nc_l1", "(property) i1.nc_l1: () => void", ""); -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs("i1_f1"); -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('14'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('15'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l12'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l13'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l14'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l15'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "12", docComment: "i1_f1" }, + { marker: ["13", "14", "15", "l12", "l13", "l14", "l15"], docComment: "" }, +); verify.quickInfos({ "12q": ["(method) i1.i1_f1(): void", "i1_f1"], @@ -359,11 +327,10 @@ verify.quickInfos({ "18iq": "var c3_i: c3" }); -goTo.marker('17'); -verify.currentSignatureHelpDocCommentIs("c2 constructor"); - -goTo.marker('18'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "17", docComment: "c2 constructor" }, + { marker: "18", docComment: "" }, +); verify.quickInfos({ "18sq": ["constructor c2(a: number): c2", "c2 constructor"], @@ -388,14 +355,11 @@ verify.completionListContains("prop", "(property) c2.prop: number", "c2 prop"); verify.completionListContains("nc_p1", "(property) c2.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) c2.nc_f1(): void", ""); verify.completionListContains("nc_prop", "(property) c2.nc_prop: number", ""); -goTo.marker('20'); -verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); -goTo.marker('21'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('22'); -verify.currentSignatureHelpDocCommentIs("c2 f1"); -goTo.marker('23'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "20", docComment: "c2 c2_f1" }, + { marker: "22", docComment: "c2 f1" }, + { marker: ["21", "23"], docComment: "" }, +); verify.quickInfos({ "20q": ["(method) c2.c2_f1(): void", "c2 c2_f1"], @@ -417,14 +381,11 @@ verify.completionListContains("prop", "(property) c3.prop: number", "c3 prop"); verify.completionListContains("nc_p1", "(property) c3.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) c3.nc_f1(): void", ""); verify.completionListContains("nc_prop", "(property) c3.nc_prop: number", ""); -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); -goTo.marker('26'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('27'); -verify.currentSignatureHelpDocCommentIs("c3 f1"); -goTo.marker('28'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "25", docComment: "c2 c2_f1" }, + { marker: "27", docComment: "c3 f1" }, + { marker: ["26", "28"], docComment: "" }, +); verify.quickInfos({ "25q": ["(method) c2.c2_f1(): void", "c2 c2_f1"], @@ -446,14 +407,11 @@ verify.completionListContains("prop", "(property) c2.prop: number", "c2 prop"); verify.completionListContains("nc_p1", "(property) c2.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) c2.nc_f1(): void", ""); verify.completionListContains("nc_prop", "(property) c2.nc_prop: number", ""); -goTo.marker('30'); -verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); -goTo.marker('31'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('32'); -verify.currentSignatureHelpDocCommentIs("c2 f1"); -goTo.marker('33'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "30", docComment: "c2 c2_f1" }, + { marker: "32", docComment: "c2 f1" }, + { marker: ["31", "33"], docComment: "" }, +); verify.quickInfos({ "30q": ["(method) c2.c2_f1(): void", "c2 c2_f1"], @@ -462,8 +420,7 @@ verify.quickInfos({ "33q": "(method) c2.nc_f1(): void" }); -goTo.marker('34'); -verify.currentSignatureHelpDocCommentIs("c2 constructor"); +verify.signatureHelp({ marker: "34", docComment: "c2 constructor" }); verify.quickInfos({ "34iq": "var c4_i: c4", "34q": ["constructor c4(a: number): c4", "c2 constructor"] @@ -490,22 +447,11 @@ verify.completionListContains("l1", "(property) i2.l1: () => void", ""); verify.completionListContains("nc_p1", "(property) i2.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) i2.nc_f1(): void", ""); verify.completionListContains("nc_l1", "(property) i2.nc_l1: () => void", ""); -goTo.marker('37'); -verify.currentSignatureHelpDocCommentIs("i2_f1"); -goTo.marker('38'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('39'); -verify.currentSignatureHelpDocCommentIs("i2 f1"); -goTo.marker('40'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l37'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l38'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l39'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l40'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "37", docComment: "i2_f1" }, + { marker: "39", docComment: "i2 f1" }, + { marker: ["38", "40", "l37", "l37", "l39", "l40"], docComment: "" }, +); verify.quickInfos({ "36iq": "var i2_i: i2", @@ -533,22 +479,11 @@ verify.completionListContains("l1", "(property) i3.l1: () => void", ""); verify.completionListContains("nc_p1", "(property) i3.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) i3.nc_f1(): void", ""); verify.completionListContains("nc_l1", "(property) i3.nc_l1: () => void", ""); -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("i2_f1"); -goTo.marker('43'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('44'); -verify.currentSignatureHelpDocCommentIs("i3 f1"); -goTo.marker('45'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l42'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l43'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l44'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l45'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "42", docComment: "i2_f1" }, + { marker: "44", docComment: "i3 f1" }, + { marker: ["43", "45", "l42", "l43", "l44", "l45"], docComment: "" }, +); verify.quickInfos({ "42q": ["(method) i2.i2_f1(): void", "i2_f1"], @@ -574,22 +509,11 @@ verify.completionListContains("l1", "(property) i2.l1: () => void", ""); verify.completionListContains("nc_p1", "(property) i2.nc_p1: number", ""); verify.completionListContains("nc_f1", "(method) i2.nc_f1(): void", ""); verify.completionListContains("nc_l1", "(property) i2.nc_l1: () => void", ""); -goTo.marker('47'); -verify.currentSignatureHelpDocCommentIs("i2_f1"); -goTo.marker('48'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('49'); -verify.currentSignatureHelpDocCommentIs("i2 f1"); -goTo.marker('50'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l47'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l48'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l49'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l50'); -verify.currentSignatureHelpDocCommentIs(""); +verify.signatureHelp( + { marker: "47", docComment: "i2_f1" }, + { marker: "49", docComment: "i2 f1" }, + { marker: ["48", "l47", "l48", "l49", "l50"], docComment: "" }, +); verify.quickInfos({ "47q": ["(method) i2.i2_f1(): void", "i2_f1"], diff --git a/tests/cases/fourslash/commentsInterface.ts b/tests/cases/fourslash/commentsInterface.ts index e2223326274..85c12118c34 100644 --- a/tests/cases/fourslash/commentsInterface.ts +++ b/tests/cases/fourslash/commentsInterface.ts @@ -93,9 +93,7 @@ verify.quickInfos({ 11: "var i2_i_foo_r: string" }); -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs("param help"); +verify.signatureHelp({ marker: "12", docComment: "", parameterDocComment: "param help" }); verify.quickInfos({ "12q": "(property) i2.foo: (b: number) => string", @@ -109,9 +107,7 @@ verify.quickInfos({ 15: "var i2_i_n: any" }); -goTo.marker('16'); -verify.currentSignatureHelpDocCommentIs("new method"); -verify.currentParameterHelpArgumentDocCommentIs("param"); +verify.signatureHelp({ marker: "16", docComment: "new method", parameterDocComment: "param" }); verify.quickInfos({ "16q": ["var i2_i: i2\nnew (i: i1) => any", "new method"], @@ -122,22 +118,16 @@ verify.quickInfos({ 21: "var i2_i_nc_foo_r: string" }); -goTo.marker('22'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "22", docComment: "" }); verify.quickInfos({ "22q": "(property) i2.nc_foo: (b: number) => string", 23: "var i2_i_r: number" }); -goTo.marker('24'); -verify.currentSignatureHelpDocCommentIs("this is call signature"); -verify.currentParameterHelpArgumentDocCommentIs("paramhelp a"); +verify.signatureHelp({ marker: "24", docComment: "this is call signature", parameterDocComment: "paramhelp a" }); verify.quickInfoAt("24q", "var i2_i: i2\n(a: number, b: number) => number", "this is call signature"); -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("this is call signature"); -verify.currentParameterHelpArgumentDocCommentIs("paramhelp b"); +verify.signatureHelp({ marker: "25", docComment: "this is call signature", parameterDocComment: "paramhelp b" }); verify.quickInfos({ 26: "var i2_i_fnfoo: (b: number) => string", @@ -145,9 +135,7 @@ verify.quickInfos({ 28: "var i2_i_fnfoo_r: string" }); -goTo.marker('29'); -verify.currentSignatureHelpDocCommentIs("this is fnfoo"); -verify.currentParameterHelpArgumentDocCommentIs("param help"); +verify.signatureHelp({ marker: "29", docComment: "this is fnfoo", parameterDocComment: "param help" }); verify.quickInfos({ "29q": ["(method) i2.fnfoo(b: number): string", "this is fnfoo"], @@ -157,9 +145,7 @@ verify.quickInfos({ 32: "var i2_i_nc_fnfoo_r: string" }); -goTo.marker('33'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "33", docComment: "" }); verify.quickInfoAt("33q", "(method) i2.nc_fnfoo(b: number): string"); goTo.marker('34'); @@ -206,21 +192,13 @@ verify.completionListContains("nc_f", "(method) i3.nc_f(a: number): string", "") verify.completionListContains("nc_l", "(property) i3.nc_l: (b: number) => string", ""); verify.completionListContains("nc_x", "(property) i3.nc_x: number", ""); -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("Function i3 f"); -verify.currentParameterHelpArgumentDocCommentIs("number parameter"); +verify.signatureHelp({ marker: "42", docComment: "Function i3 f", parameterDocComment: "number parameter" }); -goTo.marker('43'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs("comment i3 l b"); +verify.signatureHelp({ marker: "43", docComment: "", parameterDocComment: "comment i3 l b" }); verify.quickInfoAt("43q", "(property) i3.l: (b: number) => string"); -goTo.marker('44'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "44", docComment: "" }); verify.quickInfoAt("44q", "(method) i3.nc_f(a: number): string"); -goTo.marker('45'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "45", docComment: "" }); verify.quickInfoAt("45q", "(property) i3.nc_l: (b: number) => string"); diff --git a/tests/cases/fourslash/commentsModules.ts b/tests/cases/fourslash/commentsModules.ts index 0205b144f16..d36e530d9bd 100644 --- a/tests/cases/fourslash/commentsModules.ts +++ b/tests/cases/fourslash/commentsModules.ts @@ -102,8 +102,7 @@ goTo.marker('2'); verify.completionListContains("b", "var b: number", "b's comment"); verify.completionListContains("foo", "function foo(): number", "foo's comment"); -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs("foo's comment"); +verify.signatureHelp({ marker: "3", docComment: "foo's comment" }); verify.quickInfoAt("3q", "function foo(): number", "foo's comment"); goTo.marker('4'); @@ -115,8 +114,7 @@ verify.completionListContains("fooExport", "function m1.fooExport(): number", "e verify.completionListContains("m2", "namespace m1.m2"); verify.quickInfoIs("function m1.fooExport(): number", "exported function"); -goTo.marker('6'); -verify.currentSignatureHelpDocCommentIs("exported function"); +verify.signatureHelp({ marker: "6", docComment: "exported function" }); verify.quickInfoAt("7", "var myvar: m1.m2.c"); diff --git a/tests/cases/fourslash/commentsOverloads.ts b/tests/cases/fourslash/commentsOverloads.ts index 1068e1e6fe1..a6c7170d2e9 100644 --- a/tests/cases/fourslash/commentsOverloads.ts +++ b/tests/cases/fourslash/commentsOverloads.ts @@ -233,12 +233,8 @@ verify.quickInfos({ o4q: ["function f1(a: number): number (+1 overload)", "this is signature 1"] }); -goTo.marker('4'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('o4'); -verify.currentSignatureHelpDocCommentIs("this is signature 1"); -verify.currentParameterHelpArgumentDocCommentIs("param a"); +verify.signatureHelp({ marker: "4", overloadsCount: 2 }); +verify.signatureHelp({ marker: "o4", overloadsCount: 2, docComment: "this is signature 1", parameterDocComment: "param a" }); verify.quickInfos({ 5: "function f2(a: number): number (+1 overload)", @@ -248,13 +244,10 @@ verify.quickInfos({ o8q: "function f2(a: number): number (+1 overload)" }); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("this is signature 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); - -goTo.marker('o8'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs("param a"); +verify.signatureHelp( + { marker: "8", overloadsCount: 2, docComment: "this is signature 2" }, + { marker: "o8", overloadsCount: 2, parameterDocComment: "param a" }, +); verify.quickInfos({ 9: "function f3(a: number): number (+1 overload)", @@ -264,13 +257,7 @@ verify.quickInfos({ o12q: "function f3(a: number): number (+1 overload)" }); -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); - -goTo.marker('o12'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: ["12", "o12"], overloadsCount: 2 }); verify.quickInfos({ 13: ["function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"], @@ -280,13 +267,10 @@ verify.quickInfos({ o16q: ["function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"] }); -goTo.marker('16'); -verify.currentSignatureHelpDocCommentIs("this is signature 4 - with string parameter"); -verify.currentParameterHelpArgumentDocCommentIs(""); - -goTo.marker('o16'); -verify.currentSignatureHelpDocCommentIs("this is signature 4 - with number parameter"); -verify.currentParameterHelpArgumentDocCommentIs("param a"); +verify.signatureHelp( + { marker: "16", overloadsCount: 2, docComment: "this is signature 4 - with string parameter" }, + { marker: "o16", overloadsCount: 2, docComment: "this is signature 4 - with number parameter", parameterDocComment: "param a" }, +); goTo.marker('17'); verify.completionListContains('f1', 'function f1(a: number): number (+1 overload)', 'this is signature 1'); @@ -304,24 +288,16 @@ verify.completionListContains('i3_i', 'var i3_i: i3\nnew (a: string) => any (+1 verify.not.completionListContains('i4', 'interface i4', ''); verify.completionListContains('i4_i', 'var i4_i: i4\nnew (a: string) => any (+1 overload)', ''); -goTo.marker('19'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "19", overloadsCount: 2 }); verify.quickInfoAt("19q", "var i1_i: i1\nnew (b: number) => any (+1 overload)"); -goTo.marker('20'); -verify.currentSignatureHelpDocCommentIs("new 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "20", overloadsCount: 2, docComment: "new 1" }); verify.quickInfoAt("20q", "var i1_i: i1\nnew (a: string) => any (+1 overload)", "new 1"); -goTo.marker('21'); -verify.currentSignatureHelpDocCommentIs("this signature 1"); -verify.currentParameterHelpArgumentDocCommentIs("param a"); +verify.signatureHelp({ marker: "21", overloadsCount: 2, docComment: "this signature 1", parameterDocComment: "param a" }); verify.quickInfoAt("21q", "var i1_i: i1\n(a: number) => number (+1 overload)", "this signature 1"); -goTo.marker('22'); -verify.currentSignatureHelpDocCommentIs("this is signature 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "22", overloadsCount: 2, docComment: "this is signature 2" }); goTo.marker('22q'); verify.quickInfoAt("22q", "var i1_i: i1\n(b: string) => number (+1 overload)", "this is signature 2"); @@ -331,104 +307,64 @@ verify.completionListContains('foo2', '(method) i1.foo2(a: number): number (+1 o verify.completionListContains('foo3', '(method) i1.foo3(a: number): number (+1 overload)', ''); verify.completionListContains('foo4', '(method) i1.foo4(a: number): number (+1 overload)', 'foo4 1'); -goTo.marker('24'); -verify.currentSignatureHelpDocCommentIs("foo 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "24", overloadsCount: 2, docComment: "foo 1" }); verify.quickInfoAt("24q", "(method) i1.foo(a: number): number (+1 overload)", "foo 1"); -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("foo 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "25", overloadsCount: 2, docComment: "foo 2" }); verify.quickInfoAt("25q", "(method) i1.foo(b: string): number (+1 overload)", "foo 2"); -goTo.marker('26'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "26", overloadsCount: 2 }); verify.quickInfoAt("26q", "(method) i1.foo2(a: number): number (+1 overload)"); -goTo.marker('27'); -verify.currentSignatureHelpDocCommentIs("foo2 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "27", overloadsCount: 2, docComment: "foo2 2" }); verify.quickInfoAt("27q", "(method) i1.foo2(b: string): number (+1 overload)", "foo2 2"); -goTo.marker('28'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "28", overloadsCount: 2 }); verify.quickInfoAt("28q", "(method) i1.foo3(a: number): number (+1 overload)"); -goTo.marker('29'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "29", overloadsCount: 2 }); verify.quickInfoAt("29q", "(method) i1.foo3(b: string): number (+1 overload)"); -goTo.marker('30'); -verify.currentSignatureHelpDocCommentIs("foo4 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "30", overloadsCount: 2, docComment: "foo4 1" }); verify.quickInfoAt("30q", "(method) i1.foo4(a: number): number (+1 overload)", "foo4 1"); -goTo.marker('31'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "31", overloadsCount: 2 }); verify.quickInfoAt("31q", "(method) i1.foo4(b: string): number (+1 overload)"); -goTo.marker('32'); -verify.currentSignatureHelpDocCommentIs("new 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "32", overloadsCount: 2, docComment: "new 2" }); verify.quickInfoAt("32q", "var i2_i: i2\nnew (b: number) => any (+1 overload)", "new 2"); -goTo.marker('33'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "33", overloadsCount: 2 }); verify.quickInfoAt("33q", "var i2_i: i2\nnew (a: string) => any (+1 overload)"); -goTo.marker('34'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "34", overloadsCount: 2 }); verify.quickInfoAt("34q", "var i2_i: i2\n(a: number) => number (+1 overload)"); -goTo.marker('35'); -verify.currentSignatureHelpDocCommentIs("this is signature 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "35", overloadsCount: 2, docComment: "this is signature 2" }); verify.quickInfoAt("35q", "var i2_i: i2\n(b: string) => number (+1 overload)", "this is signature 2"); -goTo.marker('36'); -verify.currentSignatureHelpDocCommentIs("new 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "36", overloadsCount: 2, docComment: "new 2" }); verify.quickInfoAt("36q", "var i3_i: i3\nnew (b: number) => any (+1 overload)", "new 2"); -goTo.marker('37'); -verify.currentSignatureHelpDocCommentIs("new 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "37", overloadsCount: 2, docComment: "new 1" }); verify.quickInfoAt("37q", "var i3_i: i3\nnew (a: string) => any (+1 overload)", "new 1"); -goTo.marker('38'); -verify.currentSignatureHelpDocCommentIs("this is signature 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "38", overloadsCount: 2, docComment: "this is signature 1" }); verify.quickInfoAt("38q", "var i3_i: i3\n(a: number) => number (+1 overload)", "this is signature 1"); -goTo.marker('39'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "39", overloadsCount: 2 }); verify.quickInfoAt("39q", "var i3_i: i3\n(b: string) => number (+1 overload)"); -goTo.marker('40'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "40", overloadsCount: 2 }); verify.quickInfoAt("40q", "var i4_i: i4\nnew (b: number) => any (+1 overload)"); -goTo.marker('41'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "41", overloadsCount: 2 }); verify.quickInfoAt("41q", "var i4_i: i4\nnew (a: string) => any (+1 overload)"); -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "42", overloadsCount: 2 }); verify.quickInfoAt("42q", "var i4_i: i4\n(a: number) => number (+1 overload)"); -goTo.marker('43'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "43", overloadsCount: 2 }); verify.quickInfoAt("43q", "var i4_i: i4\n(b: string) => number (+1 overload)"); goTo.marker('44'); @@ -438,104 +374,64 @@ verify.completionListContains('prop3', '(method) c.prop3(a: number): number (+1 verify.completionListContains('prop4', '(method) c.prop4(a: number): number (+1 overload)', 'prop4 1'); verify.completionListContains('prop5', '(method) c.prop5(a: number): number (+1 overload)', 'prop5 1'); -goTo.marker('45'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "45", overloadsCount: 2 }); verify.quickInfoAt("45q", "(method) c.prop1(a: number): number (+1 overload)"); -goTo.marker('46'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "46", overloadsCount: 2 }); verify.quickInfoAt("46q", "(method) c.prop1(b: string): number (+1 overload)"); -goTo.marker('47'); -verify.currentSignatureHelpDocCommentIs("prop2 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "47", overloadsCount: 2, docComment: "prop2 1" }); verify.quickInfoAt("47q", "(method) c.prop2(a: number): number (+1 overload)", "prop2 1"); -goTo.marker('48'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "48", overloadsCount: 2 }); verify.quickInfoAt("48q", "(method) c.prop2(b: string): number (+1 overload)"); -goTo.marker('49'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "49", overloadsCount: 2 }); verify.quickInfoAt("49q", "(method) c.prop3(a: number): number (+1 overload)"); -goTo.marker('50'); -verify.currentSignatureHelpDocCommentIs("prop3 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "50", overloadsCount: 2, docComment: "prop3 2" }); verify.quickInfoAt("50q", "(method) c.prop3(b: string): number (+1 overload)", "prop3 2"); -goTo.marker('51'); -verify.currentSignatureHelpDocCommentIs("prop4 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "51", overloadsCount: 2, docComment: "prop4 1" }); verify.quickInfoAt("51q", "(method) c.prop4(a: number): number (+1 overload)", "prop4 1"); -goTo.marker('52'); -verify.currentSignatureHelpDocCommentIs("prop4 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "52", overloadsCount: 2, docComment: "prop4 2" }); verify.quickInfoAt("52q", "(method) c.prop4(b: string): number (+1 overload)", "prop4 2"); -goTo.marker('53'); -verify.currentSignatureHelpDocCommentIs("prop5 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "53", overloadsCount: 2, docComment: "prop5 1" }); verify.quickInfoAt("53q", "(method) c.prop5(a: number): number (+1 overload)", "prop5 1"); -goTo.marker('54'); -verify.currentSignatureHelpDocCommentIs("prop5 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "54", overloadsCount: 2, docComment: "prop5 2" }); verify.quickInfoAt("54q", "(method) c.prop5(b: string): number (+1 overload)", "prop5 2"); -goTo.marker('55'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "55", overloadsCount: 2 }); verify.quickInfoAt("55q", "constructor c1(a: number): c1 (+1 overload)"); -goTo.marker('56'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "56", overloadsCount: 2 }); verify.quickInfoAt("56q", "constructor c1(b: string): c1 (+1 overload)"); -goTo.marker('57'); -verify.currentSignatureHelpDocCommentIs("c2 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "57", overloadsCount: 2, docComment: "c2 1" }); verify.quickInfoAt("57q", "constructor c2(a: number): c2 (+1 overload)", "c2 1"); -goTo.marker('58'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "58", overloadsCount: 2 }); verify.quickInfoAt("58q", "constructor c2(b: string): c2 (+1 overload)"); -goTo.marker('59'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "59", overloadsCount: 2 }); verify.quickInfoAt("59q", "constructor c3(a: number): c3 (+1 overload)"); -goTo.marker('60'); -verify.currentSignatureHelpDocCommentIs("c3 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "60", overloadsCount: 2, docComment: "c3 2" }); verify.quickInfoAt("60q", "constructor c3(b: string): c3 (+1 overload)", "c3 2"); -goTo.marker('61'); -verify.currentSignatureHelpDocCommentIs("c4 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "61", overloadsCount: 2, docComment: "c4 1" }); verify.quickInfoAt("61q", "constructor c4(a: number): c4 (+1 overload)", "c4 1"); -goTo.marker('62'); -verify.currentSignatureHelpDocCommentIs("c4 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "62", overloadsCount: 2, docComment: "c4 2" }); verify.quickInfoAt("62q", "constructor c4(b: string): c4 (+1 overload)", "c4 2"); -goTo.marker('63'); -verify.currentSignatureHelpDocCommentIs("c5 1"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "63", overloadsCount: 2, docComment: "c5 1" }); verify.quickInfoAt("63q", "constructor c5(a: number): c5 (+1 overload)", "c5 1"); -goTo.marker('64'); -verify.currentSignatureHelpDocCommentIs("c5 2"); -verify.currentParameterHelpArgumentDocCommentIs(""); +verify.signatureHelp({ marker: "64", overloadsCount: 2, docComment: "c5 2" }); verify.quickInfoAt("64q", "constructor c5(b: string): c5 (+1 overload)", "c5 2"); goTo.marker('65'); diff --git a/tests/cases/fourslash/commentsVariables.ts b/tests/cases/fourslash/commentsVariables.ts index c8266e5e776..ae3b036b4c6 100644 --- a/tests/cases/fourslash/commentsVariables.ts +++ b/tests/cases/fourslash/commentsVariables.ts @@ -64,12 +64,10 @@ verify.completions( }, ) -goTo.marker('5'); -verify.currentSignatureHelpDocCommentIs("foos comment"); +verify.signatureHelp({ marker: "5", docComment: "foos comment" }); verify.quickInfoAt("5q", "function foo(): void", "foos comment"); -goTo.marker('6'); -verify.currentSignatureHelpDocCommentIs("fooVar comment"); +verify.signatureHelp({ marker: "6", docComment: "fooVar comment" }); verify.quickInfoAt("6q", "var fooVar: () => void", "fooVar comment"); verify.completions({ @@ -80,12 +78,10 @@ verify.completions({ ], }); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("foos comment"); +verify.signatureHelp({ marker: "8", docComment: "foos comment" }); verify.quickInfoAt("8q", "function foo(): void", "foos comment"); -goTo.marker('9'); -verify.currentSignatureHelpDocCommentIs("fooVar comment"); +verify.signatureHelp({ marker: "9", docComment: "fooVar comment" }); verify.quickInfos({ "9q": ["var fooVar: () => void", "fooVar comment"], "9aq": ["var fooVar: () => void", "fooVar comment"] diff --git a/tests/cases/fourslash/externalModuleWithExportAssignment.ts b/tests/cases/fourslash/externalModuleWithExportAssignment.ts index e35a89f1d7e..02f53b661d5 100644 --- a/tests/cases/fourslash/externalModuleWithExportAssignment.ts +++ b/tests/cases/fourslash/externalModuleWithExportAssignment.ts @@ -53,16 +53,14 @@ verify.completionListContains("test2", "(method) test2(): a1.connectModule", und verify.not.completionListContains("connectModule"); verify.not.completionListContains("connectExport"); -goTo.marker('4'); -verify.currentSignatureHelpIs("test1(res: any, req: any, next: any): void"); - -goTo.marker('5'); -verify.currentSignatureHelpIs("test2(): a1.connectModule"); +verify.signatureHelp( + { marker: "4", text: "test1(res: any, req: any, next: any): void" }, + { marker: "5", text: "test2(): a1.connectModule" }, +); verify.quickInfoAt("6", "var r1: a1.connectModule", undefined); -goTo.marker('7'); -verify.currentSignatureHelpIs("a(): a1.connectExport"); +verify.signatureHelp({ marker: "7", text: "a(): a1.connectExport" }); verify.quickInfoAt("8", "var r2: a1.connectExport", undefined); @@ -73,16 +71,14 @@ verify.completionListContains("test2", "(method) test2(): a1.connectModule", und verify.not.completionListContains("connectModule"); verify.not.completionListContains("connectExport"); -goTo.marker('10'); -verify.currentSignatureHelpIs("test1(res: any, req: any, next: any): void"); - -goTo.marker('11'); -verify.currentSignatureHelpIs("test2(): a1.connectModule"); +verify.signatureHelp( + { marker: "10", text: "test1(res: any, req: any, next: any): void" }, + { marker: "11", text: "test2(): a1.connectModule" }, +); verify.quickInfoAt("12", "var r3: a1.connectModule", undefined); -goTo.marker('13'); -verify.currentSignatureHelpIs("a1(): a1.connectExport"); +verify.signatureHelp({ marker: "13", text: "a1(): a1.connectExport" }); verify.quickInfoAt("14", "var r4: a1.connectExport", undefined); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index 4c5134e0244..b8b06edca15 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -169,7 +169,6 @@ declare namespace FourSlashInterface { completionListContainsClassElementKeywords(): void; completionListContainsConstructorParameterKeywords(): void; completionListAllowsNewIdentifier(): void; - signatureHelpPresent(): void; errorExistsBetweenMarkers(startMarker: string, endMarker: string): void; errorExistsAfterMarker(markerName?: string): void; errorExistsBeforeMarker(markerName?: string): void; @@ -180,7 +179,7 @@ declare namespace FourSlashInterface { isInCommentAtPosition(onlyMultiLineDiverges?: boolean): void; codeFix(options: { description: string, - newFileContent?: string, + newFileContent?: string | { readonly [fileName: string]: string }, newRangeContent?: string, errorCode?: number, index?: number, @@ -263,17 +262,8 @@ declare namespace FourSlashInterface { rangesWithSameTextAreRenameLocations(): void; rangesAreRenameLocations(options?: Range[] | { findInStrings?: boolean, findInComments?: boolean, ranges?: Range[] }); findReferencesDefinitionDisplayPartsAtCaretAre(expected: ts.SymbolDisplayPart[]): void; - currentParameterHelpArgumentNameIs(name: string): void; - currentParameterSpanIs(parameter: string): void; - currentParameterHelpArgumentDocCommentIs(docComment: string): void; - currentSignatureHelpDocCommentIs(docComment: string): void; - currentSignatureHelpTagsAre(tags: ts.JSDocTagInfo[]): void; - signatureHelpCountIs(expected: number): void; - signatureHelpArgumentCountIs(expected: number): void; - signatureHelpCurrentArgumentListIsVariadic(expected: boolean); - currentSignatureParameterCountIs(expected: number): void; - currentSignatureTypeParameterCountIs(expected: number): void; - currentSignatureHelpIs(expected: string): void; + noSignatureHelp(...markers: string[]): void; + signatureHelp(...options: VerifySignatureHelpOptions[]): void; // Checks that there are no compile errors. noErrors(): void; numberOfErrorsInCurrentFile(expected: number): void; @@ -555,6 +545,27 @@ declare namespace FourSlashInterface { readonly sourceDisplay?: string, }; + interface VerifySignatureHelpOptions { + marker?: ArrayOrSingle; + /** @default 1 */ + overloadsCount?: number; + docComment?: string; + text?: string; + name?: string; + parameterName?: string; + parameterSpan?: string; + parameterDocComment?: string; + parameterCount?: number; + argumentCount?: number; + isVariadic?: boolean; + tags?: ReadonlyArray; + } + + interface JSDocTagInfo { + name: string; + text: string | undefined; + } + type ArrayOrSingle = T | ReadonlyArray; } declare function verifyOperationIsCancelled(f: any): void; diff --git a/tests/cases/fourslash/functionOverloadCount.ts b/tests/cases/fourslash/functionOverloadCount.ts index 71dad1d9d72..1f104436922 100644 --- a/tests/cases/fourslash/functionOverloadCount.ts +++ b/tests/cases/fourslash/functionOverloadCount.ts @@ -11,5 +11,4 @@ ////var i = new C1; ////i.attr(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(3); \ No newline at end of file +verify.signatureHelp({ marker: "1", overloadsCount: 3 }); diff --git a/tests/cases/fourslash/functionProperty.ts b/tests/cases/fourslash/functionProperty.ts index ee4f972e760..9ba3bce3543 100644 --- a/tests/cases/fourslash/functionProperty.ts +++ b/tests/cases/fourslash/functionProperty.ts @@ -21,14 +21,7 @@ ////b./*quickInfoB*/x; ////c./*quickInfoC*/x; -goTo.marker('signatureA'); -verify.currentSignatureHelpIs('x(a: number): void'); - -goTo.marker('signatureB'); -verify.currentSignatureHelpIs('x(a: number): void'); - -goTo.marker('signatureC'); -verify.currentSignatureHelpIs('x(a: number): void'); +verify.signatureHelp({ marker: ["signatureA", "signatureB", "signatureC"], text: "x(a: number): void" }); goTo.marker('completionA'); verify.completionListContains("x", "(method) x(a: number): void"); diff --git a/tests/cases/fourslash/genericFunctionReturnType.ts b/tests/cases/fourslash/genericFunctionReturnType.ts index b77f7746dba..9cb41a30ffb 100644 --- a/tests/cases/fourslash/genericFunctionReturnType.ts +++ b/tests/cases/fourslash/genericFunctionReturnType.ts @@ -8,12 +8,11 @@ ////var /*2*/r = foo(/*1*/1, ""); ////var /*4*/r2 = r(/*3*/""); -// goTo.marker('1'); -// verify.currentSignatureHelpIs('foo(x: number, y: string): (a: string) => number'); +// TODO: GH##23631 +// verify.signatureHelp({ marker: "1", text: "foo(x: number, y: string): (a: string) => number" }); verify.quickInfoAt("2", "var r: (a: string) => number"); -goTo.marker('3'); -verify.currentSignatureHelpIs('r(a: string): number'); +verify.signatureHelp({ marker: "3", text: "r(a: string): number" }); verify.quickInfoAt("4", "var r2: number"); diff --git a/tests/cases/fourslash/genericFunctionReturnType2.ts b/tests/cases/fourslash/genericFunctionReturnType2.ts index 194e53cfa47..fbaaaa8e573 100644 --- a/tests/cases/fourslash/genericFunctionReturnType2.ts +++ b/tests/cases/fourslash/genericFunctionReturnType2.ts @@ -11,12 +11,10 @@ ////var /*2*/r = x.foo(/*1*/3); ////var /*4*/r2 = r(/*3*/4); -goTo.marker('1'); -verify.currentSignatureHelpIs('foo(x: number): (a: number) => number'); +verify.signatureHelp({ marker: "1", text: "foo(x: number): (a: number) => number" }); verify.quickInfoAt("2", "var r: (a: number) => number"); -goTo.marker('3'); -verify.currentSignatureHelpIs('r(a: number): number'); +verify.signatureHelp({ marker: "3", text: "r(a: number): number" }); verify.quickInfoAt("4", "var r2: number"); diff --git a/tests/cases/fourslash/genericFunctionSignatureHelp1.ts b/tests/cases/fourslash/genericFunctionSignatureHelp1.ts index 202f56adc0a..7409fa249dd 100644 --- a/tests/cases/fourslash/genericFunctionSignatureHelp1.ts +++ b/tests/cases/fourslash/genericFunctionSignatureHelp1.ts @@ -3,5 +3,4 @@ ////function f(a: T): T { return null; } ////f(/**/ -goTo.marker(); -verify.currentSignatureHelpIs('f(a: {}): {}'); +verify.signatureHelp({ marker: "", text: "f(a: {}): {}" }); diff --git a/tests/cases/fourslash/genericFunctionSignatureHelp2.ts b/tests/cases/fourslash/genericFunctionSignatureHelp2.ts index 1486983a2e9..a1999b10128 100644 --- a/tests/cases/fourslash/genericFunctionSignatureHelp2.ts +++ b/tests/cases/fourslash/genericFunctionSignatureHelp2.ts @@ -3,5 +3,4 @@ ////var f = (a: T) => a; ////f(/**/ -goTo.marker(); -verify.currentSignatureHelpIs('f(a: {}): {}'); +verify.signatureHelp({ marker: "", text: "f(a: {}): {}" }); diff --git a/tests/cases/fourslash/genericFunctionSignatureHelp3.ts b/tests/cases/fourslash/genericFunctionSignatureHelp3.ts index 5d4275d6ef9..dafa4f42a5d 100644 --- a/tests/cases/fourslash/genericFunctionSignatureHelp3.ts +++ b/tests/cases/fourslash/genericFunctionSignatureHelp3.ts @@ -16,24 +16,19 @@ ////foo6(1, (/*7*/ // signature help shows y as T -goTo.marker('1'); -verify.currentSignatureHelpIs('foo1(x: number, callback: (y1: T) => number): void'); - -// goTo.marker('2'); -// verify.currentSignatureHelpIs('foo2(x: number, callback: (y2: {}) => number): void'); - -goTo.marker('3'); -verify.currentSignatureHelpIs('foo3(x: number, callback: (y3: T) => number): void'); - -// goTo.marker('4'); -// verify.currentSignatureHelpIs('foo4(x: number, callback: (y4: string) => number): void'); - -goTo.marker('5'); -verify.currentSignatureHelpIs('foo5(x: number, callback: (y5: string) => number): void'); +verify.signatureHelp( + { marker: "1", text: "foo1(x: number, callback: (y1: T) => number): void" }, + // TODO: GH#23631 + // { marker: "2", text: "foo2(x: number, callback: (y2: {}) => number): void" }, + { marker: "3", text: "foo3(x: number, callback: (y3: T) => number): void" }, + // TODO: GH#23631 + // { marker: "4", text: "foo4(x: number, callback: (y4: string) => number): void" }, + { marker: "5", text: "foo5(x: number, callback: (y5: string) => number): void" }, +); goTo.marker('6'); -// verify.currentSignatureHelpIs('foo6(x: number, callback: (y6: {}) => number): void'); +// TODO: GH#23631 +// verify.signatureHelp({ text: "foo6(x: number, callback: (y6: {}) => number): void" }); edit.insert('string>(null,null);'); // need to make this line parse so we can get reasonable LS answers to later tests -goTo.marker('7'); -verify.currentSignatureHelpIs('foo7(x: number, callback: (y7: T) => number): void'); +verify.signatureHelp({ marker: "7", text: "foo7(x: number, callback: (y7: T) => number): void" }); diff --git a/tests/cases/fourslash/genericFunctionSignatureHelp3MultiFile.ts b/tests/cases/fourslash/genericFunctionSignatureHelp3MultiFile.ts index b82d5e10664..4cffb1a4f41 100644 --- a/tests/cases/fourslash/genericFunctionSignatureHelp3MultiFile.ts +++ b/tests/cases/fourslash/genericFunctionSignatureHelp3MultiFile.ts @@ -23,24 +23,16 @@ ////foo6(1, (/*7*/ // signature help shows y as T -goTo.marker('1'); -verify.currentSignatureHelpIs('foo1(x: number, callback: (y1: T) => number): void'); - -// goTo.marker('2'); -// verify.currentSignatureHelpIs('foo2(x: number, callback: (y2: {}) => number): void'); - -goTo.marker('3'); -verify.currentSignatureHelpIs('foo3(x: number, callback: (y3: T) => number): void'); - -// goTo.marker('4'); -// verify.currentSignatureHelpIs('foo4(x: number, callback: (y4: string) => number): void'); - -goTo.marker('5'); -verify.currentSignatureHelpIs('foo5(x: number, callback: (y5: string) => number): void'); +verify.signatureHelp( + { marker: "1", text: "foo1(x: number, callback: (y1: T) => number): void" }, + { marker: "2", text: "foo2(x: number, callback: (y2: T) => number): void" }, + { marker: "3", text: "foo3(x: number, callback: (y3: T) => number): void" }, + { marker: "4", text: "foo4(x: number, callback: (y4: string) => number): void" }, + { marker: "5", text: "foo5(x: number, callback: (y5: string) => number): void" }, +); goTo.marker('6'); -// verify.currentSignatureHelpIs('foo6(x: number, callback: (y6: {}) => number): void'); +verify.signatureHelp({ text: "foo6(x: number, callback: (y6: {}) => number): void" }); edit.insert('string>(null,null);'); // need to make this line parse so we can get reasonable LS answers to later tests -goTo.marker('7'); -verify.currentSignatureHelpIs('foo7(x: number, callback: (y7: T) => number): void'); +verify.signatureHelp({ marker: "7", text: "foo7(x: number, callback: (y7: T) => number): void" }) diff --git a/tests/cases/fourslash/genericParameterHelp.ts b/tests/cases/fourslash/genericParameterHelp.ts index 6a0b8a19bfd..320c159203c 100644 --- a/tests/cases/fourslash/genericParameterHelp.ts +++ b/tests/cases/fourslash/genericParameterHelp.ts @@ -13,25 +13,19 @@ ////testFunction(null, null, null); ////testFunction<, ,/*5*/>(null, null, null); -// goTo.marker("1"); -// verify.currentSignatureParameterCountIs(3); -// verify.currentSignatureHelpIs("testFunction(a: T, b: U, c: M): M"); - -// verify.currentParameterHelpArgumentNameIs("T"); -// verify.currentParameterSpanIs("T extends IFoo"); - -// goTo.marker("2"); -// verify.currentParameterHelpArgumentNameIs("U"); -// verify.currentParameterSpanIs("U"); - -goTo.marker("3"); -verify.currentParameterHelpArgumentNameIs("a"); -verify.currentParameterSpanIs("a: any"); - -goTo.marker("4"); -verify.currentParameterHelpArgumentNameIs("M"); -verify.currentParameterSpanIs("M extends IFoo"); - -goTo.marker("5"); -verify.currentParameterHelpArgumentNameIs("M"); -verify.currentParameterSpanIs("M extends IFoo"); \ No newline at end of file +verify.signatureHelp( + // TODO: GH#23631 + /* + { + marker: "1", + text: "testFunction(a: T, b: U, c: M): M", + parameterCount: 3, + parameterName: "T", + parameterSpan: "T extends IFoo", + }, + { marker: "2", parameterName: "U", parameterSpan: "U" }, + */ + { marker: "3", parameterName: "a", parameterSpan: "a: any" }, + { marker: "4", parameterName: "M", parameterSpan: "M extends IFoo" }, + { marker: "5", parameterName: "M", parameterSpan: "M extends IFoo" }, +); diff --git a/tests/cases/fourslash/genericParameterHelpConstructorCalls.ts b/tests/cases/fourslash/genericParameterHelpConstructorCalls.ts index 4cbe141fcce..73ae1b91755 100644 --- a/tests/cases/fourslash/genericParameterHelpConstructorCalls.ts +++ b/tests/cases/fourslash/genericParameterHelpConstructorCalls.ts @@ -7,29 +7,28 @@ ////} //// ////// Constructor calls -////new testClass(null, null, null) -////new testClass<,,/*construcor4*/>(null, null, null) -////new testClass(null, null, null) +////new testClass(null, null, null) +////new testClass<,,/*constructor4*/>(null, null, null) +////new testClass(null, null, null) - // goTo.marker("construcor1"); - // verify.currentSignatureHelpIs("testClass(a: T, b: U, c: M): testClass"); - // verify.currentParameterHelpArgumentNameIs("T"); - // verify.currentParameterSpanIs("T extends IFoo"); - - // goTo.marker("construcor2"); - // verify.currentParameterHelpArgumentNameIs("U"); - // verify.currentParameterSpanIs("U"); - -goTo.marker("construcor3"); -verify.currentParameterHelpArgumentNameIs("T"); -verify.currentParameterSpanIs("T extends IFoo"); - -goTo.marker("construcor4"); -verify.currentParameterHelpArgumentNameIs("M"); -verify.currentParameterSpanIs("M extends IFoo"); - -goTo.marker("construcor5"); -verify.currentParameterHelpArgumentNameIs("U"); -verify.currentParameterSpanIs("U"); +verify.signatureHelp( + // TODO: GH#23631 + /* + { + marker: "constructor1", + text: "testClass(a: T, b: U, c: M): testClass", + parameterName: "T", + parameterSpan: "T extends IFoo", + }, + { + marker: "constructor2", + parameterName: "U", + parameterSpan: "U", + }, + */ + { marker: "constructor3", parameterName: "T", parameterSpan: "T extends IFoo" }, + { marker: "constructor4", parameterName: "M", parameterSpan: "M extends IFoo" }, + { marker: "constructor5", parameterName: "U", parameterSpan: "U" }, +); diff --git a/tests/cases/fourslash/genericParameterHelpTypeReferences.ts b/tests/cases/fourslash/genericParameterHelpTypeReferences.ts index 346cf7191c1..33d3d85d565 100644 --- a/tests/cases/fourslash/genericParameterHelpTypeReferences.ts +++ b/tests/cases/fourslash/genericParameterHelpTypeReferences.ts @@ -12,23 +12,20 @@ ////class Bar extends testClass; - // goTo.marker("type1"); - // verify.signatureHelpCountIs(1); - // verify.currentSignatureHelpIs("testClass"); - // verify.currentParameterHelpArgumentNameIs("T"); - // verify.currentParameterSpanIs("T extends IFoo"); +// TODO: GH#23631 - // goTo.marker("type2"); - // verify.signatureHelpCountIs(1); - // verify.currentParameterHelpArgumentNameIs("T"); - // verify.currentParameterSpanIs("T extends IFoo"); - - // goTo.marker("type3"); - // verify.signatureHelpCountIs(1); - // verify.currentParameterHelpArgumentNameIs("T"); - // verify.currentParameterSpanIs("T extends IFoo"); - - // goTo.marker("type4"); - // verify.signatureHelpCountIs(1); - // verify.currentParameterHelpArgumentNameIs("M"); - // verify.currentParameterSpanIs("M extends IFoo"); \ No newline at end of file +if (false) { + verify.signatureHelp( + { + marker: ["type1", "type2", "type3"], + text: "testClass", + parameterName: "T", + parameterSpan: "T extends IFoo", + }, + { + marker: "type4", + parameterName: "M", + parameterSpan: "M extends IFoo", + } + ); +} diff --git a/tests/cases/fourslash/getJavaScriptCompletions16.ts b/tests/cases/fourslash/getJavaScriptCompletions16.ts index 4d4b76d98d6..86adead3e1a 100644 --- a/tests/cases/fourslash/getJavaScriptCompletions16.ts +++ b/tests/cases/fourslash/getJavaScriptCompletions16.ts @@ -3,16 +3,16 @@ // @allowNonTsExtensions: true // @Filename: file.js //// "use strict"; -//// +//// //// class Something { -//// +//// //// /** //// * @param {number} a //// */ //// constructor(a, b) { //// a/*body*/ //// } -//// +//// //// /** //// * @param {number} a //// */ @@ -27,8 +27,11 @@ edit.insert('.'); verify.completionListContains('toFixed', undefined, undefined, 'method'); edit.backspace(); -goTo.marker('sig'); -verify.currentSignatureHelpIs('Something(a: number, b: any): Something'); +verify.signatureHelp({ + marker: "sig", + text: "Something(a: number, b: any): Something", + tags: [{ name: "param", text: "a" }], +}); goTo.marker('method'); edit.insert('.'); diff --git a/tests/cases/fourslash/importJsNodeModule3.ts b/tests/cases/fourslash/importJsNodeModule3.ts index b790d351a1f..46ff4d009be 100644 --- a/tests/cases/fourslash/importJsNodeModule3.ts +++ b/tests/cases/fourslash/importJsNodeModule3.ts @@ -35,4 +35,11 @@ edit.insert('y.'); verify.completionListContains("toUpperCase", /*displayText:*/ undefined, /*documentation*/ undefined, "method"); edit.backspace(2); edit.insert('z('); -verify.currentSignatureHelpIs("z(a: number | boolean, b: string[]): string"); +verify.signatureHelp({ + text: "z(a: number | boolean, b: string[]): string", + parameterDocComment: "The first param", + tags: [ + { name: "param", text: "a The first param" }, + { name: "param", text: "b The second param" }, + ], +}); diff --git a/tests/cases/fourslash/incrementalEditInvocationExpressionAboveInterfaceDeclaration.ts b/tests/cases/fourslash/incrementalEditInvocationExpressionAboveInterfaceDeclaration.ts index 78152983dfd..c8a73727e35 100644 --- a/tests/cases/fourslash/incrementalEditInvocationExpressionAboveInterfaceDeclaration.ts +++ b/tests/cases/fourslash/incrementalEditInvocationExpressionAboveInterfaceDeclaration.ts @@ -9,7 +9,7 @@ // Do resolve without typeCheck goTo.marker('1'); edit.insert("alert("); -verify.currentSignatureHelpIs("alert(message?: any): void"); +verify.signatureHelp({ text: "alert(message?: any): void" }); // TypeCheck verify.errorExistsAfterMarker('1'); \ No newline at end of file diff --git a/tests/cases/fourslash/javascriptModules24.ts b/tests/cases/fourslash/javascriptModules24.ts index 5a0dd892db7..c868d0c9748 100644 --- a/tests/cases/fourslash/javascriptModules24.ts +++ b/tests/cases/fourslash/javascriptModules24.ts @@ -17,5 +17,4 @@ goTo.marker('1'); /**** BUG: Should be an error to invoke a call signature on a namespace import ****/ //verify.errorExistsBeforeMarker('1'); verify.quickInfoIs("(alias) foo(): number\nimport foo"); -goTo.marker('2'); -verify.signatureHelpArgumentCountIs(1); +verify.signatureHelp({ marker: "2", argumentCount: 1 }); diff --git a/tests/cases/fourslash/jsDocFunctionSignatures2.ts b/tests/cases/fourslash/jsDocFunctionSignatures2.ts index e6430cba5bd..28017d39f24 100644 --- a/tests/cases/fourslash/jsDocFunctionSignatures2.ts +++ b/tests/cases/fourslash/jsDocFunctionSignatures2.ts @@ -5,8 +5,7 @@ //// /** @type {function(string, boolean=): number} */ //// var f6; -//// +//// //// f6('', /**/false) -goTo.marker(); -verify.currentSignatureHelpIs('f6(arg0: string, arg1?: boolean): number') +verify.signatureHelp({ marker: "", text: "f6(arg0: string, arg1?: boolean): number" }); diff --git a/tests/cases/fourslash/jsDocFunctionSignatures5.ts b/tests/cases/fourslash/jsDocFunctionSignatures5.ts index 08d0da990bc..ba7f5cf6bf9 100644 --- a/tests/cases/fourslash/jsDocFunctionSignatures5.ts +++ b/tests/cases/fourslash/jsDocFunctionSignatures5.ts @@ -14,5 +14,16 @@ //////... ////} ////pathFilter(/**/'foo', 'bar', 'baz', {}); -goTo.marker(); -verify.currentSignatureHelpDocCommentIs("Filters a path based on a regexp or glob pattern."); + +verify.signatureHelp({ + marker: "", + docComment: "Filters a path based on a regexp or glob pattern.", + parameterDocComment: "The base path where the search will be performed.", + tags: [ + { name: "param", text: "basePath The base path where the search will be performed." }, + { name: "param", text: "pattern A string defining a regexp of a glob pattern." }, + { name: "param", text: "type The search pattern type, can be a regexp or a glob." }, + { name: "param", text: "options A object containing options to the search." }, + { name: "return", text: "A list containing the filtered paths." }, + ], +}); diff --git a/tests/cases/fourslash/jsDocFunctionSignatures6.ts b/tests/cases/fourslash/jsDocFunctionSignatures6.ts index 10b290d6d02..bd396a4e68e 100644 --- a/tests/cases/fourslash/jsDocFunctionSignatures6.ts +++ b/tests/cases/fourslash/jsDocFunctionSignatures6.ts @@ -3,17 +3,22 @@ // @Filename: Foo.js /////** //// * @param {string} p1 - A string param -//// * @param {string?} p2 - An optional param +//// * @param {string?} p2 - An optional param //// * @param {string} [p3] - Another optional param //// * @param {string} [p4="test"] - An optional param with a default value //// */ ////function f1(p1, p2, p3, p4){} ////f1(/*1*/'foo', /*2*/'bar', /*3*/'baz', /*4*/'qux'); -goTo.marker('1'); -verify.currentParameterHelpArgumentDocCommentIs("- A string param"); -goTo.marker('2'); -verify.currentParameterHelpArgumentDocCommentIs("- An optional param "); -goTo.marker('3'); -verify.currentParameterHelpArgumentDocCommentIs("- Another optional param"); -goTo.marker('4'); -verify.currentParameterHelpArgumentDocCommentIs("- An optional param with a default value"); + +const tags: ReadonlyArray = [ + { name: "param", text: "p1 - A string param" }, + { name: "param", text: "p2 - An optional param" }, + { name: "param", text: "p3 - Another optional param" }, + { name: "param", text: "p4 - An optional param with a default value" }, +]; +verify.signatureHelp( + { marker: "1", parameterDocComment: "- A string param", tags }, + { marker: "2", parameterDocComment: "- An optional param", tags }, + { marker: "3", parameterDocComment: "- Another optional param", tags }, + { marker: "4", parameterDocComment: "- An optional param with a default value", tags }, +); diff --git a/tests/cases/fourslash/jsDocTags.ts b/tests/cases/fourslash/jsDocTags.ts index 14ac14e6331..7cb5ae7198e 100644 --- a/tests/cases/fourslash/jsDocTags.ts +++ b/tests/cases/fourslash/jsDocTags.ts @@ -61,15 +61,20 @@ verify.baselineQuickInfo(); - -goTo.marker("10"); -verify.currentSignatureHelpTagsAre([{name: "myjsdoctag", text:"this is a comment"}]) -goTo.marker("11"); -verify.currentSignatureHelpTagsAre([{name: "mytag", text:"comment1 comment2"}]) -goTo.marker("12"); -verify.currentSignatureHelpTagsAre([{name: "mytag"}]) -goTo.marker("13"); -verify.currentSignatureHelpTagsAre([{ name: "returns", text: "a value" }]) +verify.signatureHelp( + { + marker: "10", + docComment: "This is the constructor.", + tags: [{ name: "myjsdoctag", text:"this is a comment" }], + }, + { + marker: "11", + docComment: "method1 documentation", + tags: [{ name: "mytag", text: "comment1 comment2" }], + }, + { marker: "12", tags: [{ name: "mytag", text: undefined }] }, + { marker: "13", tags: [{ name: "returns", text: "a value" }] }, +); goTo.marker('14'); verify.completionEntryDetailIs( diff --git a/tests/cases/fourslash/jsQuickInfoGenerallyAcceptableSize.ts b/tests/cases/fourslash/jsQuickInfoGenerallyAcceptableSize.ts new file mode 100644 index 00000000000..a6fa8059481 --- /dev/null +++ b/tests/cases/fourslash/jsQuickInfoGenerallyAcceptableSize.ts @@ -0,0 +1,212 @@ +/// + +// @allowJs: true +// @checkJs: true +// @Filename: index.js +////// Data table +/////** +//// @typedef DataTableThing +//// @type {Thing} +//// @property {function(TagCollection, Location, string, string, Infotable):void} AddDataTableEntries - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) Add multiple data table entries. +//// @property {function(TagCollection, Location, string, string, Infotable):string} AddDataTableEntry - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) Add a new data table entry. +//// @property {function(TagCollection, Location, string, string, Infotable):void} AddOrUpdateDataTableEntries - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) Add or update multiple data table entries. +//// @property {function(TagCollection, Location, string, string, Infotable):string} AddOrUpdateDataTableEntry - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) Add a new data table entry, or if it exists, update an existing entry. +//// @property {function(TagCollection, Location, string, string, Infotable):void} AssignDataTableEntries - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) Replaces existing data table entries. +//// @property {function():Infotable} CreateValues - Create an empty info table of the correct datashape for this data table. +//// @property {function(*):Infotable} CreateValuesWithData - (arg0: values as JSONObject) Create an info table of the correct datashape for this stream and include data values. +//// @property {function(Infotable):void} DeleteDataTableEntries - (arg0: values as Infotable) Delete all table entries that match the provided values. +//// @property {function(TagCollection, Location, string, string, Infotable, *):void} DeleteDataTableEntriesWithQuery - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values, arg5: query as JSONObject) Delete multiple data table entries based on a query. +//// @property {function(Infotable):void} DeleteDataTableEntry - (arg0: values as Infotable) Delete an existing data table entry +//// @property {function(string):void} DeleteDataTableEntryByKey - (arg0: key) Delete an existing data table entry using its key value. +//// @property {function(Infotable):Infotable} FindDataTableEntries - (arg0: values as Infotable) Retrieve all table entries that match the provided values. +//// @property {function():DataShapeDefinition} getDataShape +//// @property {function():string} GetDataShape - Get the currently assigned data shape. +//// @property {function():string} getDataShapeName +//// @property {function(number):Infotable} GetDataTableEntries - (arg0: maxItems) Retrieve all table entries up to max items number. +//// @property {function(Infotable):Infotable} GetDataTableEntry - (arg0: values as Infotable) Get an existing data table entry. +//// @property {function(string):Infotable} GetDataTableEntryByKey - (arg0: key) Get an existing data table entry using its key value. +//// @property {function():number} GetDataTableEntryCount - Get an count of data table entries. +//// @property {function():ThingworxRelationshipTypes} getDataType +//// @property {function():EntityReferenceTypeMap} getDependencies +//// @property {function():IDataEntryCloseableIterator} getEntryIterator - Returns an iterator over all entries inside this data table thing. +//// @property {function():Infotable} GetFieldNames - Retrieve a list of field names for the data shape associated with this stream. +//// @property {function(string):Infotable} GetFieldNamesByType - (arg0: key) Retrieve a list of field names for the data shape associated with this stream, of a specific type. +//// @property {function():string} getItemCollectionName +//// @property {function():string} getItemEntityName +//// @property {function():ThingworxRelationshipTypes} getItemEntityType +//// @property {function():void} initializeEntity +//// @property {function():void} initializeThing +//// @property {function():boolean} isStoredAsEncrypted +//// @property {function():void} PurgeDataTableEntries - Remove all data table entries. +//// @property {function(Infotable, number, TagCollection, string, *):Infotable} QueryDataTableEntries - (arg0: values, arg1: maxItems, arg2: tags, arg3: source, arg4: query as JSONObject) Retrieve all table entries that match the query parameters. +//// @property {function():void} Reindex - Reindex the custom indexes on the data table. +//// @property {function(number, string, TagCollection, *, string):Infotable} SearchDataTableEntries - (arg0: maxItems, arg1: searchExpression, arg2: tags, arg3: query as JSONObject, arg4: source) Retrieve all table entries that match the search query parameters. +//// @property {function(string):void} SetDataShape - (arg0: name) Sets the data shape. +//// @property {function(TagCollection, Location, string, string, Infotable):void} UpdateDataTableEntries - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) Update multiple data table entries. +//// @property {function(TagCollection, Location, string, string, Infotable, *, Infotable):void} UpdateDataTableEntriesWithQuery - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values, arg5: query as JSONObject, arg6: updatValues) Add or update multiple data table entries based on a query. +//// @property {function(TagCollection, Location, string, string, Infotable):void} UpdateDataTableEntry - (arg0: tags, arg1: location, arg2: source, arg3: sourceType, arg4: values) update an existing data table entry. +//// @property {function(ImportedEntityCollection):void} validateConfiguration - (arg0: importedEntityCollections) +////*/ +//// +/////** +//// @typedef Infotable +//// @type {object} +//// @property {boolean} isCompressed +//// @property {DataShape} dataShape +//// @property {function(FieldDefinition):int} addField - Adds a field to the DataShapeDefinition of this InfoTable, given a FieldDefinition +//// @property {function(*):void} AddField - *FROM SNIPPET* adds a new field definition to the datashape (arg0 is an object that should match with datashape) +//// @property {function(object):void} AddRow - *FROM SNIPPET* adds a row to the infotable (arg0 is an object that should match with datashape) +//// @property {function(ValueCollection):int} addRow - Adds a row to this InfoTable's ValueCollectionList given a ValueCollection +//// @property {ValueCollectionList} rows - returns the ValueCollectionList of the rows in this InfoTable +//// @property {function(Infotable, boolean):int} addRowsFrom - Adds the rows from an InfoTable to this InfoTable given: the InfoTable to be copied from and a Boolean indicating whether the copied values should be references or cloned values. (arg 0: infotable, arg1: clone) +//// @property {function():Infotable} clone +//// @property {function():Infotable} cloneStructure +//// @property {function():ValueCollection} currentRow - Returns the current row in this InfoTable as a ValueCollection +//// @property {function(object):void} Delete - *FROM SNIPPET* delete rows by value filter (arg0 is an object that should match with datashape) +//// @property {function(IFilter):int} delete +//// @property {function(ValueCollection):int} delete - Creates an AndFilterCollection based on the given ValueCollection and deletes all rows falling within the parameters of that filter +//// @property {function(IFilter):Infotable} deleteRowsToNewTable +//// @property {function(object):void} Filter - *FROM SNIPPET* filters the infotable (arg0 is an object that should match with datashape) +//// @property {function(ValueCollection):void} filter - Creates an AndFilterCollection based on the given ValueCollection and applies it to this InfoTable +//// @property {function(IFilter):void} filterRows +//// @property {function(IFilter):Infotable} filterRowsToNewTable +//// @property {function(*):Infotable} FilterToNewTable - Finds rows in this InfoTable with values that match the values given as a JSONObject and returns them as a new InfoTable +//// @property {function(object):void} Find - *FROM SNIPPET* retrieve rows by value filter (arg0 is an object that should match with datashape) +//// @property {function(IFilter):ValueCollection} find - Finds and returns a row from this InfoTable that falls within the parameters of the given IFilter +//// @property {function(ValueCollection):ValueCollection} find - Finds and returns a row from this InfoTable that matches the values of all fields given as a (ValueCollection) +//// @property {function(ValueCollection, string[]):ValueCollection} find - Finds and returns a row in this InfoTable given the fields to search as a String Array and the values to match as a ( ValueCollection) +//// @property {function(ValueCollection):int} findIndex - Finds and returns the index of a row from this InfoTable that matches the values of all fields given as a ( ValueCollection) +//// @property {function(*):Infotable} fromJSON +//// @property {function():DataShapeDefinition} getDataShape - Returns the DataShapeDefinition for this InfoTable +//// @property {function(string):FieldDefinition} getField - Returns a FieldDefinition from this InfoTable's DataShapeDefinition, given the name of the field as a String +//// @property {function():int} getFieldCount - Returns the number of fields in this InfoTable's DataShape as an int +//// @property {function():ValueCollection} getFirstRow - Returns the first row (ValueCollection) of this InfoTable +//// @property {function():InfoTableRowIndex} getIndex - +//// @property {function():ValueCollection} getLastRow - Returns the last row in this InfoTable as a ValueCollection +//// @property {function():number} getLength - Returns the number of rows in this InfoTable as an Integer +//// @property {function():DataShapeDefinition} getPublicDataShape - Returns a DataShapeDefinition for this InfoTable containing only the public fields +//// @property {function():*} getReturnValue - Returns the first value of the first field in the first row of this InfoTable +//// @property {function(number):ValueCollection} getRow - *FROM SNIPPET* retrieves a row by index +//// @property {function():number} getRowCount - *FROM SNIPPET* gets the count of rows +//// @property {function():ValueCollectionList} getRows - Returns a ValueCollectionList of the rows in this InfoTable +//// @property {function(string):IPrimitiveType} getRowValue - Returns a value as an IPrimitiveType from the first row of this InfoTable, given a field name as a String +//// @property {function(string):boolean} hasField - Verifies a field exists in this InfoTable's DataShape given the field name as a String +//// @property {function(string[],boolean):void} indexOn +//// @property {function(string, boolean):void} indexOn +//// @property {function():boolean} isEmpty - Returns a boolean indicating whether this InfoTable has a size of zero +//// @property {function(BaseTypes):boolean} isType +//// @property {function():void} moveToFirst - Moves to the first row of this InfoTable. +//// @property {function():ValueCollection} nextRow - Returns the row after the current row in this InfoTable as a ValueCollection +//// @property {function(string):void} quickSort - (arg0: fieldName) +//// @property {function(string, boolean):void} quickSort - (arg0: fieldName, arg1: isAscending) +//// @property {function():void} RemoveAllRows - *FROM SNIPPET* remove all rows from infotable +//// @property {function():void} removeAllRows - remove all rows from infotable +//// @property {function(string):void} RemoveField - *FROM SNIPPET* remove a datashape field by name +//// @property {function(number):void} RemoveRow - *FROM SNIPPET* removes a row by index +//// @property {function(number):void} removeRow - Removes a ValueCollection from the InfoTable given the row as an int +//// @property {function(DataShapeDefinition):void} setDataShape - Sets DataShapeDefinition for this InfoTable +//// @property {function():void} setRow - Sets a single row in this InfoTable given a ValueCollection as a row and the index of the row to be replaced +//// @property {function(ValueCollectionList):void} setRows - Sets the rows in this InfoTable given a ValueCollectionList +//// @property {function(Sort):void} Sort - *FROM SNIPPET* sorts the table +//// @property {function(ISort):void} sortRows +//// @property {function():Infotable} sortRowsToNewTable +//// @property {function():*} toJSON +//// @property {function():JsonInfotable} ToJSON - *FROM SNIPPET* returns the table as JsonInfotable +//// @property {function(number):void} topN - (arg0: maxItems) +//// @property {function(number):Infotable} topNToNewTable - (arg0: maxItems) +//// @property {function(IFIlter, ValueCollection):Infotable} updateRowsToNewTable - (arg0: filters, arg1: values) +////*/ +//// +/////** +//// @typedef DataShapeDefinition +//// @type {object} +//// @property {function(FieldDefinition):void} addFieldDefinition - Adds a new field definition to this data shape definition. +//// @property {function():DataShapeDefinition} clone - Creates a deep clone of this data shape definition +//// @property {function():FieldDefinition} getFieldDefinition - Returns the field definition with the specified name. +//// @property {function():FieldDefinitionCollection} getFields - Returns the collection of field definitions belonging to this data shape definition. +//// @property {function():boolean} hasField - Tests if the field named exists in this definition. +//// @property {function():boolean} hasPrimaryKey - Tests if this definition contains any fields that are designated as primary keys. +//// @property {function():boolean} matches - Determines if this data shape definition has the same fields with the same base types as the provided data shape definition. +//// @property {function():void} setFields - Replaces the fields belonging to this data shape definition with the fields provided in the specified collection. +//// @property {function():*} toJSON - Serializes this data shape definition into JSON format. +////*/ +//// +/////** +//// @typedef FieldDefinition +//// @type {object} +//// @property {function(AspectCollection):boolean} aspectsMatch - Determines whether or not the aspects assigned to this field are equivalent to the aspects in the provided collection. +//// @property {function():FieldDefinition} clone - Creates a deep clone of this field definition. +//// @property {function():AspectCollection} getAspects - Returns the collection of aspects belonging to this field. +//// @property {function():BaseTypes} getBaseType - Returns the base type assigned to this field. +//// @property {function():string} getDataShapeName - Returns the data shape name assigned to the ASPECT_DATASHAPE aspect, if the base type for this field is set to INFOTABLE. +//// @property {function():IPrimitiveType} getDefaultValue - Returns the default value assigned to this field, if one has been defined according to the ASPECT_DEFAULTVALUE aspect. +//// @property {function():number} getOrdinal - Returns the ordinal value assigned to this field. +//// @property {function():boolean} hasDataShape - Determines if, when the base type of this field is an INFOTABLE, a data shape has been assigned. +//// @property {function():boolean} hasDefaultValue - Determines if this field has a default value according to the ASPECT_DEFAULTVALUE aspect. +//// @property {function():boolean} isDataTableEntry - Determines if, when the base type of this field is an INFOTABLE, the contents of the info table will be derived from a data table entry. +//// @property {function():boolean} isPrimaryKey - Determines if this field has the ASPECT_ISPRIMARYKEY aspect set to true. +//// @property {function():boolean} isPrivate - Determines if this field has the ASPECT_ISPRIVATE aspect set to true. +//// @property {function():boolean} isRequired - Determines if this field has the ASPECT_ISREQUIRED aspect set to true. +//// @property {function():boolean} isStreamEntry - Determines if, when the base type of this field is an INFOTABLE, the contents of the info table will be derived from a stream entry. +//// @property {function(AspectCollection):void} setAspects - Replaces all aspects on this field with the aspects in the specified collection. +//// @property {function(BaseTypes):void} setBaseType - Assigns the specified base type to this field. +//// @property {function(number):void} setOrdinal - Sets the ordinal value for this field. +////*/ +//// +/////** +//// @typedef ValueCollectionList +//// @type {ArrayList} +//// @property {function():Infotable} convertToTypedInfoTable +//// @property {function():ValueCollection} currentRow +//// @property {function(ValueCollection):ValueCollection} find - arg0: values +//// @property {function(ValueCollection, string[]):ValueCollection} find - arg0: values, arg1: columns +//// @property {function(ValueCollection):number} findIndex +//// @property {function():ValueCollection} getFirstRow +//// @property {function():ValueCollection} getLastRow +//// @property {function():number} getLength +//// @property {function(number):ValueCollection} getRow - arg0: index +//// @property {function():number} getRowCount +//// @property {function(string):IPrimitiveType} getRowValue - arg0: name +//// @property {function():void} moveToFirst +//// @property {function():ValueCollection} nextRow +////*/ +//// +/////** +//// @typedef ValueCollection +//// @type {NamedObject} +//// @property {function():ValueCollection} clone +//// @property {function(*,DataShapeDefinition):ValueCollection} fromJSONTyped +//// @property {function(string):*} getJSONSerializedValue +//// @property {function(string):IPrimitiveType} getPrimitive +//// @property {function(string):string} getStringValue +//// @property {function(string):*} getValue +//// @property {function(string):boolean} has +//// @property {function(ValueCollection):boolean} matches +//// @property {function():Infotable} toInfoTable +//// @property {function():*} toJSON +//// @property {function(DataShapeDefinition):*} toJSONTyped +//// @property {function():NamedValueCollection} toNamedValueCollection +////*/ +//// +//// +/////** +//// * Do something +//// * @param {DataTableThing} dataTable +//// */ +////var doSome/*1*/thing = function (dataTable) { +////}; +//// +/////** +//// * @callback SomeCallback +//// * @param {number} foo +//// * @param {string} bar +//// */ +//// +//// /** +//// * Another thing +//// * @type {SomeCallback} +//// */ +////var another/*2*/Thing = function(a, b) {} + +verify.quickInfoAt("1", "var doSomething: (dataTable: DataTableThing) => void", "Do something"); +verify.quickInfoAt("2", "var anotherThing: any", "Another thing"); // TODO: #23947 diff --git a/tests/cases/fourslash/jsdocReturnsTag.ts b/tests/cases/fourslash/jsdocReturnsTag.ts index 9203bd9e036..e91d3509222 100644 --- a/tests/cases/fourslash/jsdocReturnsTag.ts +++ b/tests/cases/fourslash/jsdocReturnsTag.ts @@ -12,6 +12,15 @@ ////} ////find(''/**/); -goTo.marker(); -verify.currentSignatureHelpIs("find(l: T[], x: T): T") -// There currently isn't a way to display the return tag comment +verify.signatureHelp({ + marker: "", + text: "find(l: T[], x: T): T", + docComment: "Find an item", + tags: [ + // TODO: GH#24130 + { name: "template", text: "T\n " }, + { name: "param", text: "l" }, + { name: "param", text: "x" }, + { name: "returns", text: "The names of the found item(s)." }, + ], +}); diff --git a/tests/cases/fourslash/jsxGenericQuickInfo.tsx b/tests/cases/fourslash/jsxGenericQuickInfo.tsx new file mode 100644 index 00000000000..898c7c17790 --- /dev/null +++ b/tests/cases/fourslash/jsxGenericQuickInfo.tsx @@ -0,0 +1,22 @@ +/// +//@Filename: file.tsx +//// declare module JSX { +//// interface Element { } +//// interface IntrinsicElements { +//// } +//// interface ElementAttributesProperty { props } +//// } +//// interface Props { +//// items: T[]; +//// renderItem: (item: T) => string; +//// } +//// class Component { +//// constructor(props: Props) {} +//// props: Props; +//// } +//// var b = new Component({items: [0, 1, 2], render/*0*/Item: it/*1*/em => item.toFixed()}); +//// var c = item.toFixed()} +verify.quickInfoAt("0", "(property) Props.renderItem: (item: number) => string"); +verify.quickInfoAt("1", "(parameter) item: number"); +verify.quickInfoAt("2", "(JSX attribute) renderItem: (item: number) => string"); +verify.quickInfoAt("3", "(parameter) item: number"); diff --git a/tests/cases/fourslash/jsxWithTypeParametershasInstantiatedSignatureHelp.tsx b/tests/cases/fourslash/jsxWithTypeParametershasInstantiatedSignatureHelp.tsx new file mode 100644 index 00000000000..e317fe338ed --- /dev/null +++ b/tests/cases/fourslash/jsxWithTypeParametershasInstantiatedSignatureHelp.tsx @@ -0,0 +1,19 @@ +/// + +//// declare namespace JSX { +//// interface Element { +//// render(): Element | string | false; +//// } +//// } +//// +//// function SFC(_props: Record) { +//// return ''; +//// } +//// +//// (); +//// (/>); + +goTo.marker("1"); +verify.currentSignatureHelpIs("SFC(_props: Record): string"); +goTo.marker("2"); +verify.currentSignatureHelpIs("SFC(_props: Record): string"); diff --git a/tests/cases/fourslash/noSignatureHelpOnNewKeyword.ts b/tests/cases/fourslash/noSignatureHelpOnNewKeyword.ts index 8dc942f2758..4269bfae2a5 100644 --- a/tests/cases/fourslash/noSignatureHelpOnNewKeyword.ts +++ b/tests/cases/fourslash/noSignatureHelpOnNewKeyword.ts @@ -4,11 +4,5 @@ ////new/*1*/ Foo ////new /*2*/Foo(/*3*/) -goTo.marker('1'); -verify.not.signatureHelpPresent(); - -goTo.marker('2'); -verify.not.signatureHelpPresent(); - -goTo.marker('3'); -verify.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp("1", "2"); +verify.signatureHelp({ marker: "3", text: "Foo(): Foo" }); diff --git a/tests/cases/fourslash/overloadOnConstCallSignature.ts b/tests/cases/fourslash/overloadOnConstCallSignature.ts index 101d7750e04..61ae8da97cc 100644 --- a/tests/cases/fourslash/overloadOnConstCallSignature.ts +++ b/tests/cases/fourslash/overloadOnConstCallSignature.ts @@ -9,10 +9,11 @@ ////var /*2*/x = foo(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs('foo(name: "order"): string'); +verify.signatureHelp({ + marker: "1", + overloadsCount: 4, + text: 'foo(name: "order"): string', +}) edit.insert('"hi"'); -goTo.marker('2'); -verify.quickInfoIs('var x: string'); +verify.quickInfoAt("2", "var x: string"); diff --git a/tests/cases/fourslash/paramHelpOnCommaInString.ts b/tests/cases/fourslash/paramHelpOnCommaInString.ts index 00271781582..258dbfa48e3 100644 --- a/tests/cases/fourslash/paramHelpOnCommaInString.ts +++ b/tests/cases/fourslash/paramHelpOnCommaInString.ts @@ -5,7 +5,4 @@ ////blah('hola/*1*/,/*2*/') // making sure the comma in a string literal doesn't trigger param help on the second function param -goTo.marker('1'); -verify.currentParameterHelpArgumentNameIs('foo'); -goTo.marker('2'); -verify.currentParameterHelpArgumentNameIs('foo'); \ No newline at end of file +verify.signatureHelp({ marker: test.markerNames(), parameterName: "foo" }); diff --git a/tests/cases/fourslash/parameterInfoOnParameterType.ts b/tests/cases/fourslash/parameterInfoOnParameterType.ts index d28e675e24f..117f07021db 100644 --- a/tests/cases/fourslash/parameterInfoOnParameterType.ts +++ b/tests/cases/fourslash/parameterInfoOnParameterType.ts @@ -5,7 +5,4 @@ ////foo("test"/*1*/); ////foo(b/*2*/); -goTo.marker("1"); -verify.currentParameterHelpArgumentNameIs("a"); -goTo.marker("2"); -verify.currentParameterHelpArgumentNameIs("a"); \ No newline at end of file +verify.signatureHelp({ marker: test.markerNames(), parameterName: "a" }); diff --git a/tests/cases/fourslash/qualifyModuleTypeNames.ts b/tests/cases/fourslash/qualifyModuleTypeNames.ts index 50a9f6c85f0..5accec5f1c9 100644 --- a/tests/cases/fourslash/qualifyModuleTypeNames.ts +++ b/tests/cases/fourslash/qualifyModuleTypeNames.ts @@ -4,5 +4,4 @@ ////function x(arg: m.c) { return arg; } ////x(/**/ -goTo.marker(); -verify.currentSignatureHelpIs('x(arg: m.c): m.c'); +verify.signatureHelp({ marker: "", text: "x(arg: m.c): m.c" }); diff --git a/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts b/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts index 5138aa98ed2..ed16e2a7851 100644 --- a/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts +++ b/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts @@ -13,5 +13,4 @@ verify.quickInfos({ 2: "(parameter) value: T" }); -goTo.marker('3'); -verify.currentSignatureHelpIs('map(fn: (k: string, value: number, context: any) => void, context: any): void'); \ No newline at end of file +verify.signatureHelp({ marker: "3", text: "map(fn: (k: string, value: number, context: any) => void, context: any): void" }); diff --git a/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts b/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts index 93e2863d1c3..89402931edb 100644 --- a/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts +++ b/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts @@ -16,10 +16,9 @@ ////} ////var x = new /*2*/B(/*1*/ -goTo.marker("1"); -verify.currentSignatureHelpIs("B(a: Foo, b: number): B"); +verify.signatureHelp({ marker: "1", text: "B(a: Foo, b: number): B" }); edit.insert("null,"); -verify.currentSignatureHelpIs("B(a: Foo, b: number): B"); +verify.signatureHelp({ text: "B(a: Foo, b: number): B" }); edit.insert("10);"); verify.quickInfoAt("2", "constructor B(a: Foo, b: number): B"); diff --git a/tests/cases/fourslash/quickInfoOnPrivateConstructorCall.ts b/tests/cases/fourslash/quickInfoOnPrivateConstructorCall.ts index 5ebdcd815b2..45da7484b71 100644 --- a/tests/cases/fourslash/quickInfoOnPrivateConstructorCall.ts +++ b/tests/cases/fourslash/quickInfoOnPrivateConstructorCall.ts @@ -5,5 +5,4 @@ ////} ////var x = new A(/*1*/ -goTo.marker("1"); -verify.not.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp("1"); diff --git a/tests/cases/fourslash/quickInfoOnProtectedConstructorCall.ts b/tests/cases/fourslash/quickInfoOnProtectedConstructorCall.ts index 094a07f3d51..7144f3d98f0 100644 --- a/tests/cases/fourslash/quickInfoOnProtectedConstructorCall.ts +++ b/tests/cases/fourslash/quickInfoOnProtectedConstructorCall.ts @@ -5,5 +5,4 @@ ////} ////var x = new A(/*1*/ -goTo.marker("1"); -verify.not.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp("1"); diff --git a/tests/cases/fourslash/refactorConvertToEs6Module_export_moduleDotExports_changesImports.ts b/tests/cases/fourslash/refactorConvertToEs6Module_export_moduleDotExports_changesImports.ts index 277525e10fe..ddc6a77721e 100644 --- a/tests/cases/fourslash/refactorConvertToEs6Module_export_moduleDotExports_changesImports.ts +++ b/tests/cases/fourslash/refactorConvertToEs6Module_export_moduleDotExports_changesImports.ts @@ -14,11 +14,9 @@ verify.codeFix({ description: "Convert to ES6 module", - newFileContent: "export default 0;", + newFileContent: { + "/a.js": "export default 0;", + "/b.ts": 'import a from "./a";', + "/c.js": 'const a = require("./a").default;', + } }); - -goTo.file("/b.ts"); -verify.currentFileContentIs('import a from "./a";'); - -goTo.file("/c.js"); -verify.currentFileContentIs('const a = require("./a").default;'); diff --git a/tests/cases/fourslash/refactorConvertToEs6Module_export_object.ts b/tests/cases/fourslash/refactorConvertToEs6Module_export_object.ts index 5b9107f275c..97056ceefda 100644 --- a/tests/cases/fourslash/refactorConvertToEs6Module_export_object.ts +++ b/tests/cases/fourslash/refactorConvertToEs6Module_export_object.ts @@ -12,6 +12,9 @@ //// C: class {}, ////}; +// @Filename: /b.js +////const a = require("./a.js"); + verify.codeFix({ description: "Convert to ES6 module", newFileContent: diff --git a/tests/cases/fourslash/refactorConvertToEs6Module_notAtTopLevel.ts b/tests/cases/fourslash/refactorConvertToEs6Module_notAtTopLevel.ts new file mode 100644 index 00000000000..8de35813884 --- /dev/null +++ b/tests/cases/fourslash/refactorConvertToEs6Module_notAtTopLevel.ts @@ -0,0 +1,12 @@ +/// + +// @allowJs: true +// @target: esnext + +// @Filename: /a.js +////(function() { +//// module.exports = 0; +////})(); + +verify.getSuggestionDiagnostics([]); + diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess15.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess15.ts index 172842ef271..0d68052ab6a 100644 --- a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess15.ts +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess15.ts @@ -2,7 +2,7 @@ //// class A { //// /*a*/public _a: number = 1;/*b*/ -//// /*c*/public a: string = "foo";/*d*/ +//// public a: string = "foo"; //// } goTo.select("a", "b"); @@ -11,36 +11,13 @@ edit.applyRefactor({ actionName: "Generate 'get' and 'set' accessors", actionDescription: "Generate 'get' and 'set' accessors", newContent: `class A { - private /*RENAME*/__a: number = 1; - public get _a(): number { - return this.__a; + private _a: number = 1; + public get /*RENAME*/a_1(): number { + return this._a; } - public set _a(value: number) { - this.__a = value; + public set a_1(value: number) { + this._a = value; } public a: string = "foo"; }`, }); - -goTo.select("c", "d"); -edit.applyRefactor({ - refactorName: "Generate 'get' and 'set' accessors", - actionName: "Generate 'get' and 'set' accessors", - actionDescription: "Generate 'get' and 'set' accessors", - newContent: `class A { - private __a: number = 1; - public get _a(): number { - return this.__a; - } - public set _a(value: number) { - this.__a = value; - } - private /*RENAME*/_a_1: string = "foo"; - public get a(): string { - return this._a_1; - } - public set a(value: string) { - this._a_1 = value; - } -}`, -}); \ No newline at end of file diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess23.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess23.ts index 6be97053987..32f4bfe009d 100644 --- a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess23.ts +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess23.ts @@ -28,12 +28,12 @@ edit.applyRefactor({ actionName: "Generate 'get' and 'set' accessors", actionDescription: "Generate 'get' and 'set' accessors", newContent: `class A { - private /*RENAME*/__a: number = 1; - public get _a(): number { - return this.__a; + private _a: number = 1; + public get /*RENAME*/a_2(): number { + return this._a; } - public set _a(value: number) { - this.__a = value; + public set a_2(value: number) { + this._a = value; } private _a_1: string = "foo"; public get a(): string { diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess34.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess34.ts new file mode 100644 index 00000000000..d745aa2412d --- /dev/null +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess34.ts @@ -0,0 +1,21 @@ +/// + +//// const A = { +//// /*a*/a/*b*/: 1, +//// }; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Generate 'get' and 'set' accessors", + actionName: "Generate 'get' and 'set' accessors", + actionDescription: "Generate 'get' and 'set' accessors", + newContent: `const A = { + /*RENAME*/_a: 1, + get a() { + return this._a; + }, + set a(value) { + this._a = value; + }, +};`, +}); diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess4.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess4.ts index 2b6ccbeaa1a..c2d9a7eea7e 100644 --- a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess4.ts +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess4.ts @@ -10,12 +10,12 @@ edit.applyRefactor({ actionName: "Generate 'get' and 'set' accessors", actionDescription: "Generate 'get' and 'set' accessors", newContent: `class A { - private /*RENAME*/__a: string; - public get _a(): string { - return this.__a; + private _a: string; + public get /*RENAME*/a_1(): string { + return this._a; } - public set _a(value: string) { - this.__a = value; + public set a_1(value: string) { + this._a = value; } }`, }); diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess5.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess5.ts index 6299cc01429..9d2526d8a7d 100644 --- a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess5.ts +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess5.ts @@ -10,12 +10,12 @@ edit.applyRefactor({ actionName: "Generate 'get' and 'set' accessors", actionDescription: "Generate 'get' and 'set' accessors", newContent: `class A { - private /*RENAME*/__a: string; - public get _a(): string { - return this.__a; + private _a: string; + public get /*RENAME*/a_1(): string { + return this._a; } - public set _a(value: string) { - this.__a = value; + public set a_1(value: string) { + this._a = value; } }`, }); diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess6.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess6.ts index 5f713df203c..b3899c0647a 100644 --- a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess6.ts +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess6.ts @@ -10,12 +10,12 @@ edit.applyRefactor({ actionName: "Generate 'get' and 'set' accessors", actionDescription: "Generate 'get' and 'set' accessors", newContent: `class A { - private /*RENAME*/__a: string; - public get _a(): string { - return this.__a; + private _a: string; + public get /*RENAME*/a_1(): string { + return this._a; } - public set _a(value: string) { - this.__a = value; + public set a_1(value: string) { + this._a = value; } }`, }); diff --git a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess7.ts b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess7.ts index 4fc5641d657..114cfd39d87 100644 --- a/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess7.ts +++ b/tests/cases/fourslash/refactorConvertToGetAccessAndSetAccess7.ts @@ -10,12 +10,12 @@ edit.applyRefactor({ actionName: "Generate 'get' and 'set' accessors", actionDescription: "Generate 'get' and 'set' accessors", newContent: `class A { - private /*RENAME*/__a: string; - protected get _a(): string { - return this.__a; + private _a: string; + protected get /*RENAME*/a_1(): string { + return this._a; } - protected set _a(value: string) { - this.__a = value; + protected set a_1(value: string) { + this._a = value; } }`, }); diff --git a/tests/cases/fourslash/restArgSignatureHelp.ts b/tests/cases/fourslash/restArgSignatureHelp.ts index baa8702a5f6..4d22dd1f4f7 100644 --- a/tests/cases/fourslash/restArgSignatureHelp.ts +++ b/tests/cases/fourslash/restArgSignatureHelp.ts @@ -3,5 +3,4 @@ ////function f(...x: any[]) { } ////f(/**/); -goTo.marker(); -verify.currentParameterHelpArgumentNameIs('x'); +verify.signatureHelp({ marker: "", parameterName: "x", isVariadic: true }); diff --git a/tests/cases/fourslash/server/signatureHelp01.ts b/tests/cases/fourslash/server/signatureHelp01.ts index 73303ecce4c..f358eae2b49 100644 --- a/tests/cases/fourslash/server/signatureHelp01.ts +++ b/tests/cases/fourslash/server/signatureHelp01.ts @@ -7,10 +7,9 @@ //// foo(/*1*/) ////} -goTo.marker('1'); -verify.signatureHelpPresent(); -verify.signatureHelpCountIs(1); -verify.signatureHelpArgumentCountIs(0); - -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpDocCommentIs(''); \ No newline at end of file +verify.signatureHelp({ + marker: "1", + argumentCount: 0, + parameterCount: 1, + docComment: "", +}); diff --git a/tests/cases/fourslash/shims-pp/getSignatureHelpItems.ts b/tests/cases/fourslash/shims-pp/getSignatureHelpItems.ts index 846c2d5244a..672e9069a42 100644 --- a/tests/cases/fourslash/shims-pp/getSignatureHelpItems.ts +++ b/tests/cases/fourslash/shims-pp/getSignatureHelpItems.ts @@ -1,4 +1,4 @@ -/// +/// // @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file0.ts ////declare function fn(x: string, y: number); @@ -9,5 +9,4 @@ // @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file2.ts ////fn(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(2); \ No newline at end of file +verify.signatureHelp({ marker: "1", overloadsCount: 2 }); diff --git a/tests/cases/fourslash/shims/getSignatureHelpItems.ts b/tests/cases/fourslash/shims/getSignatureHelpItems.ts index 846c2d5244a..672e9069a42 100644 --- a/tests/cases/fourslash/shims/getSignatureHelpItems.ts +++ b/tests/cases/fourslash/shims/getSignatureHelpItems.ts @@ -1,4 +1,4 @@ -/// +/// // @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file0.ts ////declare function fn(x: string, y: number); @@ -9,5 +9,4 @@ // @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file2.ts ////fn(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(2); \ No newline at end of file +verify.signatureHelp({ marker: "1", overloadsCount: 2 }); diff --git a/tests/cases/fourslash/signatureHelpAnonymousFunction.ts b/tests/cases/fourslash/signatureHelpAnonymousFunction.ts index ba812a2f8d3..7ea11b19cc1 100644 --- a/tests/cases/fourslash/signatureHelpAnonymousFunction.ts +++ b/tests/cases/fourslash/signatureHelpAnonymousFunction.ts @@ -5,13 +5,17 @@ ////} ////anonymousFunctionTest(5, "")(/*anonymousFunction1*/1, /*anonymousFunction2*/""); -goTo.marker('anonymousFunction1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureParameterCountIs(2); -verify.currentSignatureHelpIs('(a: number, b: string): string'); -verify.currentParameterHelpArgumentNameIs("a"); -verify.currentParameterSpanIs("a: number"); - -goTo.marker('anonymousFunction2'); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: string"); +verify.signatureHelp( + { + marker: "anonymousFunction1", + text: '(a: number, b: string): string', + parameterCount: 2, + parameterName: "a", + parameterSpan: "a: number", + }, + { + marker: "anonymousFunction2", + parameterName: "b", + parameterSpan: "b: string", + }, +); diff --git a/tests/cases/fourslash/signatureHelpAtEOF.ts b/tests/cases/fourslash/signatureHelpAtEOF.ts index d2e1fa0418d..970ab8fd4af 100644 --- a/tests/cases/fourslash/signatureHelpAtEOF.ts +++ b/tests/cases/fourslash/signatureHelpAtEOF.ts @@ -5,11 +5,10 @@ //// ////Foo(/**/ -goTo.marker(); -verify.signatureHelpPresent(); -verify.signatureHelpCountIs(1); - -verify.currentSignatureHelpIs("Foo(arg1: string, arg2: string): void"); -verify.currentSignatureParameterCountIs(2); -verify.currentParameterHelpArgumentNameIs("arg1"); -verify.currentParameterSpanIs("arg1: string"); \ No newline at end of file +verify.signatureHelp({ + marker: "", + text: "Foo(arg1: string, arg2: string): void", + parameterCount: 2, + parameterName: "arg1", + parameterSpan: "arg1: string", +}) diff --git a/tests/cases/fourslash/signatureHelpBeforeSemicolon1.ts b/tests/cases/fourslash/signatureHelpBeforeSemicolon1.ts index d3bdd42ef1a..d60f8175c8d 100644 --- a/tests/cases/fourslash/signatureHelpBeforeSemicolon1.ts +++ b/tests/cases/fourslash/signatureHelpBeforeSemicolon1.ts @@ -5,11 +5,10 @@ //// ////Foo(/**/; -goTo.marker(); -verify.signatureHelpPresent(); -verify.signatureHelpCountIs(1); - -verify.currentSignatureHelpIs("Foo(arg1: string, arg2: string): void"); -verify.currentSignatureParameterCountIs(2); -verify.currentParameterHelpArgumentNameIs("arg1"); -verify.currentParameterSpanIs("arg1: string"); \ No newline at end of file +verify.signatureHelp({ + marker: "", + text: "Foo(arg1: string, arg2: string): void", + parameterCount: 2, + parameterName: "arg1", + parameterSpan: "arg1: string", +}); diff --git a/tests/cases/fourslash/signatureHelpCallExpression.ts b/tests/cases/fourslash/signatureHelpCallExpression.ts index 61606b77bc0..16df643b3ac 100644 --- a/tests/cases/fourslash/signatureHelpCallExpression.ts +++ b/tests/cases/fourslash/signatureHelpCallExpression.ts @@ -3,14 +3,17 @@ ////function fnTest(str: string, num: number) { } ////fnTest(/*1*/'', /*2*/5); -goTo.marker('1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureParameterCountIs(2); -verify.currentSignatureHelpIs('fnTest(str: string, num: number): void'); - -verify.currentParameterHelpArgumentNameIs('str'); -verify.currentParameterSpanIs("str: string"); - -goTo.marker('2'); -verify.currentParameterHelpArgumentNameIs('num'); -verify.currentParameterSpanIs("num: number"); +verify.signatureHelp( + { + marker: "1", + text: 'fnTest(str: string, num: number): void', + parameterCount: 2, + parameterName: "str", + parameterSpan: "str: string", + }, + { + marker: "2", + parameterName: "num", + parameterSpan: "num: number", + }, +); diff --git a/tests/cases/fourslash/signatureHelpCallExpressionJs.ts b/tests/cases/fourslash/signatureHelpCallExpressionJs.ts index 17045a74717..3b19ddb393a 100644 --- a/tests/cases/fourslash/signatureHelpCallExpressionJs.ts +++ b/tests/cases/fourslash/signatureHelpCallExpressionJs.ts @@ -12,17 +12,21 @@ ////someOptional(1, 2, 3); ////someOptional(); // no error here; x and y are optional in JS -goTo.marker('1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpIs('allOptional(...args: any[]): void'); -verify.currentParameterHelpArgumentNameIs('args'); -verify.currentParameterSpanIs("...args: any[]"); - -goTo.marker('2'); -verify.signatureHelpCountIs(1); -verify.currentSignatureParameterCountIs(3); -verify.currentSignatureHelpIs('someOptional(x: any, y: any, ...args: any[]): void'); -verify.currentParameterHelpArgumentNameIs('x'); -verify.currentParameterSpanIs("x: any"); -verify.numberOfErrorsInCurrentFile(0); +verify.noErrors(); +verify.signatureHelp( + { + marker: "1", + text: "allOptional(...args: any[]): void", + parameterCount: 1, + parameterName: "args", + parameterSpan: "...args: any[]", + isVariadic: true, + }, + { + marker: "2", + text: "someOptional(x: any, y: any, ...args: any[]): void", + parameterCount: 3, + parameterName: "x", + parameterSpan: "x: any", + isVariadic: true, + }); diff --git a/tests/cases/fourslash/signatureHelpConstructExpression.ts b/tests/cases/fourslash/signatureHelpConstructExpression.ts index a64c0123e6f..8a9849e9654 100644 --- a/tests/cases/fourslash/signatureHelpConstructExpression.ts +++ b/tests/cases/fourslash/signatureHelpConstructExpression.ts @@ -3,15 +3,17 @@ ////class sampleCls { constructor(str: string, num: number) { } } ////var x = new sampleCls(/*1*/"", /*2*/5); -goTo.marker('1'); -verify.signatureHelpCountIs(1); - -verify.currentSignatureParameterCountIs(2); -verify.currentSignatureHelpIs('sampleCls(str: string, num: number): sampleCls'); - -verify.currentParameterHelpArgumentNameIs('str'); -verify.currentParameterSpanIs("str: string"); - -goTo.marker('2'); -verify.currentParameterHelpArgumentNameIs('num'); -verify.currentParameterSpanIs("num: number"); +verify.signatureHelp( + { + marker: "1", + text: "sampleCls(str: string, num: number): sampleCls", + parameterCount: 2, + parameterName: "str", + parameterSpan: "str: string", + }, + { + marker: "2", + parameterName: "num", + parameterSpan: "num: number", + }, +) diff --git a/tests/cases/fourslash/signatureHelpConstructorCallParamProperties.ts b/tests/cases/fourslash/signatureHelpConstructorCallParamProperties.ts index aab276403fe..9a26f7968ba 100644 --- a/tests/cases/fourslash/signatureHelpConstructorCallParamProperties.ts +++ b/tests/cases/fourslash/signatureHelpConstructorCallParamProperties.ts @@ -10,9 +10,12 @@ ////} ////var a = new Circle(/**/ -goTo.marker(''); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("Circle(radius: number): Circle"); -verify.currentParameterHelpArgumentNameIs("radius"); -verify.currentParameterSpanIs("radius: number"); -verify.currentParameterHelpArgumentDocCommentIs("The radius of the circle."); \ No newline at end of file +verify.signatureHelp({ + marker: "", + text: "Circle(radius: number): Circle", + parameterName: "radius", + parameterSpan: "radius: number", + docComment: "Initialize a circle.", + parameterDocComment: "The radius of the circle.", + tags: [{ name: "param", text: "radius The radius of the circle." }], +}); diff --git a/tests/cases/fourslash/signatureHelpConstructorInheritance.ts b/tests/cases/fourslash/signatureHelpConstructorInheritance.ts index 23f802f10b5..49292039752 100644 --- a/tests/cases/fourslash/signatureHelpConstructorInheritance.ts +++ b/tests/cases/fourslash/signatureHelpConstructorInheritance.ts @@ -13,10 +13,11 @@ //// } ////} - -goTo.marker('indirectSuperCall'); -verify.signatureHelpCountIs(2); -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpIs('B2(n: number): B2'); -verify.currentParameterHelpArgumentNameIs("n"); -verify.currentParameterSpanIs("n: number"); +verify.signatureHelp({ + marker: "indirectSuperCall", + overloadsCount: 2, + text: "B2(n: number): B2", + parameterCount: 1, + parameterName: "n", + parameterSpan: "n: number", +}); diff --git a/tests/cases/fourslash/signatureHelpConstructorOverload.ts b/tests/cases/fourslash/signatureHelpConstructorOverload.ts index b562d4f54c7..db4378ce70b 100644 --- a/tests/cases/fourslash/signatureHelpConstructorOverload.ts +++ b/tests/cases/fourslash/signatureHelpConstructorOverload.ts @@ -4,13 +4,19 @@ ////var x = new clsOverload(/*1*/); ////var y = new clsOverload(/*2*/''); -goTo.marker('1'); -verify.signatureHelpCountIs(2); -verify.currentSignatureParameterCountIs(0); -verify.currentSignatureHelpIs('clsOverload(): clsOverload'); - -goTo.marker('2'); -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpIs('clsOverload(test: string): clsOverload'); -verify.currentParameterHelpArgumentNameIs('test'); -verify.currentParameterSpanIs("test: string"); \ No newline at end of file +verify.signatureHelp( + { + marker: "1", + overloadsCount: 2, + text: "clsOverload(): clsOverload", + parameterCount: 0, + }, + { + marker: "2", + overloadsCount: 2, + text: "clsOverload(test: string): clsOverload", + parameterCount: 1, + parameterName: "test", + parameterSpan: "test: string", + }, +); diff --git a/tests/cases/fourslash/signatureHelpEmptyList.ts b/tests/cases/fourslash/signatureHelpEmptyList.ts index b6318656f4f..87b25340557 100644 --- a/tests/cases/fourslash/signatureHelpEmptyList.ts +++ b/tests/cases/fourslash/signatureHelpEmptyList.ts @@ -7,14 +7,13 @@ ////function Bar(arg1: string, arg2: string) { } ////Bar(); -goTo.marker('1'); -verify.signatureHelpPresent(); -verify.signatureHelpCountIs(1); - -verify.currentSignatureHelpIs("Foo(arg1: string, arg2: string): void"); -verify.currentSignatureParameterCountIs(2); -verify.currentParameterHelpArgumentNameIs("arg1"); -verify.currentParameterSpanIs("arg1: string"); - -goTo.marker('2'); -verify.signatureHelpPresent(); \ No newline at end of file +verify.signatureHelp( + { + marker: "1", + text: "Foo(arg1: string, arg2: string): void", + parameterCount: 2, + parameterName: "arg1", + parameterSpan: "arg1: string", + }, + { marker: "2", text: "Bar(arg1: string, arg2: string): void" }, +); diff --git a/tests/cases/fourslash/signatureHelpExplicitTypeArguments.ts b/tests/cases/fourslash/signatureHelpExplicitTypeArguments.ts index d5c68e41354..2e5854e2013 100644 --- a/tests/cases/fourslash/signatureHelpExplicitTypeArguments.ts +++ b/tests/cases/fourslash/signatureHelpExplicitTypeArguments.ts @@ -6,16 +6,11 @@ ////f(/*3*/); ////f(/*4*/); -goTo.marker("1"); -verify.currentSignatureHelpIs("f(x: number, y: string): number"); - -goTo.marker("2"); -verify.currentSignatureHelpIs("f(x: T, y: U): T"); - -goTo.marker("3"); -// too few -- fill in rest with {} -verify.currentSignatureHelpIs("f(x: number, y: {}): number"); - -goTo.marker("4"); -// too many -- ignore extra type arguments -verify.currentSignatureHelpIs("f(x: number, y: string): number"); +verify.signatureHelp( + { marker: "1", text: "f(x: number, y: string): number" }, + { marker: "2", text: "f(x: T, y: U): T" }, + // too few -- fill in rest with {} + { marker: "3", text: "f(x: number, y: {}): number" }, + // too many -- ignore extra type arguments + { marker: "4", text: "f(x: number, y: string): number" }, +); diff --git a/tests/cases/fourslash/signatureHelpForSuperCalls1.ts b/tests/cases/fourslash/signatureHelpForSuperCalls1.ts index 6857cf76ead..80df285807a 100644 --- a/tests/cases/fourslash/signatureHelpForSuperCalls1.ts +++ b/tests/cases/fourslash/signatureHelpForSuperCalls1.ts @@ -17,9 +17,7 @@ //// } ////} -goTo.marker('1'); -verify.signatureHelpPresent(); -verify.currentSignatureHelpIs('B(): B'); - -goTo.marker('2'); -verify.currentSignatureHelpIs('B2(x: number): B2'); \ No newline at end of file +verify.signatureHelp( + { marker: "1", text: "B(): B" }, + { marker: "2", text: "B2(x: number): B2" }, +); diff --git a/tests/cases/fourslash/signatureHelpFunctionOverload.ts b/tests/cases/fourslash/signatureHelpFunctionOverload.ts index 219e718f811..24c9cb8f283 100644 --- a/tests/cases/fourslash/signatureHelpFunctionOverload.ts +++ b/tests/cases/fourslash/signatureHelpFunctionOverload.ts @@ -6,13 +6,18 @@ ////functionOverload(/*functionOverload1*/); ////functionOverload(""/*functionOverload2*/); -goTo.marker('functionOverload1'); -verify.signatureHelpCountIs(2); -verify.currentSignatureParameterCountIs(0); -verify.currentSignatureHelpIs('functionOverload(): any'); - -goTo.marker('functionOverload2'); -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpIs('functionOverload(test: string): any'); -verify.currentParameterHelpArgumentNameIs("test"); -verify.currentParameterSpanIs("test: string"); \ No newline at end of file +verify.signatureHelp( + { + marker: "functionOverload1", + overloadsCount: 2, + text: "functionOverload(): any", + parameterCount: 0, + }, + { + marker: "functionOverload2", + overloadsCount: 2, + text: "functionOverload(test: string): any", + parameterName: "test", + parameterSpan: "test: string", + }, +); diff --git a/tests/cases/fourslash/signatureHelpFunctionParameter.ts b/tests/cases/fourslash/signatureHelpFunctionParameter.ts index 9105ee067ce..afe20e1c6ac 100644 --- a/tests/cases/fourslash/signatureHelpFunctionParameter.ts +++ b/tests/cases/fourslash/signatureHelpFunctionParameter.ts @@ -4,14 +4,18 @@ //// callback(/*parameterFunction1*/5, /*parameterFunction2*/""); ////} -goTo.marker('parameterFunction1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureParameterCountIs(2); -verify.currentSignatureHelpIs('callback(a: number, b: string): void'); -verify.currentParameterHelpArgumentNameIs("a"); -verify.currentParameterSpanIs("a: number"); - -goTo.marker('parameterFunction2'); -verify.currentSignatureHelpIs('callback(a: number, b: string): void'); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: string"); \ No newline at end of file +verify.signatureHelp( + { + marker: "parameterFunction1", + text: "callback(a: number, b: string): void", + parameterCount: 2, + parameterName: "a", + parameterSpan: "a: number", + }, + { + marker: "parameterFunction2", + text: "callback(a: number, b: string): void", + parameterName: "b", + parameterSpan: "b: string", + }, +); diff --git a/tests/cases/fourslash/signatureHelpImplicitConstructor.ts b/tests/cases/fourslash/signatureHelpImplicitConstructor.ts index c22087b9d1d..5bf1ecb54af 100644 --- a/tests/cases/fourslash/signatureHelpImplicitConstructor.ts +++ b/tests/cases/fourslash/signatureHelpImplicitConstructor.ts @@ -4,7 +4,8 @@ ////} ////var implicitConstructor = new ImplicitConstructor(/**/); -goTo.marker(); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("ImplicitConstructor(): ImplicitConstructor"); -verify.currentSignatureParameterCountIs(0); +verify.signatureHelp({ + marker: "", + text: "ImplicitConstructor(): ImplicitConstructor", + parameterCount: 0, +}); diff --git a/tests/cases/fourslash/signatureHelpImportStarFromExportEquals.ts b/tests/cases/fourslash/signatureHelpImportStarFromExportEquals.ts index cdf4b0a5c64..9b7313f3ada 100644 --- a/tests/cases/fourslash/signatureHelpImportStarFromExportEquals.ts +++ b/tests/cases/fourslash/signatureHelpImportStarFromExportEquals.ts @@ -12,4 +12,4 @@ goTo.marker(); edit.insert('('); -verify.currentSignatureHelpIs('abs(str: string): string'); +verify.signatureHelp({ text: "abs(str: string): string" }); diff --git a/tests/cases/fourslash/signatureHelpInCallback.ts b/tests/cases/fourslash/signatureHelpInCallback.ts index dd4856b48ef..391cac62df9 100644 --- a/tests/cases/fourslash/signatureHelpInCallback.ts +++ b/tests/cases/fourslash/signatureHelpInCallback.ts @@ -5,7 +5,5 @@ //// /*2*/ ////}); -goTo.marker('1'); -verify.signatureHelpPresent(); -goTo.marker('2'); -verify.not.signatureHelpPresent(); +verify.signatureHelp({ marker: "1", text: "forEach(f: () => void): any" }) +verify.noSignatureHelp("2"); diff --git a/tests/cases/fourslash/signatureHelpInCompleteGenericsCall.ts b/tests/cases/fourslash/signatureHelpInCompleteGenericsCall.ts index 0bcde9a2aa1..a3ea10bd0dc 100644 --- a/tests/cases/fourslash/signatureHelpInCompleteGenericsCall.ts +++ b/tests/cases/fourslash/signatureHelpInCompleteGenericsCall.ts @@ -4,5 +4,4 @@ ////} ////foo(/*1*/ -goTo.marker('1'); -verify.currentSignatureHelpIs("foo(x: number, callback: (x: {}) => number): void"); \ No newline at end of file +verify.signatureHelp({ marker: "1", text: "foo(x: number, callback: (x: {}) => number): void" }); diff --git a/tests/cases/fourslash/signatureHelpInFunctionCall.ts b/tests/cases/fourslash/signatureHelpInFunctionCall.ts index 48c3b4a4ccf..1d4b6152dab 100644 --- a/tests/cases/fourslash/signatureHelpInFunctionCall.ts +++ b/tests/cases/fourslash/signatureHelpInFunctionCall.ts @@ -5,5 +5,4 @@ //// for (/**/ ////}); -goTo.marker(); -verify.not.signatureHelpPresent(); +verify.noSignatureHelp(""); diff --git a/tests/cases/fourslash/signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles.ts b/tests/cases/fourslash/signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles.ts index 846c2d5244a..6bbd2083851 100644 --- a/tests/cases/fourslash/signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles.ts +++ b/tests/cases/fourslash/signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles.ts @@ -9,5 +9,4 @@ // @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file2.ts ////fn(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(2); \ No newline at end of file +verify.signatureHelp({ marker: "1", overloadsCount: 2 }); diff --git a/tests/cases/fourslash/signatureHelpInIncompleteInvocationExpression.ts b/tests/cases/fourslash/signatureHelpInIncompleteInvocationExpression.ts deleted file mode 100644 index 2e097b2a76a..00000000000 --- a/tests/cases/fourslash/signatureHelpInIncompleteInvocationExpression.ts +++ /dev/null @@ -1,19 +0,0 @@ -/// - -/////** -//// * Returns the substring at the specified location within a String object. -//// * @param start The zero-based index integer indicating the beginning of the substring. -//// * @param end Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. -//// * If end is omitted, the characters from start through the end of the original string are returned. -//// */ -////function foo(start: number, end?: number) { -//// return ""; -////} -//// -////foo(/*1*/ -goTo.marker('1'); -verify.currentParameterHelpArgumentDocCommentIs("The zero-based index integer indicating the beginning of the substring."); -edit.insert("10,"); -verify.currentParameterHelpArgumentDocCommentIs("Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\nIf end is omitted, the characters from start through the end of the original string are returned."); -edit.insert(" "); -verify.currentParameterHelpArgumentDocCommentIs("Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\nIf end is omitted, the characters from start through the end of the original string are returned."); diff --git a/tests/cases/fourslash/signatureHelpInParenthetical.ts b/tests/cases/fourslash/signatureHelpInParenthetical.ts index 0628d904fdc..7f34453fb8a 100644 --- a/tests/cases/fourslash/signatureHelpInParenthetical.ts +++ b/tests/cases/fourslash/signatureHelpInParenthetical.ts @@ -3,7 +3,6 @@ //// class base { constructor (public n: number, public y: string) { } } //// (new base(/**/ -goTo.marker(); -verify.currentParameterHelpArgumentNameIs('n'); +verify.signatureHelp({ marker: "", parameterName: "n" }); edit.insert('0, '); -verify.currentParameterHelpArgumentNameIs('y'); +verify.signatureHelp({ parameterName: "y" }); diff --git a/tests/cases/fourslash/signatureHelpIncompleteCalls.ts b/tests/cases/fourslash/signatureHelpIncompleteCalls.ts index 7403b98733d..2b771ac70e6 100644 --- a/tests/cases/fourslash/signatureHelpIncompleteCalls.ts +++ b/tests/cases/fourslash/signatureHelpIncompleteCalls.ts @@ -15,17 +15,8 @@ //// x.f3(5,/*incompleteCalls3*/ ////} -goTo.marker('incompleteCalls1'); -verify.currentSignatureHelpIs("f1(): void"); -verify.currentSignatureParameterCountIs(0); - -goTo.marker('incompleteCalls2'); -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpIs("f2(n: number): number"); -goTo.marker('incompleteCalls3'); -verify.currentSignatureParameterCountIs(2); -verify.currentSignatureHelpIs("f3(n: number, s: string): string"); - -verify.currentParameterHelpArgumentNameIs("s"); -verify.currentParameterSpanIs("s: string"); - +verify.signatureHelp( + { marker: "incompleteCalls1", text: "f1(): void", parameterCount: 0 }, + { marker: "incompleteCalls2", text: "f2(n: number): number", parameterCount: 1 }, + { marker: "incompleteCalls3", text: "f3(n: number, s: string): string", parameterCount: 2, parameterName: "s", parameterSpan: "s: string" }, +); diff --git a/tests/cases/fourslash/signatureHelpNegativeTests.ts b/tests/cases/fourslash/signatureHelpNegativeTests.ts index 32d76d158a6..70b67fe3fe1 100644 --- a/tests/cases/fourslash/signatureHelpNegativeTests.ts +++ b/tests/cases/fourslash/signatureHelpNegativeTests.ts @@ -6,11 +6,4 @@ ////cl/*invalidContext*/ass InvalidSignatureHelpLocation { } ////InvalidSignatureHelpLocation(/*validContext*/); -goTo.marker('insideComment'); -verify.not.signatureHelpPresent(); - -goTo.marker('invalidContext'); -verify.not.signatureHelpPresent(); - -goTo.marker('validContext'); -verify.not.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp("insideComment", "invalidContext", "validContext"); diff --git a/tests/cases/fourslash/signatureHelpNegativeTests2.ts b/tests/cases/fourslash/signatureHelpNegativeTests2.ts index a7341225c73..a740a80d1a4 100644 --- a/tests/cases/fourslash/signatureHelpNegativeTests2.ts +++ b/tests/cases/fourslash/signatureHelpNegativeTests2.ts @@ -3,8 +3,4 @@ ////class clsOverload { constructor(); constructor(test: string); constructor(test?: string) { } } ////var x = new clsOverload/*beforeOpenParen*/()/*afterCloseParen*/; -goTo.marker('beforeOpenParen'); -verify.not.signatureHelpPresent(); - -goTo.marker('afterCloseParen'); -verify.not.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp("beforeOpenParen", "afterCloseParen"); diff --git a/tests/cases/fourslash/signatureHelpNoArguments.ts b/tests/cases/fourslash/signatureHelpNoArguments.ts index 16a1896a741..abab3ca3470 100644 --- a/tests/cases/fourslash/signatureHelpNoArguments.ts +++ b/tests/cases/fourslash/signatureHelpNoArguments.ts @@ -6,7 +6,9 @@ //// ////foo(/**/ -goTo.marker(); -verify.currentSignatureHelpIs("foo(n: number): string"); -verify.currentParameterHelpArgumentNameIs("n"); -verify.currentParameterSpanIs("n: number"); +verify.signatureHelp({ + marker: "", + text: "foo(n: number): string", + parameterName: "n", + parameterSpan: "n: number", +}); diff --git a/tests/cases/fourslash/signatureHelpObjectCreationExpressionNoArgs_NotAvailable.ts b/tests/cases/fourslash/signatureHelpObjectCreationExpressionNoArgs_NotAvailable.ts index 40a0a316a0e..64ceb61230c 100644 --- a/tests/cases/fourslash/signatureHelpObjectCreationExpressionNoArgs_NotAvailable.ts +++ b/tests/cases/fourslash/signatureHelpObjectCreationExpressionNoArgs_NotAvailable.ts @@ -3,6 +3,4 @@ ////class sampleCls { constructor(str: string, num: number) { } } ////var x = new sampleCls/**/; -goTo.marker(); -verify.signatureHelpCountIs(0); -verify.not.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp(""); diff --git a/tests/cases/fourslash/signatureHelpObjectLiteral.ts b/tests/cases/fourslash/signatureHelpObjectLiteral.ts index 6853c3fee36..02384cf221c 100644 --- a/tests/cases/fourslash/signatureHelpObjectLiteral.ts +++ b/tests/cases/fourslash/signatureHelpObjectLiteral.ts @@ -3,15 +3,18 @@ ////var objectLiteral = { n: 5, s: "", f: (a: number, b: string) => "" }; ////objectLiteral.f(/*objectLiteral1*/4, /*objectLiteral2*/""); -goTo.marker('objectLiteral1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureParameterCountIs(2); -verify.currentSignatureHelpIs('f(a: number, b: string): string'); - -verify.currentParameterHelpArgumentNameIs("a"); -verify.currentParameterSpanIs("a: number"); - -goTo.marker('objectLiteral2'); -verify.currentSignatureHelpIs('f(a: number, b: string): string'); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: string"); \ No newline at end of file +verify.signatureHelp( + { + marker: "objectLiteral1", + text: "f(a: number, b: string): string", + parameterCount: 2, + parameterName: "a", + parameterSpan: "a: number", + }, + { + marker: "objectLiteral2", + text: "f(a: number, b: string): string", + parameterName: "b", + parameterSpan: "b: string", + }, +); diff --git a/tests/cases/fourslash/signatureHelpOnNestedOverloads.ts b/tests/cases/fourslash/signatureHelpOnNestedOverloads.ts index e657000c113..4e241fbcb4d 100644 --- a/tests/cases/fourslash/signatureHelpOnNestedOverloads.ts +++ b/tests/cases/fourslash/signatureHelpOnNestedOverloads.ts @@ -6,15 +6,18 @@ ////declare function fn2(x: string, y: number); ////fn('', fn2(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(2); -verify.currentSignatureHelpIs("fn2(x: string): any"); -verify.currentParameterHelpArgumentNameIs("x"); -verify.currentParameterSpanIs("x: string"); +verify.signatureHelp({ + marker: "1", + overloadsCount: 2, + text: "fn2(x: string): any", + parameterName: "x", + parameterSpan: "x: string", +}); edit.insert("'',"); - -verify.signatureHelpCountIs(2); -verify.currentSignatureHelpIs("fn2(x: string, y: number): any"); -verify.currentParameterHelpArgumentNameIs("y"); -verify.currentParameterSpanIs("y: number"); +verify.signatureHelp({ + overloadsCount: 2, + text: "fn2(x: string, y: number): any", + parameterName: "y", + parameterSpan: "y: number", +}); diff --git a/tests/cases/fourslash/signatureHelpOnOverloadOnConst.ts b/tests/cases/fourslash/signatureHelpOnOverloadOnConst.ts index e312b71aebe..babc79c79d5 100644 --- a/tests/cases/fourslash/signatureHelpOnOverloadOnConst.ts +++ b/tests/cases/fourslash/signatureHelpOnOverloadOnConst.ts @@ -10,17 +10,8 @@ ////x1('hi'/*2*/); ////x1('bye'/*3*/); -goTo.marker('1'); -verify.signatureHelpCountIs(3); -verify.currentParameterHelpArgumentNameIs("z"); -verify.currentParameterSpanIs("z: string"); - -goTo.marker('2'); -verify.signatureHelpCountIs(3); -verify.currentParameterHelpArgumentNameIs("x"); -verify.currentParameterSpanIs("x: \"hi\""); - -goTo.marker('3'); -verify.signatureHelpCountIs(3); -verify.currentParameterHelpArgumentNameIs("y"); -verify.currentParameterSpanIs("y: \"bye\""); +verify.signatureHelp( + { marker: "1", overloadsCount: 3, parameterName: "z", parameterSpan: "z: string" }, + { marker: "2", overloadsCount: 3, parameterName: "x", parameterSpan: 'x: "hi"' }, + { marker: "3", overloadsCount: 3, parameterName: "y", parameterSpan: 'y: "bye"' }, +); diff --git a/tests/cases/fourslash/signatureHelpOnOverloads.ts b/tests/cases/fourslash/signatureHelpOnOverloads.ts index 9712c9dc301..679ab118d3a 100644 --- a/tests/cases/fourslash/signatureHelpOnOverloads.ts +++ b/tests/cases/fourslash/signatureHelpOnOverloads.ts @@ -4,15 +4,18 @@ ////declare function fn(x: string, y: number); ////fn(/*1*/ -goTo.marker('1'); -verify.signatureHelpCountIs(2); -verify.currentSignatureHelpIs("fn(x: string): any"); -verify.currentParameterHelpArgumentNameIs("x"); -verify.currentParameterSpanIs("x: string"); +verify.signatureHelp({ + marker: "1", + overloadsCount: 2, + text: "fn(x: string): any", + parameterName: "x", + parameterSpan: "x: string", +}); edit.insert("'',"); - -verify.signatureHelpCountIs(2); -verify.currentSignatureHelpIs("fn(x: string, y: number): any"); -verify.currentParameterHelpArgumentNameIs("y"); -verify.currentParameterSpanIs("y: number"); +verify.signatureHelp({ + overloadsCount: 2, + text: "fn(x: string, y: number): any", + parameterName: "y", + parameterSpan: "y: number", +}); diff --git a/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity.ts b/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity.ts index ff20d2ca5c2..4e7ba421bc1 100644 --- a/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity.ts +++ b/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity.ts @@ -7,14 +7,18 @@ //// ////f(1/**/ -goTo.marker(); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(n: number): any"); -verify.currentParameterHelpArgumentNameIs("n"); -verify.currentParameterSpanIs("n: number"); +verify.signatureHelp({ + marker: "", + overloadsCount: 4, + text: "f(n: number): any", + parameterName: "n", + parameterSpan: "n: number", +}); edit.insert(", "); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(n: number, b: boolean): any"); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: boolean"); \ No newline at end of file +verify.signatureHelp({ + overloadsCount: 4, + text: "f(n: number, b: boolean): any", + parameterName: "b", + parameterSpan: "b: boolean", +}); diff --git a/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity2.ts b/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity2.ts index 1290859d848..dee93f99f5a 100644 --- a/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity2.ts +++ b/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity2.ts @@ -7,14 +7,18 @@ //// ////f(1/**/ var -goTo.marker(); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(n: number): any"); -verify.currentParameterHelpArgumentNameIs("n"); -verify.currentParameterSpanIs("n: number"); +verify.signatureHelp({ + marker: "", + overloadsCount: 4, + text: "f(n: number): any", + parameterName: "n", + parameterSpan: "n: number", +}); edit.insert(", "); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(n: number, b: boolean): any"); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: boolean"); \ No newline at end of file +verify.signatureHelp({ + overloadsCount: 4, + text: "f(n: number, b: boolean): any", + parameterName: "b", + parameterSpan: "b: boolean", +}); diff --git a/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity3.ts b/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity3.ts index d445997338b..371d3e3cc95 100644 --- a/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity3.ts +++ b/tests/cases/fourslash/signatureHelpOnOverloadsDifferentArity3.ts @@ -7,20 +7,26 @@ //// ////f(/**/ -goTo.marker(); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(): any"); -verify.currentSignatureParameterCountIs(0); -verify.signatureHelpArgumentCountIs(0); +verify.signatureHelp({ + marker: "", + overloadsCount: 4, + text: "f(): any", + parameterCount: 0, + argumentCount: 0, +}); edit.insert("x, "); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(s: string, b: boolean): any"); -verify.currentSignatureParameterCountIs(2); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: boolean"); +verify.signatureHelp({ + overloadsCount: 4, + text: "f(s: string, b: boolean): any", + parameterCount: 2, + parameterName: "b", + parameterSpan: "b: boolean", +}); edit.insert("x, "); -verify.signatureHelpCountIs(4); -verify.currentSignatureHelpIs("f(s: string, b: boolean): any"); -verify.currentSignatureParameterCountIs(2); \ No newline at end of file +verify.signatureHelp({ + overloadsCount: 4, + text: "f(s: string, b: boolean): any", + parameterCount: 2, +}); diff --git a/tests/cases/fourslash/signatureHelpOnSuperWhenMembersAreNotResolved.ts b/tests/cases/fourslash/signatureHelpOnSuperWhenMembersAreNotResolved.ts index dcb14635101..495ad064579 100644 --- a/tests/cases/fourslash/signatureHelpOnSuperWhenMembersAreNotResolved.ts +++ b/tests/cases/fourslash/signatureHelpOnSuperWhenMembersAreNotResolved.ts @@ -10,4 +10,4 @@ goTo.marker("1"); edit.insert("super("); -verify.currentSignatureHelpIs("B(x: string): B"); \ No newline at end of file +verify.signatureHelp({ text: "B(x: string): B" }); \ No newline at end of file diff --git a/tests/cases/fourslash/signatureHelpOnTypePredicates.ts b/tests/cases/fourslash/signatureHelpOnTypePredicates.ts index bfaa7df2502..4e7423128ba 100644 --- a/tests/cases/fourslash/signatureHelpOnTypePredicates.ts +++ b/tests/cases/fourslash/signatureHelpOnTypePredicates.ts @@ -7,14 +7,8 @@ //// f2(/*2*/) //// f3(/*3*/) -goTo.marker("1"); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("f1(a: any): a is number"); - -goTo.marker("2"); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("f2(a: any): a is T"); - -goTo.marker("3"); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("f3(a: any, ...b: any[]): a is number"); \ No newline at end of file +verify.signatureHelp( + { marker: "1", text: "f1(a: any): a is number" }, + { marker: "2", text: "f2(a: any): a is T" }, + { marker: "3", text: "f3(a: any, ...b: any[]): a is number", isVariadic: true }, +) diff --git a/tests/cases/fourslash/signatureHelpSimpleConstructorCall.ts b/tests/cases/fourslash/signatureHelpSimpleConstructorCall.ts index 8a5fa60ace8..96ca6dbf191 100644 --- a/tests/cases/fourslash/signatureHelpSimpleConstructorCall.ts +++ b/tests/cases/fourslash/signatureHelpSimpleConstructorCall.ts @@ -1,17 +1,22 @@ /// -////class ConstructorCall { +////class ConstructorCall { //// constructor(str: string, num: number) { //// } ////} ////var x = new ConstructorCall(/*constructorCall1*/1,/*constructorCall2*/2); -goTo.marker('constructorCall1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("ConstructorCall(str: string, num: number): ConstructorCall"); -verify.currentParameterHelpArgumentNameIs("str"); -verify.currentParameterSpanIs("str: string"); -goTo.marker('constructorCall2'); -verify.currentSignatureHelpIs("ConstructorCall(str: string, num: number): ConstructorCall"); -verify.currentParameterHelpArgumentNameIs("num"); -verify.currentParameterSpanIs("num: number"); +verify.signatureHelp( + { + marker: "constructorCall1", + text: "ConstructorCall(str: string, num: number): ConstructorCall", + parameterName: "str", + parameterSpan: "str: string", + }, + { + marker: "constructorCall2", + text: "ConstructorCall(str: string, num: number): ConstructorCall", + parameterName: "num", + parameterSpan: "num: number", + }, +); diff --git a/tests/cases/fourslash/signatureHelpSimpleFunctionCall.ts b/tests/cases/fourslash/signatureHelpSimpleFunctionCall.ts index 0dc76c0eb0a..202b12488d6 100644 --- a/tests/cases/fourslash/signatureHelpSimpleFunctionCall.ts +++ b/tests/cases/fourslash/signatureHelpSimpleFunctionCall.ts @@ -6,14 +6,17 @@ ////functionCall(/*functionCall1*/); ////functionCall("", /*functionCall2*/1); - -goTo.marker('functionCall1'); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("functionCall(str: string, num: number): void"); -verify.currentParameterHelpArgumentNameIs("str"); -verify.currentParameterSpanIs("str: string"); -goTo.marker('functionCall2'); -verify.currentSignatureHelpIs("functionCall(str: string, num: number): void"); -verify.currentParameterHelpArgumentNameIs("num"); -verify.currentParameterSpanIs("num: number"); - +verify.signatureHelp( + { + marker: "functionCall1", + text: "functionCall(str: string, num: number): void", + parameterName: "str", + parameterSpan: "str: string", + }, + { + marker: "functionCall2", + text: "functionCall(str: string, num: number): void", + parameterName: "num", + parameterSpan: "num: number", + }, +); diff --git a/tests/cases/fourslash/signatureHelpSimpleSuperCall.ts b/tests/cases/fourslash/signatureHelpSimpleSuperCall.ts index 01d140f29ea..773179e5217 100644 --- a/tests/cases/fourslash/signatureHelpSimpleSuperCall.ts +++ b/tests/cases/fourslash/signatureHelpSimpleSuperCall.ts @@ -10,8 +10,9 @@ //// } ////} -goTo.marker('superCall'); -verify.signatureHelpCountIs(1); -verify.currentSignatureHelpIs("SuperCallBase(b: boolean): SuperCallBase"); -verify.currentParameterHelpArgumentNameIs("b"); -verify.currentParameterSpanIs("b: boolean"); +verify.signatureHelp({ + marker: "superCall", + text: "SuperCallBase(b: boolean): SuperCallBase", + parameterName: "b", + parameterSpan: "b: boolean", +}); diff --git a/tests/cases/fourslash/signatureHelpSuperConstructorOverload.ts b/tests/cases/fourslash/signatureHelpSuperConstructorOverload.ts index c65ce2824c0..9c2b5272ced 100644 --- a/tests/cases/fourslash/signatureHelpSuperConstructorOverload.ts +++ b/tests/cases/fourslash/signatureHelpSuperConstructorOverload.ts @@ -1,28 +1,35 @@ /// -////class SuperOverloadlBase { +////class SuperOverloadBase { //// constructor(); //// constructor(test: string); //// constructor(test?: string) { //// } ////} -////class SuperOverLoad1 extends SuperOverloadlBase { +////class SuperOverLoad1 extends SuperOverloadBase { //// constructor() { //// super(/*superOverload1*/); //// } ////} -////class SuperOverLoad2 extends SuperOverloadlBase { +////class SuperOverLoad2 extends SuperOverloadBase { //// constructor() { //// super(""/*superOverload2*/); //// } ////} -goTo.marker('superOverload1'); -verify.signatureHelpCountIs(2); -verify.currentSignatureHelpIs("SuperOverloadlBase(): SuperOverloadlBase"); -verify.currentSignatureParameterCountIs(0); -goTo.marker('superOverload2'); -verify.currentSignatureParameterCountIs(1); -verify.currentSignatureHelpIs("SuperOverloadlBase(test: string): SuperOverloadlBase"); -verify.currentParameterHelpArgumentNameIs("test"); -verify.currentParameterSpanIs("test: string"); \ No newline at end of file +verify.signatureHelp( + { + marker: "superOverload1", + overloadsCount: 2, + text: "SuperOverloadBase(): SuperOverloadBase", + parameterCount: 0, + }, + { + marker: "superOverload2", + overloadsCount: 2, + text: "SuperOverloadBase(test: string): SuperOverloadBase", + parameterCount: 1, + parameterName: "test", + parameterSpan: "test: string", + }, +); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts index 87c9262f893..3824d238af3 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts @@ -5,12 +5,11 @@ //// //// f `/*1*/ qwe/*2*/rty /*3*/$/*4*/{ 123 }/*5*/ as/*6*/df /*7*/$/*8*/{ 41234 }/*9*/ zxc/*10*/vb /*11*/$/*12*/{ g ` ` }/*13*/ /*14*/ /*15*/` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(4); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 4, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts index ef306a22934..dc8fafdf7b4 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts @@ -5,12 +5,11 @@ //// //// f `/*1*/ qwe/*2*/rty /*3*/$/*4*/{ 123 }/*5*/ as/*6*/df /*7*/$/*8*/{ 41234 }/*9*/ zxc/*10*/vb /*11*/$/*12*/{ g ` ` }/*13*/ /*14*/ /*15*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(4); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 4, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts index 7859fd6f457..8ec7d55e0c8 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts @@ -5,12 +5,11 @@ //// //// f ` qwerty ${/*1*/ /*2*/123/*3*/ /*4*/} asdf ${ 41234 } zxcvb ${ g ` ` } ` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(4); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("x"); - verify.currentParameterSpanIs("x: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 4, + parameterCount: 4, + parameterName: "x", + parameterSpan: "x: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts index 4c8ce2cd917..526aea35957 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts @@ -5,12 +5,11 @@ //// //// f ` qwerty ${ 123 } asdf ${/*1*/ /*2*/ /*3*/41/*4*/234/*5*/ /*6*/} zxcvb ${ g ` ` } ` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(4); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("y"); - verify.currentParameterSpanIs("y: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 4, + parameterCount: 4, + parameterName: "y", + parameterSpan: "y: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts index 03ef244e719..4b29879047f 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts @@ -5,12 +5,11 @@ //// //// f ` qwerty ${ 123 } asdf ${ 41234 } zxcvb ${/*1*/ /*2*/g/*3*/ /*4*/` `/*5*/ /*6*/} ` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(4); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("z"); - verify.currentParameterSpanIs("z: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 4, + parameterCount: 4, + parameterName: "z", + parameterSpan: "z: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts index 67ab1199be8..a0455fe0116 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts @@ -5,12 +5,11 @@ //// //// f ` qwerty ${ 123 } asdf ${ 41234 } zxcvb ${ g `/*1*/ /*2*/ /*3*/` } ` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(1); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('g(templateStrings: any, x: any, y: any, z: any): string'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "g(templateStrings: any, x: any, y: any, z: any): string", + argumentCount: 1, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts index cd17ddd1027..bd5456ccdd0 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts @@ -5,12 +5,11 @@ //// //// f `/*1*/ /*2*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(1); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 1, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts index 2995c6cdcd8..7c50431f62f 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts @@ -5,12 +5,11 @@ //// //// f `/*1*/ /*2*/${ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(2); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 2, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts index d1ceebfb1b0..c8ed457422e 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts @@ -5,12 +5,11 @@ //// //// f ` ${/*1*/ /*2*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(2); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("x"); - verify.currentParameterSpanIs("x: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 2, + parameterCount: 4, + parameterName: "x", + parameterSpan: "x: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts index 211fa66f594..375a3d919ec 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts @@ -5,12 +5,11 @@ //// //// f ` ${ }/*1*/ /*2*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(2); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 2, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts index 79432077ce9..275dd2b5360 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts @@ -5,12 +5,11 @@ //// //// f ` ${ } ${/*1*/ /*2*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("y"); - verify.currentParameterSpanIs("y: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 3, + parameterCount: 4, + parameterName: "y", + parameterSpan: "y: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts index 18ffdbe3bf0..fa02e910637 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts @@ -5,12 +5,11 @@ //// //// f ` ${ } ${ }/*1*/ /*2*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 3, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts index fdd6f22554d..c283d2e0053 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts @@ -5,12 +5,11 @@ //// //// f ` ${ 123 } ${/*1*/ } ` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("y"); - verify.currentParameterSpanIs("y: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 3, + parameterCount: 4, + parameterName: "y", + parameterSpan: "y: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts index 9bc4a535564..b375bcc30d2 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts @@ -8,12 +8,11 @@ //// /*6*/\\\/*7*/ //// /*8*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 3, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts index 05ab05c3e6c..1224f317f01 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts @@ -5,12 +5,11 @@ //// //// f `/*1*/\/*2*/`/*3*/ /*4*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(1); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 1, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts index 597ec928bb9..5635cf2a418 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts @@ -5,12 +5,11 @@ //// //// f `/*1*/ \\\/*2*/`/*3*/ /*4*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - verify.signatureHelpArgumentCountIs(1); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: any"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + argumentCount: 1, + parameterCount: 4, + parameterName: "templateStrings", + parameterSpan: "templateStrings: any", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts index 10f9f81fa61..7d3fcdb10b3 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts @@ -5,4 +5,4 @@ //// //// /*1*/f/*2*/ /*3*/` qwerty ${ 123 } asdf ${ 41234 } zxcvb ${ g ` ` } `/*4*/ -goTo.eachMarker(() => verify.not.signatureHelpPresent()); \ No newline at end of file +verify.noSignatureHelp(...test.markerNames()); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts index da21fda631c..bc1c25e93fd 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts @@ -5,4 +5,4 @@ //// //// /*1*/fo/*2*/o /*3*/`abcd${0 + 1}abcd{1 + 1}`/*4*/ /*5*/ -goTo.eachMarker(() => verify.not.signatureHelpPresent()); \ No newline at end of file +verify.noSignatureHelp(...test.markerNames()); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts index 9ccbe927a57..ce6eae0911e 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts @@ -5,4 +5,4 @@ //// //// /*1*/fo/*2*/o /*3*/`abcd${0 + 1}abcd{1 + 1}abcd`/*4*/ /*5*/ -goTo.eachMarker(() => verify.not.signatureHelpPresent()); \ No newline at end of file +verify.noSignatureHelp(...test.markerNames()); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts index 825afd265ab..7f0f554f568 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts @@ -5,4 +5,4 @@ //// //// /*1*/fo/*2*/o /*3*/``/*4*/ /*5*/ -goTo.eachMarker(() => verify.not.signatureHelpPresent()); \ No newline at end of file +verify.noSignatureHelp(...test.markerNames()); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts index 5b14b627f6a..cbcd570cc56 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts @@ -5,4 +5,4 @@ //// //// /*1*/fo/*2*/o /*3*/`abcd`/*4*/ -goTo.eachMarker(() => verify.not.signatureHelpPresent()); \ No newline at end of file +verify.noSignatureHelp(...test.markerNames()); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts index 313e55bf517..e8c39a633a0 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts @@ -5,9 +5,8 @@ //// //// f `a ${ g `/*1*/alpha/*2*/ ${/*3*/ 12/*4*/3 /*5*/} beta /*6*/${ /*7*/456 /*8*/} gamma/*9*/` } b ${ g `/*10*/txt/*11*/` } c ${ g `/*12*/aleph /*13*/$/*14*/{ 12/*15*/3 } beit/*16*/` } d`; -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('g(templateStrings: any, x: any, y: any, z: any): string'); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "g(templateStrings: any, x: any, y: any, z: any): string", + parameterCount: 4, +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts index aa04e425998..32a64402ee3 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts @@ -5,9 +5,8 @@ //// //// f `/*1*/a $/*2*/{ /*3*/g /*4*/`alpha ${ 123 } beta ${ 456 } gamma`/*5*/ }/*6*/ b $/*7*/{ /*8*/g /*9*/`txt`/*10*/ } /*11*/c ${ /*12*/g /*13*/`aleph ${ 123 } beit`/*14*/ } d/*15*/`; -goTo.eachMarker(() => { - verify.signatureHelpCountIs(1); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: any, x: any, y: any, z: any): number'); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + text: "f(templateStrings: any, x: any, y: any, z: any): number", + parameterCount: 4, +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts index 54aee5887b8..7d119a4d3e8 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts @@ -7,12 +7,12 @@ //// //// f `/*1*/ /*2*/$/*3*/{ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(2); - - verify.currentSignatureParameterCountIs(2); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o1: string): number'); - verify.currentParameterHelpArgumentNameIs("templateStrings"); - verify.currentParameterSpanIs("templateStrings: string[]"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o1: string): number", + argumentCount: 2, + parameterCount: 2, + parameterName: "templateStrings", + parameterSpan: "templateStrings: string[]", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts index 9cbd20a49d2..9bd062cf62f 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts @@ -7,12 +7,12 @@ //// //// f `${/*1*/ /*2*/ /*3*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(2); - - verify.currentSignatureParameterCountIs(2); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o1: string): number'); - verify.currentParameterHelpArgumentNameIs("p1_o1"); - verify.currentParameterSpanIs("p1_o1: string"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o1: string): number", + argumentCount: 2, + parameterCount: 2, + parameterName: "p1_o1", + parameterSpan: "p1_o1: string", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts index a9b91dbf438..3a76cbc1ada 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts @@ -7,12 +7,12 @@ //// //// f `${/*1*/ "s/*2*/tring" /*3*/ } ${ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean'); - verify.currentParameterHelpArgumentNameIs("p1_o3"); - verify.currentParameterSpanIs("p1_o3: string"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean", + argumentCount: 3, + parameterCount: 4, + parameterName: "p1_o3", + parameterSpan: "p1_o3: string", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts index 96ff7c4683a..fbf66ddd58e 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts @@ -7,12 +7,11 @@ //// //// f `${/*1*/ 123.456/*2*/ /*3*/ } ${ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string'); - verify.currentParameterHelpArgumentNameIs("p1_o2"); - verify.currentParameterSpanIs("p1_o2: number"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string", + parameterCount: 4, + parameterName: "p1_o2", + parameterSpan: "p1_o2: number", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts index 52a1e3f74be..dc4dc4db7ae 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts @@ -7,12 +7,12 @@ //// //// f `${ } ${/*1*/ /*2*/ /*3*/ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string'); - verify.currentParameterHelpArgumentNameIs("p2_o2"); - verify.currentParameterSpanIs("p2_o2: number"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string", + argumentCount: 3, + parameterCount: 4, + parameterName: "p2_o2", + parameterSpan: "p2_o2: number", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts index b34df14e926..e012ec63665 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts @@ -7,12 +7,12 @@ //// //// f `${ } ${/*1*/ /*2*/ /*3*/} -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string'); - verify.currentParameterHelpArgumentNameIs("p2_o2"); - verify.currentParameterSpanIs("p2_o2: number"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string", + argumentCount: 3, + parameterCount: 4, + parameterName: "p2_o2", + parameterSpan: "p2_o2: number", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts index 26a80e36f6f..f61b0921ebf 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts @@ -7,12 +7,12 @@ //// //// f `${ } ${/*1*/ fa/*2*/lse /*3*/} -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean'); - verify.currentParameterHelpArgumentNameIs("p2_o3"); - verify.currentParameterSpanIs("p2_o3: boolean"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean", + argumentCount: 3, + parameterCount: 4, + parameterName: "p2_o3", + parameterSpan: "p2_o3: boolean", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts index 6b9daa60dcc..58ad3426f78 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts @@ -7,12 +7,12 @@ //// //// f `${ undefined } ${ undefined } ${/*1*/ 10/*2*/./*3*/01 /*4*/} ` -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(4); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string'); - verify.currentParameterHelpArgumentNameIs("p3_o2"); - verify.currentParameterSpanIs("p3_o2: number"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string", + argumentCount: 4, + parameterCount: 4, + parameterName: "p3_o2", + parameterSpan: "p3_o2: number", +}); diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts index cbcc55a2f22..daf0a55965e 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts @@ -7,12 +7,12 @@ //// //// f `${/*1*/ /*2*/ /*3*/} ${ -goTo.eachMarker(() => { - verify.signatureHelpCountIs(3); - verify.signatureHelpArgumentCountIs(3); - - verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string'); - verify.currentParameterHelpArgumentNameIs("p1_o2"); - verify.currentParameterSpanIs("p1_o2: number"); -}); \ No newline at end of file +verify.signatureHelp({ + marker: test.markerNames(), + overloadsCount: 3, + text: "f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string", + argumentCount: 3, + parameterCount: 4, + parameterName: "p1_o2", + parameterSpan: "p1_o2: number", +}); diff --git a/tests/cases/fourslash/signatureHelpThis.ts b/tests/cases/fourslash/signatureHelpThis.ts index 2ac19c823c0..b5600b8b778 100644 --- a/tests/cases/fourslash/signatureHelpThis.ts +++ b/tests/cases/fourslash/signatureHelpThis.ts @@ -28,16 +28,7 @@ ////let o = { n: 14, m: explicitLiteral }; ////o.m(/*6*/); - -goTo.marker('1'); -verify.currentParameterHelpArgumentNameIs("n"); -goTo.marker('2'); -verify.currentParameterHelpArgumentNameIs("n"); -goTo.marker('3'); -verify.currentParameterHelpArgumentNameIs("n"); -goTo.marker('4'); -verify.currentParameterHelpArgumentNameIs("x"); -goTo.marker('5'); -verify.currentParameterHelpArgumentNameIs("x"); -goTo.marker('6'); -verify.currentParameterHelpArgumentNameIs("x"); +verify.signatureHelp( + { marker: ["1", "2", "3"], parameterName: "n" }, + { marker: ["4", "5", "6"], parameterName: "x" }, +); diff --git a/tests/cases/fourslash/signatureHelpTypeParametersNotVariadic.ts b/tests/cases/fourslash/signatureHelpTypeParametersNotVariadic.ts index 30b0bac7e71..54b576ad7f8 100644 --- a/tests/cases/fourslash/signatureHelpTypeParametersNotVariadic.ts +++ b/tests/cases/fourslash/signatureHelpTypeParametersNotVariadic.ts @@ -3,6 +3,4 @@ //// declare function f(a: any, ...b: any[]): any; //// f(1, 2); -goTo.marker("1"); -verify.signatureHelpArgumentCountIs(0); -verify.signatureHelpCurrentArgumentListIsVariadic(false); \ No newline at end of file +verify.signatureHelp({ marker: "1", argumentCount: 0, isVariadic: false }); diff --git a/tests/cases/fourslash/signatureHelpWhenEditingCallExpression.ts b/tests/cases/fourslash/signatureHelpWhenEditingCallExpression.ts index 61e51d0a4e7..334a6f30058 100644 --- a/tests/cases/fourslash/signatureHelpWhenEditingCallExpression.ts +++ b/tests/cases/fourslash/signatureHelpWhenEditingCallExpression.ts @@ -1,30 +1,32 @@ /// /////** -//// * Returns the substring at the specified location within a String object. -//// * @param start The zero-based index integer indicating the beginning of the substring. -//// * @param end Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. -//// * If end is omitted, the characters from start through the end of the original string are returned. -//// */ -////function foo(start: number, end?: number) { -//// return ""; -////} +//// * @param start The start +//// * @param end The end +//// * More text +//// */ +////declare function foo(start: number, end?: number); //// ////fo/*1*/ -goTo.marker('1'); -verify.not.signatureHelpPresent(); + +const tags: ReadonlyArray = [ + { name: "param", text: "start The start" }, + { name: "param", text: "end The end\nMore text" }, +]; +verify.noSignatureHelp("1"); edit.insert("o"); -verify.not.signatureHelpPresent(); +verify.noSignatureHelp(); edit.insert("("); -verify.currentParameterHelpArgumentDocCommentIs("The zero-based index integer indicating the beginning of the substring."); +verify.signatureHelp({ parameterDocComment: "The start", tags }); edit.insert("10,"); -verify.currentParameterHelpArgumentDocCommentIs("Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\nIf end is omitted, the characters from start through the end of the original string are returned."); +const help2: FourSlashInterface.VerifySignatureHelpOptions = { parameterDocComment: "The end\nMore text", tags }; +verify.signatureHelp(help2); edit.insert(" "); -verify.currentParameterHelpArgumentDocCommentIs("Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\nIf end is omitted, the characters from start through the end of the original string are returned."); +verify.signatureHelp(help2); edit.insert(", "); edit.backspace(3); -verify.currentParameterHelpArgumentDocCommentIs("Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\nIf end is omitted, the characters from start through the end of the original string are returned."); +verify.signatureHelp(help2); edit.insert("12"); -verify.currentParameterHelpArgumentDocCommentIs("Zero-based index integer indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\nIf end is omitted, the characters from start through the end of the original string are returned."); +verify.signatureHelp(help2); edit.insert(")"); -verify.not.signatureHelpPresent(); +verify.noSignatureHelp(); diff --git a/tests/cases/fourslash/signatureHelpWithInterfaceAsIdentifier.ts b/tests/cases/fourslash/signatureHelpWithInterfaceAsIdentifier.ts index cf89b4f4769..a9018217556 100644 --- a/tests/cases/fourslash/signatureHelpWithInterfaceAsIdentifier.ts +++ b/tests/cases/fourslash/signatureHelpWithInterfaceAsIdentifier.ts @@ -5,5 +5,4 @@ ////} ////C(/*1*/); -goTo.marker('1'); -verify.not.signatureHelpPresent(); \ No newline at end of file +verify.noSignatureHelp("1"); diff --git a/tests/cases/fourslash/signatureHelpWithInvalidArgumentList1.ts b/tests/cases/fourslash/signatureHelpWithInvalidArgumentList1.ts index f280adb1d9e..041cb8b76eb 100644 --- a/tests/cases/fourslash/signatureHelpWithInvalidArgumentList1.ts +++ b/tests/cases/fourslash/signatureHelpWithInvalidArgumentList1.ts @@ -3,7 +3,4 @@ ////function foo(a) { } ////foo(hello my name /**/is -goTo.marker(); -verify.signatureHelpPresent(); -verify.signatureHelpCountIs(1); - +verify.signatureHelp({ marker: "", text: "foo(a: any): void" }); diff --git a/tests/cases/fourslash/signatureHelpWithUnknown.ts b/tests/cases/fourslash/signatureHelpWithUnknown.ts index e2ade663484..894deb8c938 100644 --- a/tests/cases/fourslash/signatureHelpWithUnknown.ts +++ b/tests/cases/fourslash/signatureHelpWithUnknown.ts @@ -2,5 +2,10 @@ ////eval(\/*1*/ -goTo.marker("1"); -verify.signatureHelpCountIs(1); +verify.signatureHelp({ + marker: "1", + text: "eval(x: string): any", + docComment: "Evaluates JavaScript code and executes it.", + parameterDocComment: "A String value that contains valid JavaScript code.", + tags: [{ name: "param", text: "x A String value that contains valid JavaScript code." }], +}); diff --git a/tests/cases/fourslash/staticGenericOverloads1.ts b/tests/cases/fourslash/staticGenericOverloads1.ts index 547e8d5d2bf..e67b9df8d2d 100644 --- a/tests/cases/fourslash/staticGenericOverloads1.ts +++ b/tests/cases/fourslash/staticGenericOverloads1.ts @@ -11,12 +11,13 @@ ////var a = new A(); ////A.B(/**/ -goTo.marker(); -verify.signatureHelpCountIs(2); +verify.signatureHelp({ marker: "", overloadsCount: 2 }); edit.insert('a'); -verify.signatureHelpCountIs(2); -// verify.currentSignatureHelpIs('B(v: A): A') +verify.signatureHelp({ overloadsCount: 2 }); +// TODO: GH#23631 +// verify.signatureHelp({ text: "B(v: A): A" }); edit.insert('); A.B('); -verify.currentSignatureHelpIs('B(v: A<{}>): A<{}>'); +verify.signatureHelp({ overloadsCount: 2, text: "B(v: A<{}>): A<{}>" }); edit.insert('a'); -// verify.currentSignatureHelpIs('B(v: A): A') +// TODO: GH#23631 +// verify.signatureHelp({ text: "B(v: A): A" }); diff --git a/tests/cases/fourslash/superInsideInnerClass.ts b/tests/cases/fourslash/superInsideInnerClass.ts index 3b85179b0d8..98407179bad 100644 --- a/tests/cases/fourslash/superInsideInnerClass.ts +++ b/tests/cases/fourslash/superInsideInnerClass.ts @@ -11,5 +11,4 @@ //// } ////} -goTo.marker('1'); -verify.signatureHelpCountIs(0); +verify.noSignatureHelp("1"); diff --git a/tests/cases/fourslash/trailingCommaSignatureHelp.ts b/tests/cases/fourslash/trailingCommaSignatureHelp.ts index 4881571cd2b..1b7c097eece 100644 --- a/tests/cases/fourslash/trailingCommaSignatureHelp.ts +++ b/tests/cases/fourslash/trailingCommaSignatureHelp.ts @@ -9,7 +9,10 @@ ////function str(n: number, radix?: number): string { return ""; } edit.insert("str(1,"); -verify.currentParameterHelpArgumentNameIs("radix"); -verify.currentParameterHelpArgumentDocCommentIs("The radix"); -verify.currentSignatureHelpIs("str(n: number, radix: number): string"); -verify.currentSignatureHelpDocCommentIs("Stringifies a number with radix"); +verify.signatureHelp({ + text: "str(n: number, radix: number): string", + parameterName: "radix", + parameterDocComment: "The radix", + docComment: "Stringifies a number with radix", + tags: [{ name: "param", text: "radix The radix" }], +}); diff --git a/tests/cases/fourslash/tsxSignatureHelp1.ts b/tests/cases/fourslash/tsxSignatureHelp1.ts index a0fd59d11ec..56d4d8b5f7e 100644 --- a/tests/cases/fourslash/tsxSignatureHelp1.ts +++ b/tests/cases/fourslash/tsxSignatureHelp1.ts @@ -16,7 +16,7 @@ //// } //// function _buildMainButton({ onClick, children, className }: ButtonProps): JSX.Element { -//// return(); +//// return(); //// } //// export function MainButton(props: ButtonProps): JSX.Element { @@ -24,12 +24,15 @@ //// } //// let e1 = { children || 'MAIN BUTTON'}); +//// return(); //// } //// export function MainButton(buttonProps: ButtonProps): JSX.Element; @@ -30,12 +30,9 @@ //// } //// let e1 =