diff --git a/scripts/configurePrerelease.ts b/scripts/configurePrerelease.ts index da1984c13e0..2377b5d4712 100644 --- a/scripts/configurePrerelease.ts +++ b/scripts/configurePrerelease.ts @@ -56,13 +56,13 @@ function updateTsFile(tsFilePath: string, tsFileContents: string, majorMinor: st const majorMinorRgx = /export const versionMajorMinor = "(\d+\.\d+)"/; const majorMinorMatch = majorMinorRgx.exec(tsFileContents); assert(majorMinorMatch !== null, `The file seems to no longer have a string matching '${majorMinorRgx}'.`); - const parsedMajorMinor = majorMinorMatch[1]; + const parsedMajorMinor = majorMinorMatch![1]; assert(parsedMajorMinor === majorMinor, `versionMajorMinor does not match. ${tsFilePath}: '${parsedMajorMinor}'; package.json: '${majorMinor}'`); const versionRgx = /export const version = `\$\{versionMajorMinor\}\.(\d)(-dev)?`;/; const patchMatch = versionRgx.exec(tsFileContents); assert(patchMatch !== null, "The file seems to no longer have a string matching " + versionRgx.toString()); - const parsedPatch = patchMatch[1]; + const parsedPatch = patchMatch![1]; if (parsedPatch !== patch) { throw new Error(`patch does not match. ${tsFilePath}: '${parsedPatch}; package.json: '${patch}'`); } @@ -74,7 +74,7 @@ function parsePackageJsonVersion(versionString: string): { majorMinor: string, p const versionRgx = /(\d+\.\d+)\.(\d+)($|\-)/; const match = versionString.match(versionRgx); assert(match !== null, "package.json 'version' should match " + versionRgx.toString()); - return { majorMinor: match[1], patch: match[2] }; + return { majorMinor: match![1], patch: match![2] }; } /** e.g. 0-dev.20170707 */ diff --git a/scripts/tslint/rules/nextLineRule.ts b/scripts/tslint/rules/nextLineRule.ts index fa03746afc6..9de80793c62 100644 --- a/scripts/tslint/rules/nextLineRule.ts +++ b/scripts/tslint/rules/nextLineRule.ts @@ -52,8 +52,8 @@ function walk(ctx: Lint.WalkContext, checkCatch: boolean, checkElse: boole return; } - const tryClosingBrace = tryBlock.getLastToken(sourceFile); - const catchKeyword = catchClause.getFirstToken(sourceFile); + const tryClosingBrace = tryBlock.getLastToken(sourceFile)!; + const catchKeyword = catchClause.getFirstToken(sourceFile)!; const tryClosingBraceLoc = sourceFile.getLineAndCharacterOfPosition(tryClosingBrace.getEnd()); const catchKeywordLoc = sourceFile.getLineAndCharacterOfPosition(catchKeyword.getStart(sourceFile)); if (tryClosingBraceLoc.line === catchKeywordLoc.line) { diff --git a/scripts/tslint/rules/noInOperatorRule.ts b/scripts/tslint/rules/noInOperatorRule.ts index 448cf90cacd..95f052ccaa6 100644 --- a/scripts/tslint/rules/noInOperatorRule.ts +++ b/scripts/tslint/rules/noInOperatorRule.ts @@ -12,7 +12,7 @@ export class Rule extends Lint.Rules.AbstractRule { function walk(ctx: Lint.WalkContext): void { ts.forEachChild(ctx.sourceFile, recur); function recur(node: ts.Node): void { - if (node.kind === ts.SyntaxKind.InKeyword && node.parent!.kind === ts.SyntaxKind.BinaryExpression) { + if (node.kind === ts.SyntaxKind.InKeyword && node.parent.kind === ts.SyntaxKind.BinaryExpression) { ctx.addFailureAtNode(node, Rule.FAILURE_STRING); } } diff --git a/scripts/tslint/rules/noIncrementDecrementRule.ts b/scripts/tslint/rules/noIncrementDecrementRule.ts index ff2d81b1962..007d25919e1 100644 --- a/scripts/tslint/rules/noIncrementDecrementRule.ts +++ b/scripts/tslint/rules/noIncrementDecrementRule.ts @@ -28,7 +28,7 @@ function walk(ctx: Lint.WalkContext): void { } function check(node: ts.UnaryExpression): void { - if (!isAllowedLocation(node.parent!)) { + if (!isAllowedLocation(node.parent)) { ctx.addFailureAtNode(node, Rule.POSTFIX_FAILURE_STRING); } } @@ -47,7 +47,7 @@ function isAllowedLocation(node: ts.Node): boolean { // Can be in a comma operator in a for statement (`for (let a = 0, b = 10; a < b; a++, b--)`) case ts.SyntaxKind.BinaryExpression: return (node as ts.BinaryExpression).operatorToken.kind === ts.SyntaxKind.CommaToken && - node.parent!.kind === ts.SyntaxKind.ForStatement; + node.parent.kind === ts.SyntaxKind.ForStatement; default: return false; diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index fb1f62ddaf5..237553141f6 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2993,7 +2993,7 @@ namespace ts { } } - function typeToString(type: Type, enclosingDeclaration?: Node, flags: TypeFormatFlags = TypeFormatFlags.AllowUniqueESSymbolType, writer: EmitTextWriter = createTextWriter("")): string { + function typeToString(type: Type, enclosingDeclaration?: Node, flags: TypeFormatFlags = TypeFormatFlags.AllowUniqueESSymbolType | TypeFormatFlags.UseAliasDefinedOutsideCurrentScope, writer: EmitTextWriter = createTextWriter("")): string { const typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer); if (typeNode === undefined) return Debug.fail("should always get typenode"); const options = { removeComments: true }; @@ -3941,7 +3941,7 @@ namespace ts { } } - function typePredicateToString(typePredicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string { + function typePredicateToString(typePredicate: TypePredicate, enclosingDeclaration?: Node, flags: TypeFormatFlags = TypeFormatFlags.UseAliasDefinedOutsideCurrentScope, writer?: EmitTextWriter): string { return writer ? typePredicateToStringWorker(writer).getText() : usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer: EmitTextWriter) { @@ -24153,6 +24153,16 @@ namespace ts { } } + /** + * The name cannot be used as 'Object' of user defined types with special target. + */ + function checkClassNameCollisionWithObject(name: Identifier): void { + if (languageVersion === ScriptTarget.ES5 && name.escapedText === "Object" + && moduleKind !== ModuleKind.ES2015 && moduleKind !== ModuleKind.ESNext) { + error(name, Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 + } + } + /** * Check each type parameter and check that type parameters have no duplicate type parameter declarations */ @@ -24279,6 +24289,9 @@ namespace ts { checkTypeNameIsReserved(node.name, Diagnostics.Class_name_cannot_be_0); checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name); + if (!(node.flags & NodeFlags.Ambient)) { + checkClassNameCollisionWithObject(node.name); + } } checkTypeParameters(getEffectiveTypeParameterDeclarations(node)); checkExportsOnMergedDeclarations(node); @@ -24489,7 +24502,7 @@ namespace ts { continue; } - if (isPrototypeProperty(base) && isPrototypeProperty(derived) || base.flags & SymbolFlags.PropertyOrAccessor && derived.flags & SymbolFlags.PropertyOrAccessor) { + if (isPrototypeProperty(base) || base.flags & SymbolFlags.PropertyOrAccessor && derived.flags & SymbolFlags.PropertyOrAccessor) { // method is overridden with method or property/accessor is overridden with property/accessor - correct case continue; } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 1c38222b4b5..350272db44a 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1006,21 +1006,6 @@ namespace ts { return to; } - /** - * Appends a range of value to begin of an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - */ - export function prependRange(to: T[], from: ReadonlyArray | undefined): T[] | undefined { - if (from === undefined || from.length === 0) return to; - if (to === undefined) return from.slice(); - to.unshift(...from); - return to; - } - /** * @return Whether the value was added. */ diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 266233a7cdd..d5d8c459ee0 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2357,6 +2357,11 @@ "category": "Error", "code": 2724 }, + "Class name cannot be 'Object' when targeting ES5 with module {0}.": { + "category": "Error", + "code": 2725 + }, + "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index cd89248144b..03a89343045 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -6707,7 +6707,7 @@ namespace ts { createNode(SyntaxKind.JSDocParameterTag, atToken.pos); let comment: string | undefined; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - const nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + const nestedTypeLiteral = target !== PropertyLikeParse.CallbackParameter && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 5b39c79aeac..dcce6c3b1a8 100755 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -2670,6 +2670,11 @@ namespace ts { return isSameFile(filePath, out) || isSameFile(filePath, removeFileExtension(out) + Extension.Dts); } + // If declarationDir is specified, return if its a file in that directory + if (options.declarationDir && containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { + return true; + } + // If --outDir, check if file is in that directory if (options.outDir) { return containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); @@ -2678,8 +2683,8 @@ namespace ts { if (fileExtensionIsOneOf(filePath, supportedJavascriptExtensions) || fileExtensionIs(filePath, Extension.Dts)) { // Otherwise just check if sourceFile with the name exists const filePathWithoutExtension = removeFileExtension(filePath); - return !!getSourceFileByPath(combinePaths(filePathWithoutExtension, Extension.Ts) as Path) || - !!getSourceFileByPath(combinePaths(filePathWithoutExtension, Extension.Tsx) as Path); + return !!getSourceFileByPath((filePathWithoutExtension + Extension.Ts) as Path) || + !!getSourceFileByPath((filePathWithoutExtension + Extension.Tsx) as Path); } return false; } diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 3a632bb5ec3..b05cabcd85a 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -529,7 +529,7 @@ namespace ts { createVariableStatement(/*modifiers*/ undefined, createVariableDeclarationList(taggedTemplateStringDeclarations))); } - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); exitSubtree(ancestorFacts, HierarchyFacts.None, HierarchyFacts.None); return updateSourceFileNode( node, @@ -837,7 +837,7 @@ namespace ts { setEmitFlags(statement, EmitFlags.NoComments | EmitFlags.NoTokenSourceMaps); statements.push(statement); - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); const block = createBlock(setTextRange(createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); setEmitFlags(block, EmitFlags.NoComments); @@ -980,7 +980,7 @@ namespace ts { ); } - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); if (constructor) { prependCaptureNewTargetIfNeeded(statements, constructor, /*copyOnWrite*/ false); @@ -1896,7 +1896,7 @@ namespace ts { } const lexicalEnvironment = context.endLexicalEnvironment(); - prependRange(statements, lexicalEnvironment); + prependStatements(statements, lexicalEnvironment); prependCaptureNewTargetIfNeeded(statements, node, /*copyOnWrite*/ false); @@ -2712,7 +2712,7 @@ namespace ts { if (loopOutParameters.length) { copyOutParameters(loopOutParameters, CopyDirection.ToOutParameter, statements); } - prependRange(statements, lexicalEnvironment); + prependStatements(statements, lexicalEnvironment); loopBody = createBlock(statements, /*multiline*/ true); } diff --git a/src/compiler/transformers/es2017.ts b/src/compiler/transformers/es2017.ts index 8cc9cf3a3a0..a118e349ac3 100644 --- a/src/compiler/transformers/es2017.ts +++ b/src/compiler/transformers/es2017.ts @@ -413,7 +413,7 @@ namespace ts { ) ); - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); const block = createBlock(statements, /*multiLine*/ true); setTextRange(block, node.body); diff --git a/src/compiler/transformers/esnext.ts b/src/compiler/transformers/esnext.ts index a1d6631072f..a0ab03a9731 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -663,7 +663,7 @@ namespace ts { ) ); - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); const block = updateBlock(node.body!, statements); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. @@ -695,7 +695,7 @@ namespace ts { const leadingStatements = endLexicalEnvironment(); if (statementOffset > 0 || some(statements) || some(leadingStatements)) { const block = convertToFunctionBody(body, /*multiLine*/ true); - prependRange(statements, leadingStatements); + prependStatements(statements, leadingStatements); addRange(statements, block.statements.slice(statementOffset)); return updateBlock(block, setTextRange(createNodeArray(statements), block.statements)); } diff --git a/src/compiler/transformers/generators.ts b/src/compiler/transformers/generators.ts index f796d64d03d..4752f4e4574 100644 --- a/src/compiler/transformers/generators.ts +++ b/src/compiler/transformers/generators.ts @@ -587,7 +587,7 @@ namespace ts { transformAndEmitStatements(body.statements, statementOffset); const buildResult = build(); - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); statements.push(createReturn(buildResult)); // Restore previous generator state diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 86d0a6bc952..50595d960e1 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -97,7 +97,7 @@ namespace ts { append(statements, visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, isStatement)); addRange(statements, visitNodes(node.statements, sourceElementVisitor, isStatement, statementOffset)); addExportEqualsIfNeeded(statements, /*emitAsReturn*/ false); - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); const updated = updateSourceFileNode(node, setTextRange(createNodeArray(statements), node.statements)); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { @@ -426,7 +426,7 @@ namespace ts { // End the lexical environment for the module body // and merge any new lexical declarations. - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); const body = createBlock(statements, /*multiLine*/ true); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { diff --git a/src/compiler/transformers/module/system.ts b/src/compiler/transformers/module/system.ts index 4ff4d5b4e7f..9cad3cbb97c 100644 --- a/src/compiler/transformers/module/system.ts +++ b/src/compiler/transformers/module/system.ts @@ -257,7 +257,7 @@ namespace ts { // We emit hoisted variables early to align roughly with our previous emit output. // Two key differences in this approach are: // - Temporary variables will appear at the top rather than at the bottom of the file - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); const exportStarFunction = addExportStarIfNeeded(statements)!; // TODO: GH#18217 const moduleObject = createObjectLiteral([ diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index 4198de8d0db..5ae6bcb8b32 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -669,7 +669,7 @@ namespace ts { setEmitFlags(statement, EmitFlags.NoComments | EmitFlags.NoTokenSourceMaps); statements.push(statement); - prependRange(statements, context.endLexicalEnvironment()); + prependStatements(statements, context.endLexicalEnvironment()); const iife = createImmediatelyInvokedArrowFunction(statements); setEmitFlags(iife, EmitFlags.TypeScriptClassWrapper); @@ -2693,7 +2693,7 @@ namespace ts { const statements: Statement[] = []; startLexicalEnvironment(); const members = map(node.members, transformEnumMember); - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; @@ -3008,7 +3008,7 @@ namespace ts { statementsLocation = moveRangePos(moduleBlock.statements, -1); } - prependRange(statements, endLexicalEnvironment()); + prependStatements(statements, endLexicalEnvironment()); currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index d25d41e6bba..a3da44c5b1f 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -254,6 +254,25 @@ namespace ts { return !nodeIsMissing(node); } + /** + * Appends a range of value to begin of an array, returning the array. + * + * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array + * is created if `value` was appended. + * @param from The values to append to the array. If `from` is `undefined`, nothing is + * appended. If an element of `from` is `undefined`, that element is not appended. + */ + export function prependStatements(to: T[], from: ReadonlyArray | undefined): T[] | undefined { + if (from === undefined || from.length === 0) return to; + if (to === undefined) return from.slice(); + const prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift(...from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + /** * Determine if the given comment is a triple-slash * diff --git a/src/compiler/visitor.ts b/src/compiler/visitor.ts index 1b9853e9f86..5f35a3027dc 100644 --- a/src/compiler/visitor.ts +++ b/src/compiler/visitor.ts @@ -1469,7 +1469,7 @@ namespace ts { return isNodeArray(statements) ? setTextRange(createNodeArray(concatenate(declarations, statements)), statements) - : prependRange(statements, declarations); + : prependStatements(statements, declarations); } /** diff --git a/src/harness/parallel/host.ts b/src/harness/parallel/host.ts index 2ecccf94540..99e9b541b85 100644 --- a/src/harness/parallel/host.ts +++ b/src/harness/parallel/host.ts @@ -13,6 +13,13 @@ namespace Harness.Parallel.Host { on(event: "message", listener: (message: ParallelClientMessage) => void): this; kill(signal?: string): void; currentTasks?: {file: string}[]; // Custom monkeypatch onto child process handle + accumulatedOutput: string; // Custom monkeypatch with process output + stderr: PartialStream; + stdout: PartialStream; + } + + interface PartialStream { + on(event: "data", listener: (chunk: Buffer) => void): this; } interface ProgressBarsOptions { @@ -151,7 +158,13 @@ namespace Harness.Parallel.Host { const config: TestConfig = { light: lightMode, listenForWork: true, runUnitTests, stackTraceLimit }; const configPath = ts.combinePaths(taskConfigsFolder, `task-config${i}.json`); IO.writeFile(configPath, JSON.stringify(config)); - const child = fork(__filename, [`--config="${configPath}"`]); + const child = fork(__filename, [`--config="${configPath}"`], { stdio: ["pipe", "pipe", "pipe", "ipc"] }); + child.accumulatedOutput = ""; + const appendOutput = (d: Buffer) => { + child.accumulatedOutput += d.toString(); + }; + child.stderr.on("data", appendOutput); + child.stdout.on("data", appendOutput); let currentTimeout = defaultTimeout; const killChild = () => { child.kill(); @@ -166,8 +179,10 @@ namespace Harness.Parallel.Host { return process.exit(2); }); child.on("exit", (code, _signal) => { + clearTimeout(timer); if (code !== 0) { - console.error("Test worker process exited with nonzero exit code!"); + console.error(`Test worker process exited with nonzero exit code! Output: +${child.accumulatedOutput}`); return process.exit(2); } }); @@ -223,6 +238,7 @@ namespace Harness.Parallel.Host { // No more tasks to distribute child.send({ type: "close" }); closedWorkers++; + clearTimeout(timer); if (closedWorkers === workerCount) { outputFinalResult(); } diff --git a/src/harness/unittests/tscWatchMode.ts b/src/harness/unittests/tscWatchMode.ts index f2ef80ce515..44b6c8ea887 100644 --- a/src/harness/unittests/tscWatchMode.ts +++ b/src/harness/unittests/tscWatchMode.ts @@ -1116,34 +1116,53 @@ namespace ts.tscWatch { assert.equal(nowErrors[1].start, intialErrors[1].start! - configFileContentComment.length); }); - it("should not trigger recompilation because of program emit", () => { - const proj = "/user/username/projects/myproject"; - const file1: File = { - path: `${proj}/file1.ts`, - content: "export const c = 30;" - }; - const file2: File = { - path: `${proj}/src/file2.ts`, - content: `import {c} from "file1"; export const d = 30;` - }; - const tsconfig: File = { - path: `${proj}/tsconfig.json`, - content: JSON.stringify({ - compilerOptions: { - module: "amd", - outDir: "build" - } - }) - }; - const host = createWatchedSystem([file1, file2, libFile, tsconfig], { currentDirectory: proj }); - const watch = createWatchOfConfigFile(tsconfig.path, host, /*maxNumberOfFilesToIterateForInvalidation*/1); - checkProgramActualFiles(watch(), [file1.path, file2.path, libFile.path]); + describe("should not trigger should not trigger recompilation because of program emit", () => { + function verifyWithOptions(options: CompilerOptions, outputFiles: ReadonlyArray) { + const proj = "/user/username/projects/myproject"; + const file1: File = { + path: `${proj}/file1.ts`, + content: "export const c = 30;" + }; + const file2: File = { + path: `${proj}/src/file2.ts`, + content: `import {c} from "file1"; export const d = 30;` + }; + const tsconfig: File = { + path: `${proj}/tsconfig.json`, + content: generateTSConfig(options, emptyArray, "\n") + }; + const host = createWatchedSystem([file1, file2, libFile, tsconfig], { currentDirectory: proj }); + const watch = createWatchOfConfigFile(tsconfig.path, host, /*maxNumberOfFilesToIterateForInvalidation*/1); + checkProgramActualFiles(watch(), [file1.path, file2.path, libFile.path]); - assert.isTrue(host.fileExists("build/file1.js")); - assert.isTrue(host.fileExists("build/src/file2.js")); + outputFiles.forEach(f => host.fileExists(f)); - // This should be 0 - host.checkTimeoutQueueLengthAndRun(0); + // This should be 0 + host.checkTimeoutQueueLengthAndRun(0); + } + + it("without outDir or outFile is specified", () => { + debugger; + verifyWithOptions({ module: ModuleKind.AMD }, ["file1.js", "src/file2.js"]); + }); + + it("with outFile", () => { + verifyWithOptions({ module: ModuleKind.AMD, outFile: "build/outFile.js" }, ["build/outFile.js"]); + }); + + it("when outDir is specified", () => { + verifyWithOptions({ module: ModuleKind.AMD, outDir: "build" }, ["build/file1.js", "build/src/file2.js"]); + }); + + it("when outDir and declarationDir is specified", () => { + verifyWithOptions({ module: ModuleKind.AMD, outDir: "build", declaration: true, declarationDir: "decls" }, + ["build/file1.js", "build/src/file2.js", "decls/file1.d.ts", "decls/src/file2.d.ts"]); + }); + + it("declarationDir is specified", () => { + verifyWithOptions({ module: ModuleKind.AMD, declaration: true, declarationDir: "decls" }, + ["file1.js", "src/file2.js", "decls/file1.d.ts", "decls/src/file2.d.ts"]); + }); }); it("shouldnt report error about unused function incorrectly when file changes from global to module", () => { diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index 28a8bdb114a..f6efe8b99dd 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -8314,7 +8314,7 @@ new C();` }); }); - describe("watchDirectories implementation", () => { + describe("tsserverProjectSystem watchDirectories implementation", () => { function verifyCompletionListWithNewFileInSubFolder(tscWatchDirectory: TestFSWithWatch.Tsc_WatchDirectory) { const projectFolder = "/a/username/project"; const projectSrcFolder = `${projectFolder}/src`; @@ -8422,7 +8422,7 @@ new C();` }); }); - describe("document registry in project service", () => { + describe("tsserverProjectSystem document registry in project service", () => { const projectRootPath = "/user/username/projects/project"; const importModuleContent = `import {a} from "./module1"`; const file: File = { diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index 3607e3e8488..7581c49286b 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1008,6 +1008,15 @@ + + + + + + + + + @@ -1125,6 +1134,15 @@ + + + + + + + + + @@ -2376,6 +2394,15 @@ + + + + + + + + + @@ -2538,6 +2565,15 @@ + + + + + + + + + @@ -6564,6 +6600,15 @@ + + + + + + + + + @@ -6603,6 +6648,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index bbedf489c37..0d661980ba6 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2394,6 +2394,15 @@ + + + + + + + + + @@ -2556,6 +2565,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl index d64721cd90e..fc9952d3b43 100644 --- a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1017,6 +1017,15 @@ + + + + + + + + + @@ -1134,6 +1143,15 @@ + + + + + + + + + @@ -2385,6 +2403,15 @@ + + + + + + + + + @@ -2547,6 +2574,15 @@ + + + + + + + + + @@ -6573,6 +6609,15 @@ + + + + + + + + + @@ -6612,6 +6657,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl index ea95d1bda8c..de37564b0cb 100644 --- a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1005,6 +1005,15 @@ + + + + + + + + + @@ -1122,6 +1131,15 @@ + + + + + + + + + @@ -2373,6 +2391,15 @@ + + + + + + + + + @@ -2535,6 +2562,15 @@ + + + + + + + + + @@ -6558,6 +6594,15 @@ + + + + + + + + + @@ -6597,6 +6642,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 7a76969651e..3688383b060 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1019,10 +1019,13 @@ - + - + + + + @@ -1143,6 +1146,15 @@ + + + + + + + + + @@ -2556,6 +2568,12 @@ + + + + + + @@ -6585,6 +6603,9 @@ + + + @@ -6630,6 +6651,18 @@ + + + + + + + + + + + + diff --git a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl index 4f11a5ceaf9..b49cfdfe469 100644 --- a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1008,6 +1008,15 @@ + + + + + + + + + @@ -1125,6 +1134,15 @@ + + + + + + + + + @@ -2376,6 +2394,15 @@ + + + + + + + + + @@ -2538,6 +2565,15 @@ + + + + + + + + + @@ -6564,6 +6600,15 @@ + + + + + + + + + @@ -6603,6 +6648,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index d034fc6882f..04e562b0fd4 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1008,6 +1008,15 @@ + + + + + + + + + @@ -1125,6 +1134,15 @@ + + + + + + + + + @@ -2538,6 +2556,12 @@ + + + + + + @@ -6564,6 +6588,15 @@ + + + + + + + + + @@ -6603,6 +6636,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index 7c6b790800a..e61caabaf99 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -1008,6 +1008,15 @@ + + + + + + + + + @@ -1125,6 +1134,15 @@ + + + + + + + + + @@ -2376,6 +2394,15 @@ + + + + + + + + + @@ -2538,6 +2565,15 @@ + + + + + + + + + @@ -6564,6 +6600,15 @@ + + + + + + + + + @@ -6603,6 +6648,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 9d9522d2d38..63032699b0e 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2384,6 +2384,15 @@ + + + + + + + + + @@ -2549,6 +2558,9 @@ + + + diff --git a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl index 5ec3b07f2ef..c9be251b033 100644 --- a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2393,6 +2393,15 @@ + + + + + + + + + @@ -2555,6 +2564,15 @@ + + + + + + + + + diff --git a/src/server/typingsInstaller/nodeTypingsInstaller.ts b/src/server/typingsInstaller/nodeTypingsInstaller.ts index 7132a93f3ef..6de5d9e1e0c 100644 --- a/src/server/typingsInstaller/nodeTypingsInstaller.ts +++ b/src/server/typingsInstaller/nodeTypingsInstaller.ts @@ -2,8 +2,7 @@ namespace ts.server.typingsInstaller { const fs: { - appendFileSync(file: string, content: string): void; - existsSync(path: string): boolean; + appendFileSync(file: string, content: string): void } = require("fs"); const path: { @@ -33,12 +32,11 @@ namespace ts.server.typingsInstaller { /** Used if `--npmLocation` is not passed. */ function getDefaultNPMLocation(processName: string) { if (path.basename(processName).indexOf("node") === 0) { - const npmPath = `"${path.join(path.dirname(process.argv[0]), "npm")}"`; - if (fs.existsSync(npmPath)) { - return npmPath; - } + return `"${path.join(path.dirname(process.argv[0]), "npm")}"`; + } + else { + return "npm"; } - return "npm"; } interface TypesRegistryFile { diff --git a/src/services/codefixes/fixUnusedIdentifier.ts b/src/services/codefixes/fixUnusedIdentifier.ts index e2ef6e9ec3c..abff1a5a02f 100644 --- a/src/services/codefixes/fixUnusedIdentifier.ts +++ b/src/services/codefixes/fixUnusedIdentifier.ts @@ -14,7 +14,8 @@ namespace ts.codefix { registerCodeFix({ errorCodes, getCodeActions(context) { - const { errorCode, sourceFile } = context; + const { errorCode, sourceFile, program } = context; + const checker = program.getTypeChecker(); const startToken = getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false); const importDecl = tryGetFullImport(startToken); @@ -22,7 +23,7 @@ namespace ts.codefix { const changes = textChanges.ChangeTracker.with(context, t => t.deleteNode(sourceFile, importDecl)); return [createCodeFixAction(fixName, changes, [Diagnostics.Remove_import_from_0, showModuleSpecifier(importDecl)], fixIdDelete, Diagnostics.Delete_all_unused_declarations)]; } - const delDestructure = textChanges.ChangeTracker.with(context, t => tryDeleteFullDestructure(t, sourceFile, startToken, /*deleted*/ undefined)); + const delDestructure = textChanges.ChangeTracker.with(context, t => tryDeleteFullDestructure(t, sourceFile, startToken, /*deleted*/ undefined, checker, /*isFixAll*/ false)); if (delDestructure.length) { return [createCodeFixAction(fixName, delDestructure, Diagnostics.Remove_destructuring, fixIdDelete, Diagnostics.Delete_all_unused_declarations)]; } @@ -34,7 +35,7 @@ namespace ts.codefix { const token = getToken(sourceFile, textSpanEnd(context.span)); const result: CodeFixAction[] = []; - const deletion = textChanges.ChangeTracker.with(context, t => tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined)); + const deletion = textChanges.ChangeTracker.with(context, t => tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined, checker, /*isFixAll*/ false)); if (deletion.length) { result.push(createCodeFixAction(fixName, deletion, [Diagnostics.Remove_declaration_for_Colon_0, token.getText(sourceFile)], fixIdDelete, Diagnostics.Delete_all_unused_declarations)); } @@ -50,8 +51,9 @@ namespace ts.codefix { getAllCodeActions: context => { // Track a set of deleted nodes that may be ancestors of other marked for deletion -- only delete the ancestors. const deleted = new NodeSet(); + const { sourceFile, program } = context; + const checker = program.getTypeChecker(); return codeFixAll(context, errorCodes, (changes, diag) => { - const { sourceFile } = context; const startToken = getTokenAtPosition(sourceFile, diag.start, /*includeJsDocComment*/ false); const token = findPrecedingToken(textSpanEnd(diag), diag.file)!; switch (context.fixId) { @@ -68,8 +70,9 @@ namespace ts.codefix { if (importDecl) { changes.deleteNode(sourceFile, importDecl); } - else if (!tryDeleteFullDestructure(changes, sourceFile, startToken, deleted) && !tryDeleteFullVariableStatement(changes, sourceFile, startToken, deleted)) { - tryDeleteDeclaration(changes, sourceFile, token, deleted); + else if (!tryDeleteFullDestructure(changes, sourceFile, startToken, deleted, checker, /*isFixAll*/ true) && + !tryDeleteFullVariableStatement(changes, sourceFile, startToken, deleted)) { + tryDeleteDeclaration(changes, sourceFile, token, deleted, checker, /*isFixAll*/ true); } break; default: @@ -84,7 +87,7 @@ namespace ts.codefix { return startToken.kind === SyntaxKind.ImportKeyword ? tryCast(startToken.parent, isImportDeclaration) : undefined; } - function tryDeleteFullDestructure(changes: textChanges.ChangeTracker, sourceFile: SourceFile, startToken: Node, deletedAncestors: NodeSet | undefined): boolean { + function tryDeleteFullDestructure(changes: textChanges.ChangeTracker, sourceFile: SourceFile, startToken: Node, deletedAncestors: NodeSet | undefined, checker: TypeChecker, isFixAll: boolean): boolean { if (startToken.kind !== SyntaxKind.OpenBraceToken || !isObjectBindingPattern(startToken.parent)) return false; const decl = cast(startToken.parent, isObjectBindingPattern).parent; switch (decl.kind) { @@ -92,6 +95,7 @@ namespace ts.codefix { tryDeleteVariableDeclaration(changes, sourceFile, decl, deletedAncestors); break; case SyntaxKind.Parameter: + if (!mayDeleteParameter(decl, checker, isFixAll)) break; if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNodeInList(sourceFile, decl); break; @@ -144,10 +148,10 @@ namespace ts.codefix { return false; } - function tryDeleteDeclaration(changes: textChanges.ChangeTracker, sourceFile: SourceFile, token: Node, deletedAncestors: NodeSet | undefined): void { + function tryDeleteDeclaration(changes: textChanges.ChangeTracker, sourceFile: SourceFile, token: Node, deletedAncestors: NodeSet | undefined, checker: TypeChecker, isFixAll: boolean): void { switch (token.kind) { case SyntaxKind.Identifier: - tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors); + tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors, checker, isFixAll); break; case SyntaxKind.PropertyDeclaration: case SyntaxKind.NamespaceImport: @@ -170,7 +174,7 @@ namespace ts.codefix { } } - function tryDeleteIdentifier(changes: textChanges.ChangeTracker, sourceFile: SourceFile, identifier: Identifier, deletedAncestors: NodeSet | undefined): void { + function tryDeleteIdentifier(changes: textChanges.ChangeTracker, sourceFile: SourceFile, identifier: Identifier, deletedAncestors: NodeSet | undefined, checker: TypeChecker, isFixAll: boolean): void { const parent = identifier.parent; switch (parent.kind) { case SyntaxKind.VariableDeclaration: @@ -194,11 +198,8 @@ namespace ts.codefix { break; case SyntaxKind.Parameter: + if (!mayDeleteParameter(parent as ParameterDeclaration, checker, isFixAll)) break; const oldFunction = parent.parent; - if (isSetAccessor(oldFunction)) { - // Setter must have a parameter - break; - } if (isArrowFunction(oldFunction) && oldFunction.parameters.length === 1) { // Lambdas with exactly one parameter are special because, after removal, there @@ -347,4 +348,35 @@ namespace ts.codefix { } } } + + function mayDeleteParameter(p: ParameterDeclaration, checker: TypeChecker, isFixAll: boolean) { + const parent = p.parent; + switch (parent.kind) { + case SyntaxKind.MethodDeclaration: + // Don't remove a parameter if this overrides something + const symbol = checker.getSymbolAtLocation(parent.name)!; + if (isMemberSymbolInBaseType(symbol, checker)) return false; + // falls through + + case SyntaxKind.Constructor: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: { + // Can't remove a non-last parameter. Can remove a parameter in code-fix-all if future parameters are also unused. + const { parameters } = parent; + const index = parameters.indexOf(p); + Debug.assert(index !== -1); + return isFixAll + ? parameters.slice(index + 1).every(p => p.name.kind === SyntaxKind.Identifier && !p.symbol.isReferenced) + : index === parameters.length - 1; + } + + case SyntaxKind.SetAccessor: + // Setter must have a parameter + return false; + + default: + return Debug.failBadSyntaxKind(parent); + } + } } diff --git a/src/services/codefixes/moduleSpecifiers.ts b/src/services/codefixes/moduleSpecifiers.ts index 5279c3cb84f..5a08f7d3dea 100644 --- a/src/services/codefixes/moduleSpecifiers.ts +++ b/src/services/codefixes/moduleSpecifiers.ts @@ -16,15 +16,18 @@ namespace ts.moduleSpecifiers { const getCanonicalFileName = hostGetCanonicalFileName(host); const sourceDirectory = getDirectoryPath(importingSourceFile.fileName); - return getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()).map(moduleFileName => { - const global = tryGetModuleNameFromAmbientModule(moduleSymbol) - || tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) - || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) - || rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); - if (global) { - return [global]; - } + const ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); + if (ambient) return [[ambient]]; + const modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); + + const global = mapDefined(modulePaths, moduleFileName => + tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) || + tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) || + rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName)); + if (global.length) return global.map(g => [g]); + + return modulePaths.map(moduleFileName => { const relativePath = removeExtensionAndIndexPostFix(ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { return [relativePath]; @@ -191,11 +194,12 @@ namespace ts.moduleSpecifiers { // Simplify the full file path to something that can be resolved by Node. // If the module could be imported by a directory name, use that directory's name - let moduleSpecifier = getDirectoryOrExtensionlessFileName(moduleFileName); + const moduleSpecifier = getDirectoryOrExtensionlessFileName(moduleFileName); // Get a path that's relative to node_modules or the importing file's path - moduleSpecifier = getNodeResolvablePath(moduleSpecifier); + // if node_modules folder is in this folder or any of its parent folders, no need to keep it. + if (!startsWith(sourceDirectory, moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex))) return undefined; // If the module was found in @types, get the actual Node package name - return getPackageNameFromAtTypesDirectory(moduleSpecifier); + return getPackageNameFromAtTypesDirectory(moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1)); function getDirectoryOrExtensionlessFileName(path: string): string { // If the file is the main module, it can be imported by the package name @@ -224,17 +228,6 @@ namespace ts.moduleSpecifiers { return fullModulePathWithoutExtension; } - - function getNodeResolvablePath(path: string): string { - const basePath = path.substring(0, parts.topLevelNodeModulesIndex); - if (sourceDirectory.indexOf(basePath) === 0) { - // if node_modules folder is in this folder or any of its parent folders, no need to keep it. - return path.substring(parts.topLevelPackageNameIndex + 1); - } - else { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, path, getCanonicalFileName)); - } - } } interface NodeModulePathParts { diff --git a/src/services/completions.ts b/src/services/completions.ts index 56833298a64..45317be065e 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -895,6 +895,7 @@ namespace ts.Completions { node = (parent as QualifiedName).left; break; case SyntaxKind.ImportType: + case SyntaxKind.MetaProperty: node = parent; break; default: @@ -1061,6 +1062,12 @@ namespace ts.Completions { } } + if (isMetaProperty(node) && (node.keywordToken === SyntaxKind.NewKeyword || node.keywordToken === SyntaxKind.ImportKeyword)) { + const completion = (node.keywordToken === SyntaxKind.NewKeyword) ? "target" : "meta"; + symbols.push(typeChecker.createSymbol(SymbolFlags.Property, escapeLeadingUnderscores(completion))); + return; + } + if (!isTypeLocation) { addTypeProperties(typeChecker.getTypeAtLocation(node)!); } diff --git a/src/services/documentHighlights.ts b/src/services/documentHighlights.ts index e6a78e098e9..afae01e0c68 100644 --- a/src/services/documentHighlights.ts +++ b/src/services/documentHighlights.ts @@ -180,7 +180,7 @@ namespace ts.DocumentHighlights { default: // Don't cross function boundaries. // TODO: GH#20090 - return (isFunctionLike(node) && "quit") as false | "quit"; + return isFunctionLike(node) && "quit"; } }); } diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index cc13cfd28c4..f00046bd4ea 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -1399,34 +1399,6 @@ namespace ts.FindAllReferences.Core { } } - /** - * Find symbol of the given property-name and add the symbol to the given result array - * @param symbol a symbol to start searching for the given propertyName - * @param propertyName a name of property to search for - * @param result an array of symbol of found property symbols - * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. - * The value of previousIterationSymbol is undefined when the function is first called. - */ - function getPropertySymbolsFromBaseTypes(symbol: Symbol, propertyName: string, checker: TypeChecker, cb: (symbol: Symbol) => T | undefined): T | undefined { - const seen = createMap(); - return recur(symbol); - - function recur(symbol: Symbol): T | undefined { - // Use `addToSeen` to ensure we don't infinitely recurse in this situation: - // interface C extends C { - // /*findRef*/propName: string; - // } - if (!(symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) || !addToSeen(seen, getSymbolId(symbol))) return; - - return firstDefined(symbol.declarations, declaration => firstDefined(getAllSuperTypeNodes(declaration), typeReference => { - const type = checker.getTypeAtLocation(typeReference); - const propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); - // Visit the typeReference as well to see if it directly or indirectly uses that property - return propertySymbol && (firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type!.symbol)); - })); - } - } - function getRelatedSymbol(search: Search, referenceSymbol: Symbol, referenceLocation: Node, state: State): Symbol | undefined { const { checker } = state; return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts index 59251fe38b8..bfd371d1154 100644 --- a/src/services/jsDoc.ts +++ b/src/services/jsDoc.ts @@ -243,7 +243,7 @@ namespace ts.JsDoc { } const tokenAtPos = getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); - const tokenStart = tokenAtPos.getStart(); + const tokenStart = tokenAtPos.getStart(sourceFile); if (!tokenAtPos || tokenStart < position) { return undefined; } @@ -253,7 +253,7 @@ namespace ts.JsDoc { return undefined; } const { commentOwner, parameters } = commentOwnerInfo; - if (commentOwner.getStart() < position) { + if (commentOwner.getStart(sourceFile) < position) { return undefined; } @@ -268,19 +268,6 @@ namespace ts.JsDoc { // replace non-whitespace characters in prefix with spaces. const indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character).replace(/\S/i, () => " "); - const isJavaScriptFile = hasJavaScriptFileExtension(sourceFile.fileName); - - let docParams = ""; - for (let i = 0; i < parameters.length; i++) { - const currentName = parameters[i].name; - const paramName = currentName.kind === SyntaxKind.Identifier ? currentName.escapedText : "param" + i; - if (isJavaScriptFile) { - docParams += `${indentationStr} * @param {any} ${paramName}${newLine}`; - } - else { - docParams += `${indentationStr} * @param ${paramName}${newLine}`; - } - } // A doc comment consists of the following // * The opening comment line @@ -293,13 +280,21 @@ namespace ts.JsDoc { indentationStr + " * "; const result = preamble + newLine + - docParams + + parameterDocComments(parameters, hasJavaScriptFileExtension(sourceFile.fileName), indentationStr, newLine) + indentationStr + " */" + (tokenStart === position ? newLine + indentationStr : ""); return { newText: result, caretOffset: preamble.length }; } + function parameterDocComments(parameters: ReadonlyArray, isJavaScriptFile: boolean, indentationStr: string, newLine: string): string { + return parameters.map(({ name, dotDotDotToken }, i) => { + const paramName = name.kind === SyntaxKind.Identifier ? name.text : "param" + i; + const type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; + return `${indentationStr} * @param ${type}${paramName}${newLine}`; + }).join(""); + } + interface CommentOwnerInfo { readonly commentOwner: Node; readonly parameters?: ReadonlyArray; diff --git a/src/services/utilities.ts b/src/services/utilities.ts index cfbfcf261c6..85afcf9d7bf 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -1293,6 +1293,38 @@ namespace ts { return propSymbol; } + /** + * Find symbol of the given property-name and add the symbol to the given result array + * @param symbol a symbol to start searching for the given propertyName + * @param propertyName a name of property to search for + * @param result an array of symbol of found property symbols + * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. + * The value of previousIterationSymbol is undefined when the function is first called. + */ + export function getPropertySymbolsFromBaseTypes(symbol: Symbol, propertyName: string, checker: TypeChecker, cb: (symbol: Symbol) => T | undefined): T | undefined { + const seen = createMap(); + return recur(symbol); + + function recur(symbol: Symbol): T | undefined { + // Use `addToSeen` to ensure we don't infinitely recurse in this situation: + // interface C extends C { + // /*findRef*/propName: string; + // } + if (!(symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) || !addToSeen(seen, getSymbolId(symbol))) return; + + return firstDefined(symbol.declarations, declaration => firstDefined(getAllSuperTypeNodes(declaration), typeReference => { + const type = checker.getTypeAtLocation(typeReference); + const propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); + // Visit the typeReference as well to see if it directly or indirectly uses that property + return type && propertySymbol && (firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); + })); + } + } + + export function isMemberSymbolInBaseType(memberSymbol: Symbol, checker: TypeChecker): boolean { + return getPropertySymbolsFromBaseTypes(memberSymbol.parent!, memberSymbol.name, checker, _ => true) || false; + } + export class NodeSet { private map = createMap(); @@ -1473,7 +1505,7 @@ namespace ts { export function typeToDisplayParts(typechecker: TypeChecker, type: Type, enclosingDeclaration?: Node, flags: TypeFormatFlags = TypeFormatFlags.None): SymbolDisplayPart[] { return mapToDisplayParts(writer => { - typechecker.writeType(type, enclosingDeclaration, flags | TypeFormatFlags.MultilineObjectLiterals, writer); + typechecker.writeType(type, enclosingDeclaration, flags | TypeFormatFlags.MultilineObjectLiterals | TypeFormatFlags.UseAliasDefinedOutsideCurrentScope, writer); }); } diff --git a/tests/baselines/reference/SystemModuleForStatementNoInitializer.js b/tests/baselines/reference/SystemModuleForStatementNoInitializer.js index 059e6175b30..ff31b3c73e2 100644 --- a/tests/baselines/reference/SystemModuleForStatementNoInitializer.js +++ b/tests/baselines/reference/SystemModuleForStatementNoInitializer.js @@ -19,8 +19,8 @@ for (; ;) { //// [SystemModuleForStatementNoInitializer.js] System.register([], function (exports_1, context_1) { - var i, limit; "use strict"; + var i, limit; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/aliasesInSystemModule1.js b/tests/baselines/reference/aliasesInSystemModule1.js index 340a8f53e3c..468ff805b2d 100644 --- a/tests/baselines/reference/aliasesInSystemModule1.js +++ b/tests/baselines/reference/aliasesInSystemModule1.js @@ -17,8 +17,8 @@ module M { //// [aliasesInSystemModule1.js] System.register(["foo"], function (exports_1, context_1) { - var alias, cls, cls2, x, y, z, M; "use strict"; + var alias, cls, cls2, x, y, z, M; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/aliasesInSystemModule2.js b/tests/baselines/reference/aliasesInSystemModule2.js index 88875297b2f..af7208d5c99 100644 --- a/tests/baselines/reference/aliasesInSystemModule2.js +++ b/tests/baselines/reference/aliasesInSystemModule2.js @@ -16,8 +16,8 @@ module M { //// [aliasesInSystemModule2.js] System.register(["foo"], function (exports_1, context_1) { - var foo_1, cls, cls2, x, y, z, M; "use strict"; + var foo_1, cls, cls2, x, y, z, M; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.js b/tests/baselines/reference/allowSyntheticDefaultImports2.js index 2ab6ae38c13..ea83065c884 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports2.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.js @@ -11,8 +11,8 @@ export class Foo { //// [a.js] System.register(["./b"], function (exports_1, context_1) { - var b_1, x; "use strict"; + var b_1, x; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/allowSyntheticDefaultImports3.js b/tests/baselines/reference/allowSyntheticDefaultImports3.js index 0e8207eaf26..d7eca3ead88 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports3.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports3.js @@ -12,8 +12,8 @@ export class Foo { //// [b.js] System.register([], function (exports_1, context_1) { - var Foo; "use strict"; + var Foo; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -29,8 +29,8 @@ System.register([], function (exports_1, context_1) { }); //// [a.js] System.register(["./b"], function (exports_1, context_1) { - var b_1, x; "use strict"; + var b_1, x; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.js b/tests/baselines/reference/allowSyntheticDefaultImports5.js index 0ca15c82cde..81de76c395f 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports5.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.js @@ -13,8 +13,8 @@ export var x = new Foo(); //// [a.js] System.register(["./b"], function (exports_1, context_1) { - var b_1, x; "use strict"; + var b_1, x; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/allowSyntheticDefaultImports6.js b/tests/baselines/reference/allowSyntheticDefaultImports6.js index 1d19b3fb46c..7d351b65081 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports6.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports6.js @@ -13,8 +13,8 @@ export var x = new Foo(); //// [a.js] System.register(["./b"], function (exports_1, context_1) { - var b_1, x; "use strict"; + var b_1, x; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/allowSyntheticDefaultImports7.js b/tests/baselines/reference/allowSyntheticDefaultImports7.js index 6a3d45ba59e..39e6c2ae5e0 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports7.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports7.js @@ -12,8 +12,8 @@ Foo.foo(); //// [a.js] System.register(["./b"], function (exports_1, context_1) { - var b_1; "use strict"; + var b_1; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/allowSyntheticDefaultImports8.js b/tests/baselines/reference/allowSyntheticDefaultImports8.js index dff56737805..e1157b8297a 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports8.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports8.js @@ -12,8 +12,8 @@ Foo.foo(); //// [a.js] System.register(["./b"], function (exports_1, context_1) { - var b_1; "use strict"; + var b_1; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/anonymousDefaultExportsSystem.js b/tests/baselines/reference/anonymousDefaultExportsSystem.js index bc3d35cda90..48071da9e9b 100644 --- a/tests/baselines/reference/anonymousDefaultExportsSystem.js +++ b/tests/baselines/reference/anonymousDefaultExportsSystem.js @@ -8,8 +8,8 @@ export default function() {} //// [a.js] System.register([], function (exports_1, context_1) { - var default_1; "use strict"; + var default_1; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/callbackTagNamespace.symbols b/tests/baselines/reference/callbackTagNamespace.symbols index b8cf7d95886..1723fab71c3 100644 --- a/tests/baselines/reference/callbackTagNamespace.symbols +++ b/tests/baselines/reference/callbackTagNamespace.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/jsdoc/namespaced.js === /** * @callback NS.Nested.Inner - * @param {string} space - spaaaaaaaaace - * @param {string} peace - peaaaaaaaaace + * @param {Object} space - spaaaaaaaaace + * @param {Object} peace - peaaaaaaaaace * @return {string | number} */ var x = 1; diff --git a/tests/baselines/reference/callbackTagNamespace.types b/tests/baselines/reference/callbackTagNamespace.types index 0435320795d..8bca9a56a5c 100644 --- a/tests/baselines/reference/callbackTagNamespace.types +++ b/tests/baselines/reference/callbackTagNamespace.types @@ -1,8 +1,8 @@ === tests/cases/conformance/jsdoc/namespaced.js === /** * @callback NS.Nested.Inner - * @param {string} space - spaaaaaaaaace - * @param {string} peace - peaaaaaaaaace + * @param {Object} space - spaaaaaaaaace + * @param {Object} peace - peaaaaaaaaace * @return {string | number} */ var x = 1; @@ -11,9 +11,9 @@ var x = 1; /** @type {NS.Nested.Inner} */ function f(space, peace) { ->f : (space: string, peace: string) => string ->space : string ->peace : string +>f : (space: any, peace: any) => string +>space : any +>peace : any return '1' >'1' : "1" diff --git a/tests/baselines/reference/capturedLetConstInLoop4.js b/tests/baselines/reference/capturedLetConstInLoop4.js index 874a1d4130e..ff6d32563a9 100644 --- a/tests/baselines/reference/capturedLetConstInLoop4.js +++ b/tests/baselines/reference/capturedLetConstInLoop4.js @@ -144,8 +144,8 @@ for (const y = 0; y < 1;) { //// [capturedLetConstInLoop4.js] System.register([], function (exports_1, context_1) { - var v0, v00, v1, v2, v3, v4, v5, v6, v7, v8, v0_c, v00_c, v1_c, v2_c, v3_c, v4_c, v5_c, v6_c, v7_c, v8_c; "use strict"; + var v0, v00, v1, v2, v3, v4, v5, v6, v7, v8, v0_c, v00_c, v1_c, v2_c, v3_c, v4_c, v5_c, v6_c, v7_c, v8_c; var __moduleName = context_1 && context_1.id; //======let function exportedFoo() { diff --git a/tests/baselines/reference/checkJsFiles_noErrorLocation.errors.txt b/tests/baselines/reference/checkJsFiles_noErrorLocation.errors.txt deleted file mode 100644 index d9104608284..00000000000 --- a/tests/baselines/reference/checkJsFiles_noErrorLocation.errors.txt +++ /dev/null @@ -1,25 +0,0 @@ -tests/cases/compiler/a.js(14,10): error TS2424: Class 'A' defines instance member function 'foo', but extended class 'B' defines it as instance member property. - - -==== tests/cases/compiler/a.js (1 errors) ==== - // @ts-check - class A { - constructor() { - - } - foo() { - return 4; - } - } - - class B extends A { - constructor() { - super(); - this.foo = () => 3; - ~~~ -!!! error TS2424: Class 'A' defines instance member function 'foo', but extended class 'B' defines it as instance member property. - } - } - - const i = new B(); - i.foo(); \ No newline at end of file diff --git a/tests/baselines/reference/decoratedClassExportsSystem1.js b/tests/baselines/reference/decoratedClassExportsSystem1.js index 5921a424524..844a87fe093 100644 --- a/tests/baselines/reference/decoratedClassExportsSystem1.js +++ b/tests/baselines/reference/decoratedClassExportsSystem1.js @@ -9,6 +9,7 @@ export class Testing123 { //// [a.js] System.register([], function (exports_1, context_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -16,7 +17,6 @@ System.register([], function (exports_1, context_1) { return c > 3 && r && Object.defineProperty(target, key, r), r; }; var Testing123_1, Testing123; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/decoratedClassExportsSystem2.js b/tests/baselines/reference/decoratedClassExportsSystem2.js index e3f0a97b64d..a9458e125b3 100644 --- a/tests/baselines/reference/decoratedClassExportsSystem2.js +++ b/tests/baselines/reference/decoratedClassExportsSystem2.js @@ -6,6 +6,7 @@ export class Testing123 { } //// [a.js] System.register([], function (exports_1, context_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -13,7 +14,6 @@ System.register([], function (exports_1, context_1) { return c > 3 && r && Object.defineProperty(target, key, r), r; }; var Testing123_1, Testing123; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js index 837fdc103f8..63290f4176a 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js @@ -14,6 +14,7 @@ export default class {} //// [a.js] System.register([], function (exports_1, context_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -21,7 +22,6 @@ System.register([], function (exports_1, context_1) { return c > 3 && r && Object.defineProperty(target, key, r), r; }; var decorator, Foo; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -37,6 +37,7 @@ System.register([], function (exports_1, context_1) { }); //// [b.js] System.register([], function (exports_1, context_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -44,7 +45,6 @@ System.register([], function (exports_1, context_1) { return c > 3 && r && Object.defineProperty(target, key, r), r; }; var decorator, default_1; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/deduplicateImportsInSystem.js b/tests/baselines/reference/deduplicateImportsInSystem.js index 8bf49a449cc..d96d5af80d3 100644 --- a/tests/baselines/reference/deduplicateImportsInSystem.js +++ b/tests/baselines/reference/deduplicateImportsInSystem.js @@ -10,8 +10,8 @@ console.log(A + B + C + D + E + F) //// [deduplicateImportsInSystem.js] System.register(["f1", "f2", "f3"], function (exports_1, context_1) { - var f1_1, f2_1, f3_1, f2_2, f2_3, f1_2; "use strict"; + var f1_1, f2_1, f3_1, f2_2, f2_3, f1_2; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.js b/tests/baselines/reference/defaultExportsGetExportedSystem.js index 0269905baba..229c5d0aae6 100644 --- a/tests/baselines/reference/defaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.js @@ -9,8 +9,8 @@ export default function foo() {} //// [a.js] System.register([], function (exports_1, context_1) { - var Foo; "use strict"; + var Foo; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/destructuringAssignmentWithExportedName.js b/tests/baselines/reference/destructuringAssignmentWithExportedName.js index 81f38a383ab..4dc60ecff77 100644 --- a/tests/baselines/reference/destructuringAssignmentWithExportedName.js +++ b/tests/baselines/reference/destructuringAssignmentWithExportedName.js @@ -26,8 +26,8 @@ export { nonexportedFoo }; export { exportedFoo as foo, nonexportedFoo as nfoo }; //// [destructuringAssignmentWithExportedName.js] -var _a, _b, _c, _d, _e; "use strict"; +var _a, _b, _c, _d, _e; Object.defineProperty(exports, "__esModule", { value: true }); exports.foo = exports.exportedFoo; let nonexportedFoo; diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.js b/tests/baselines/reference/destructuringInVariableDeclarations7.js index aabbb822523..cc6f0799c6a 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations7.js +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.js @@ -7,8 +7,8 @@ export let { toString } = 1; //// [destructuringInVariableDeclarations7.js] System.register([], function (exports_1, context_1) { - var toString; "use strict"; + var toString; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.js b/tests/baselines/reference/destructuringInVariableDeclarations8.js index 5455061cbc3..d12fa807003 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations8.js +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.js @@ -8,8 +8,8 @@ export {}; //// [destructuringInVariableDeclarations8.js] System.register([], function (exports_1, context_1) { - var toString; "use strict"; + var toString; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/dottedNamesInSystem.js b/tests/baselines/reference/dottedNamesInSystem.js index c2a5f7e882a..b65dba306f1 100644 --- a/tests/baselines/reference/dottedNamesInSystem.js +++ b/tests/baselines/reference/dottedNamesInSystem.js @@ -9,8 +9,8 @@ export function bar() { //// [dottedNamesInSystem.js] System.register([], function (exports_1, context_1) { - var A; "use strict"; + var A; var __moduleName = context_1 && context_1.id; function bar() { return A.B.C.foo(); diff --git a/tests/baselines/reference/es5-system.js b/tests/baselines/reference/es5-system.js index c84b5c9e631..f28fcd3d437 100644 --- a/tests/baselines/reference/es5-system.js +++ b/tests/baselines/reference/es5-system.js @@ -15,8 +15,8 @@ export default class A //// [es5-system.js] System.register([], function (exports_1, context_1) { - var A; "use strict"; + var A; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/es5-system2.js b/tests/baselines/reference/es5-system2.js index bb697216628..eef60a3c0ef 100644 --- a/tests/baselines/reference/es5-system2.js +++ b/tests/baselines/reference/es5-system2.js @@ -3,8 +3,8 @@ export var __esModule = 1; //// [es5-system2.js] System.register([], function (exports_1, context_1) { - var __esModule; "use strict"; + var __esModule; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/es6modulekindExportClassNameWithObject.js b/tests/baselines/reference/es6modulekindExportClassNameWithObject.js new file mode 100644 index 00000000000..d5af2ffafa0 --- /dev/null +++ b/tests/baselines/reference/es6modulekindExportClassNameWithObject.js @@ -0,0 +1,11 @@ +//// [es6modulekindExportClassNameWithObject.ts] +export class Object {} + + +//// [es6modulekindExportClassNameWithObject.js] +var Object = /** @class */ (function () { + function Object() { + } + return Object; +}()); +export { Object }; diff --git a/tests/baselines/reference/es6modulekindExportClassNameWithObject.symbols b/tests/baselines/reference/es6modulekindExportClassNameWithObject.symbols new file mode 100644 index 00000000000..b05183ae935 --- /dev/null +++ b/tests/baselines/reference/es6modulekindExportClassNameWithObject.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/es6/es6modulekindExportClassNameWithObject.ts === +export class Object {} +>Object : Symbol(Object, Decl(es6modulekindExportClassNameWithObject.ts, 0, 0)) + diff --git a/tests/baselines/reference/es6modulekindExportClassNameWithObject.types b/tests/baselines/reference/es6modulekindExportClassNameWithObject.types new file mode 100644 index 00000000000..b0b9cd7f6a6 --- /dev/null +++ b/tests/baselines/reference/es6modulekindExportClassNameWithObject.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/es6/es6modulekindExportClassNameWithObject.ts === +export class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.js b/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.js new file mode 100644 index 00000000000..e56b6ad8f16 --- /dev/null +++ b/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.js @@ -0,0 +1,11 @@ +//// [exnextmodulekindExportClassNameWithObject.ts] +export class Object {} + + +//// [exnextmodulekindExportClassNameWithObject.js] +var Object = /** @class */ (function () { + function Object() { + } + return Object; +}()); +export { Object }; diff --git a/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.symbols b/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.symbols new file mode 100644 index 00000000000..2bc0455e162 --- /dev/null +++ b/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/esnext/exnextmodulekindExportClassNameWithObject.ts === +export class Object {} +>Object : Symbol(Object, Decl(exnextmodulekindExportClassNameWithObject.ts, 0, 0)) + diff --git a/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.types b/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.types new file mode 100644 index 00000000000..1fbe924a4a0 --- /dev/null +++ b/tests/baselines/reference/exnextmodulekindExportClassNameWithObject.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/esnext/exnextmodulekindExportClassNameWithObject.ts === +export class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportAmbientClassNameWithObject.js b/tests/baselines/reference/exportAmbientClassNameWithObject.js new file mode 100644 index 00000000000..fdad4c7818c --- /dev/null +++ b/tests/baselines/reference/exportAmbientClassNameWithObject.js @@ -0,0 +1,7 @@ +//// [exportAmbientClassNameWithObject.ts] +export declare class Object {} + + +//// [exportAmbientClassNameWithObject.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/exportAmbientClassNameWithObject.symbols b/tests/baselines/reference/exportAmbientClassNameWithObject.symbols new file mode 100644 index 00000000000..6287c91780a --- /dev/null +++ b/tests/baselines/reference/exportAmbientClassNameWithObject.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportAmbientClassNameWithObject.ts === +export declare class Object {} +>Object : Symbol(Object, Decl(exportAmbientClassNameWithObject.ts, 0, 0)) + diff --git a/tests/baselines/reference/exportAmbientClassNameWithObject.types b/tests/baselines/reference/exportAmbientClassNameWithObject.types new file mode 100644 index 00000000000..e85e4eb05db --- /dev/null +++ b/tests/baselines/reference/exportAmbientClassNameWithObject.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportAmbientClassNameWithObject.ts === +export declare class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt b/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt new file mode 100644 index 00000000000..32eb7a1e7da --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module AMD. + + +==== tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts (1 errors) ==== + export class Object {} + ~~~~~~ +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module AMD. + \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectAMD.js b/tests/baselines/reference/exportClassNameWithObjectAMD.js new file mode 100644 index 00000000000..e3403689cbb --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectAMD.js @@ -0,0 +1,15 @@ +//// [exportClassNameWithObjectAMD.ts] +export class Object {} + + +//// [exportClassNameWithObjectAMD.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var Object = /** @class */ (function () { + function Object() { + } + return Object; + }()); + exports.Object = Object; +}); diff --git a/tests/baselines/reference/exportClassNameWithObjectAMD.symbols b/tests/baselines/reference/exportClassNameWithObjectAMD.symbols new file mode 100644 index 00000000000..eadb0af0ddc --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectAMD.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts === +export class Object {} +>Object : Symbol(Object, Decl(exportClassNameWithObjectAMD.ts, 0, 0)) + diff --git a/tests/baselines/reference/exportClassNameWithObjectAMD.types b/tests/baselines/reference/exportClassNameWithObjectAMD.types new file mode 100644 index 00000000000..7caeadb6e03 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectAMD.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts === +export class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt b/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt new file mode 100644 index 00000000000..de5b8d59cae --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. + + +==== tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts (1 errors) ==== + export class Object {} + ~~~~~~ +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. + \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectCommonJS.js b/tests/baselines/reference/exportClassNameWithObjectCommonJS.js new file mode 100644 index 00000000000..b9e2522b1b2 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectCommonJS.js @@ -0,0 +1,13 @@ +//// [exportClassNameWithObjectCommonJS.ts] +export class Object {} + + +//// [exportClassNameWithObjectCommonJS.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var Object = /** @class */ (function () { + function Object() { + } + return Object; +}()); +exports.Object = Object; diff --git a/tests/baselines/reference/exportClassNameWithObjectCommonJS.symbols b/tests/baselines/reference/exportClassNameWithObjectCommonJS.symbols new file mode 100644 index 00000000000..025fa479fd6 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectCommonJS.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts === +export class Object {} +>Object : Symbol(Object, Decl(exportClassNameWithObjectCommonJS.ts, 0, 0)) + diff --git a/tests/baselines/reference/exportClassNameWithObjectCommonJS.types b/tests/baselines/reference/exportClassNameWithObjectCommonJS.types new file mode 100644 index 00000000000..38ce8d61d95 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectCommonJS.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts === +export class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt b/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt new file mode 100644 index 00000000000..4b43001cc23 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module System. + + +==== tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts (1 errors) ==== + export class Object {} + ~~~~~~ +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module System. + \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectSystem.js b/tests/baselines/reference/exportClassNameWithObjectSystem.js new file mode 100644 index 00000000000..361f4d807df --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectSystem.js @@ -0,0 +1,21 @@ +//// [exportClassNameWithObjectSystem.ts] +export class Object {} + + +//// [exportClassNameWithObjectSystem.js] +System.register([], function (exports_1, context_1) { + "use strict"; + var Object; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + Object = /** @class */ (function () { + function Object() { + } + return Object; + }()); + exports_1("Object", Object); + } + }; +}); diff --git a/tests/baselines/reference/exportClassNameWithObjectSystem.symbols b/tests/baselines/reference/exportClassNameWithObjectSystem.symbols new file mode 100644 index 00000000000..5152c2aa637 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectSystem.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts === +export class Object {} +>Object : Symbol(Object, Decl(exportClassNameWithObjectSystem.ts, 0, 0)) + diff --git a/tests/baselines/reference/exportClassNameWithObjectSystem.types b/tests/baselines/reference/exportClassNameWithObjectSystem.types new file mode 100644 index 00000000000..5b6507fd940 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectSystem.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts === +export class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt b/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt new file mode 100644 index 00000000000..e292c473af4 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module UMD. + + +==== tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts (1 errors) ==== + export class Object {} + ~~~~~~ +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module UMD. + \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectUMD.js b/tests/baselines/reference/exportClassNameWithObjectUMD.js new file mode 100644 index 00000000000..1447392c875 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectUMD.js @@ -0,0 +1,23 @@ +//// [exportClassNameWithObjectUMD.ts] +export class Object {} + + +//// [exportClassNameWithObjectUMD.js] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var Object = /** @class */ (function () { + function Object() { + } + return Object; + }()); + exports.Object = Object; +}); diff --git a/tests/baselines/reference/exportClassNameWithObjectUMD.symbols b/tests/baselines/reference/exportClassNameWithObjectUMD.symbols new file mode 100644 index 00000000000..05d3eeb8b02 --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectUMD.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts === +export class Object {} +>Object : Symbol(Object, Decl(exportClassNameWithObjectUMD.ts, 0, 0)) + diff --git a/tests/baselines/reference/exportClassNameWithObjectUMD.types b/tests/baselines/reference/exportClassNameWithObjectUMD.types new file mode 100644 index 00000000000..42f0198cbaf --- /dev/null +++ b/tests/baselines/reference/exportClassNameWithObjectUMD.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts === +export class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt b/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt new file mode 100644 index 00000000000..da874bf2d4c --- /dev/null +++ b/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts(1,22): error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. + + +==== tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts (1 errors) ==== + export default class Object {} + ~~~~~~ +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. + \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultClassNameWithObject.js b/tests/baselines/reference/exportDefaultClassNameWithObject.js new file mode 100644 index 00000000000..f5a4ec74a66 --- /dev/null +++ b/tests/baselines/reference/exportDefaultClassNameWithObject.js @@ -0,0 +1,13 @@ +//// [exportDefaultClassNameWithObject.ts] +export default class Object {} + + +//// [exportDefaultClassNameWithObject.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var Object = /** @class */ (function () { + function Object() { + } + return Object; +}()); +exports.default = Object; diff --git a/tests/baselines/reference/exportDefaultClassNameWithObject.symbols b/tests/baselines/reference/exportDefaultClassNameWithObject.symbols new file mode 100644 index 00000000000..3192dcf73ef --- /dev/null +++ b/tests/baselines/reference/exportDefaultClassNameWithObject.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts === +export default class Object {} +>Object : Symbol(Object, Decl(exportDefaultClassNameWithObject.ts, 0, 0)) + diff --git a/tests/baselines/reference/exportDefaultClassNameWithObject.types b/tests/baselines/reference/exportDefaultClassNameWithObject.types new file mode 100644 index 00000000000..547164703d0 --- /dev/null +++ b/tests/baselines/reference/exportDefaultClassNameWithObject.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts === +export default class Object {} +>Object : Object + diff --git a/tests/baselines/reference/exportNonInitializedVariablesSystem.js b/tests/baselines/reference/exportNonInitializedVariablesSystem.js index 56d27bfbead..88f332eb300 100644 --- a/tests/baselines/reference/exportNonInitializedVariablesSystem.js +++ b/tests/baselines/reference/exportNonInitializedVariablesSystem.js @@ -35,8 +35,8 @@ export let h1: D = new D; //// [exportNonInitializedVariablesSystem.js] System.register([], function (exports_1, context_1) { - var a, b, c, d, A, e, f, B, C, a1, b1, c1, d1, D, e1, f1, g1, h1; "use strict"; + var a, b, c, d, A, e, f, B, C, a1, b1, c1, d1, D, e1, f1, g1, h1; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/exportStarForValues10.js b/tests/baselines/reference/exportStarForValues10.js index 249a633cd07..49f40ab5374 100644 --- a/tests/baselines/reference/exportStarForValues10.js +++ b/tests/baselines/reference/exportStarForValues10.js @@ -13,8 +13,8 @@ var x = 1; //// [file0.js] System.register([], function (exports_1, context_1) { - var v; "use strict"; + var v; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -35,8 +35,8 @@ System.register([], function (exports_1, context_1) { }); //// [file2.js] System.register(["file0"], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; function exportStar_1(m) { var exports = {}; diff --git a/tests/baselines/reference/exportStarForValues6.js b/tests/baselines/reference/exportStarForValues6.js index 8bf7e91c87a..0e593f4efb5 100644 --- a/tests/baselines/reference/exportStarForValues6.js +++ b/tests/baselines/reference/exportStarForValues6.js @@ -19,8 +19,8 @@ System.register([], function (exports_1, context_1) { }); //// [file2.js] System.register([], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/exportStarForValuesInSystem.js b/tests/baselines/reference/exportStarForValuesInSystem.js index d5f9c5bac2c..c7406dc18d8 100644 --- a/tests/baselines/reference/exportStarForValuesInSystem.js +++ b/tests/baselines/reference/exportStarForValuesInSystem.js @@ -19,8 +19,8 @@ System.register([], function (exports_1, context_1) { }); //// [file2.js] System.register([], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/importCallExpressionAsyncES3System.js b/tests/baselines/reference/importCallExpressionAsyncES3System.js index 7f9814e7e96..95933e2fd9b 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES3System.js +++ b/tests/baselines/reference/importCallExpressionAsyncES3System.js @@ -30,6 +30,7 @@ export const l = async () => { //// [test.js] System.register([], function (exports_1, context_1) { + "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } @@ -66,7 +67,6 @@ System.register([], function (exports_1, context_1) { } }; var _this, cl1, obj, cl2, l; - "use strict"; _this = this; var __moduleName = context_1 && context_1.id; function fn() { diff --git a/tests/baselines/reference/importCallExpressionAsyncES5System.js b/tests/baselines/reference/importCallExpressionAsyncES5System.js index 2a3c3629f1b..c83290ddcdc 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES5System.js +++ b/tests/baselines/reference/importCallExpressionAsyncES5System.js @@ -30,6 +30,7 @@ export const l = async () => { //// [test.js] System.register([], function (exports_1, context_1) { + "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } @@ -66,7 +67,6 @@ System.register([], function (exports_1, context_1) { } }; var _this, cl1, obj, cl2, l; - "use strict"; _this = this; var __moduleName = context_1 && context_1.id; function fn() { diff --git a/tests/baselines/reference/importCallExpressionAsyncES6System.js b/tests/baselines/reference/importCallExpressionAsyncES6System.js index ed771dbb4c0..1f605dcc3f8 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES6System.js +++ b/tests/baselines/reference/importCallExpressionAsyncES6System.js @@ -30,6 +30,7 @@ export const l = async () => { //// [test.js] System.register([], function (exports_1, context_1) { + "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } @@ -39,7 +40,6 @@ System.register([], function (exports_1, context_1) { }); }; var cl1, obj, cl2, l; - "use strict"; var __moduleName = context_1 && context_1.id; function fn() { return __awaiter(this, void 0, void 0, function* () { diff --git a/tests/baselines/reference/importCallExpressionES5System.js b/tests/baselines/reference/importCallExpressionES5System.js index 69c005df3bd..af9e8d744c5 100644 --- a/tests/baselines/reference/importCallExpressionES5System.js +++ b/tests/baselines/reference/importCallExpressionES5System.js @@ -42,8 +42,8 @@ System.register([], function (exports_1, context_1) { }); //// [1.js] System.register([], function (exports_1, context_1) { - var p1, p2, C, D; "use strict"; + var p1, p2, C, D; var __moduleName = context_1 && context_1.id; function foo() { var p2 = context_1.import("./0"); diff --git a/tests/baselines/reference/importCallExpressionES6System.js b/tests/baselines/reference/importCallExpressionES6System.js index abf8ff507ed..9ed9f2ae54a 100644 --- a/tests/baselines/reference/importCallExpressionES6System.js +++ b/tests/baselines/reference/importCallExpressionES6System.js @@ -42,8 +42,8 @@ System.register([], function (exports_1, context_1) { }); //// [1.js] System.register([], function (exports_1, context_1) { - var p1, p2, C, D; "use strict"; + var p1, p2, C, D; var __moduleName = context_1 && context_1.id; function foo() { const p2 = context_1.import("./0"); diff --git a/tests/baselines/reference/importCallExpressionInSystem1.js b/tests/baselines/reference/importCallExpressionInSystem1.js index 237ca312b88..b1108670149 100644 --- a/tests/baselines/reference/importCallExpressionInSystem1.js +++ b/tests/baselines/reference/importCallExpressionInSystem1.js @@ -30,8 +30,8 @@ System.register([], function (exports_1, context_1) { }); //// [1.js] System.register([], function (exports_1, context_1) { - var p1, p2; "use strict"; + var p1, p2; var __moduleName = context_1 && context_1.id; function foo() { const p2 = context_1.import("./0"); diff --git a/tests/baselines/reference/importCallExpressionInSystem2.js b/tests/baselines/reference/importCallExpressionInSystem2.js index b64632bc9db..165b47fdb1a 100644 --- a/tests/baselines/reference/importCallExpressionInSystem2.js +++ b/tests/baselines/reference/importCallExpressionInSystem2.js @@ -18,8 +18,8 @@ foo(import("./0")); //// [0.js] System.register([], function (exports_1, context_1) { - var B; "use strict"; + var B; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/importCallExpressionInSystem3.js b/tests/baselines/reference/importCallExpressionInSystem3.js index 89bee947662..2bf6d4c0288 100644 --- a/tests/baselines/reference/importCallExpressionInSystem3.js +++ b/tests/baselines/reference/importCallExpressionInSystem3.js @@ -15,8 +15,8 @@ foo(); //// [0.js] System.register([], function (exports_1, context_1) { - var B; "use strict"; + var B; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/importCallExpressionInSystem4.js b/tests/baselines/reference/importCallExpressionInSystem4.js index dd2f9faadc8..55af57174bd 100644 --- a/tests/baselines/reference/importCallExpressionInSystem4.js +++ b/tests/baselines/reference/importCallExpressionInSystem4.js @@ -42,8 +42,8 @@ export class D { //// [0.js] System.register([], function (exports_1, context_1) { - var B; "use strict"; + var B; var __moduleName = context_1 && context_1.id; function foo() { return "foo"; } exports_1("foo", foo); @@ -71,8 +71,8 @@ System.register([], function (exports_1, context_1) { }); //// [2.js] System.register([], function (exports_1, context_1) { - var C, D; "use strict"; + var C, D; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/importHelpersSystem.js b/tests/baselines/reference/importHelpersSystem.js index 6e29369b842..32060987369 100644 --- a/tests/baselines/reference/importHelpersSystem.js +++ b/tests/baselines/reference/importHelpersSystem.js @@ -19,8 +19,8 @@ export declare function __awaiter(thisArg: any, _arguments: any, P: Function, ge //// [a.js] System.register([], function (exports_1, context_1) { - var A; "use strict"; + var A; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -36,8 +36,8 @@ System.register([], function (exports_1, context_1) { }); //// [b.js] System.register(["tslib", "./a"], function (exports_1, context_1) { - var tslib_1, a_1, B; "use strict"; + var tslib_1, a_1, B; var __moduleName = context_1 && context_1.id; var exportedNames_1 = { "B": true diff --git a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.errors.txt b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.errors.txt deleted file mode 100644 index 66d955324c8..00000000000 --- a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.errors.txt +++ /dev/null @@ -1,36 +0,0 @@ -tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts(8,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts(8,9): error TS2416: Property 'x' in type 'b' is not assignable to the same property in base type 'a'. - Type 'string' is not assignable to type '() => string'. -tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts(8,9): error TS2423: Class 'a' defines instance member function 'x', but extended class 'b' defines it as instance member accessor. -tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts(11,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts(11,9): error TS2416: Property 'x' in type 'b' is not assignable to the same property in base type 'a'. - Type 'string' is not assignable to type '() => string'. - - -==== tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts (5 errors) ==== - class a { - x() { - return "20"; - } - } - - class b extends a { - get x() { - ~ -!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. - ~ -!!! error TS2416: Property 'x' in type 'b' is not assignable to the same property in base type 'a'. -!!! error TS2416: Type 'string' is not assignable to type '() => string'. - ~ -!!! error TS2423: Class 'a' defines instance member function 'x', but extended class 'b' defines it as instance member accessor. - return "20"; - } - set x(aValue: string) { - ~ -!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. - ~ -!!! error TS2416: Property 'x' in type 'b' is not assignable to the same property in base type 'a'. -!!! error TS2416: Type 'string' is not assignable to type '() => string'. - - } - } \ No newline at end of file diff --git a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.js b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.js index bf309a97573..9f4133c897b 100644 --- a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.js +++ b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.js @@ -7,10 +7,10 @@ class a { class b extends a { get x() { - return "20"; + return () => "20"; } - set x(aValue: string) { - + set x(aValue) { + } } @@ -40,7 +40,7 @@ var b = /** @class */ (function (_super) { } Object.defineProperty(b.prototype, "x", { get: function () { - return "20"; + return function () { return "20"; }; }, set: function (aValue) { }, diff --git a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.symbols b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.symbols index aecf2b9a020..8b308f2db7b 100644 --- a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.symbols +++ b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.symbols @@ -16,11 +16,11 @@ class b extends a { get x() { >x : Symbol(b.x, Decl(inheritanceMemberAccessorOverridingMethod.ts, 6, 19), Decl(inheritanceMemberAccessorOverridingMethod.ts, 9, 5)) - return "20"; + return () => "20"; } - set x(aValue: string) { + set x(aValue) { >x : Symbol(b.x, Decl(inheritanceMemberAccessorOverridingMethod.ts, 6, 19), Decl(inheritanceMemberAccessorOverridingMethod.ts, 9, 5)) >aValue : Symbol(aValue, Decl(inheritanceMemberAccessorOverridingMethod.ts, 10, 10)) - + } } diff --git a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.types b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.types index 5078acf884b..e1c29c86f40 100644 --- a/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.types +++ b/tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.types @@ -15,14 +15,15 @@ class b extends a { >a : a get x() { ->x : string +>x : () => string - return "20"; + return () => "20"; +>() => "20" : () => string >"20" : "20" } - set x(aValue: string) { ->x : string ->aValue : string - + set x(aValue) { +>x : () => string +>aValue : () => string + } } diff --git a/tests/baselines/reference/inheritanceMemberPropertyOverridingMethod.errors.txt b/tests/baselines/reference/inheritanceMemberPropertyOverridingMethod.errors.txt deleted file mode 100644 index 2b56866b22b..00000000000 --- a/tests/baselines/reference/inheritanceMemberPropertyOverridingMethod.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/compiler/inheritanceMemberPropertyOverridingMethod.ts(8,5): error TS2424: Class 'a' defines instance member function 'x', but extended class 'b' defines it as instance member property. - - -==== tests/cases/compiler/inheritanceMemberPropertyOverridingMethod.ts (1 errors) ==== - class a { - x() { - return "20"; - } - } - - class b extends a { - x: () => string; - ~ -!!! error TS2424: Class 'a' defines instance member function 'x', but extended class 'b' defines it as instance member property. - } \ No newline at end of file diff --git a/tests/baselines/reference/invalidSyntaxNamespaceImportWithSystem.js b/tests/baselines/reference/invalidSyntaxNamespaceImportWithSystem.js index 4a3c6fbcf06..aaeece2da46 100644 --- a/tests/baselines/reference/invalidSyntaxNamespaceImportWithSystem.js +++ b/tests/baselines/reference/invalidSyntaxNamespaceImportWithSystem.js @@ -8,8 +8,8 @@ import * from Zero from "./0" //// [0.js] System.register([], function (exports_1, context_1) { - var C; "use strict"; + var C; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -25,8 +25,8 @@ System.register([], function (exports_1, context_1) { }); //// [1.js] System.register([], function (exports_1, context_1) { - var from; "use strict"; + var from; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/modulePrologueSystem.js b/tests/baselines/reference/modulePrologueSystem.js index 849355db9c5..ea8fc5d8a65 100644 --- a/tests/baselines/reference/modulePrologueSystem.js +++ b/tests/baselines/reference/modulePrologueSystem.js @@ -5,8 +5,8 @@ export class Foo {} //// [modulePrologueSystem.js] System.register([], function (exports_1, context_1) { - var Foo; "use strict"; + var Foo; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/outFilerootDirModuleNamesSystem.js b/tests/baselines/reference/outFilerootDirModuleNamesSystem.js index b5da7ffa604..0cf43e047a0 100644 --- a/tests/baselines/reference/outFilerootDirModuleNamesSystem.js +++ b/tests/baselines/reference/outFilerootDirModuleNamesSystem.js @@ -12,8 +12,8 @@ export default function foo() { new Foo(); } //// [output.js] System.register("b", ["a"], function (exports_1, context_1) { - var a_1; "use strict"; + var a_1; var __moduleName = context_1 && context_1.id; function foo() { new a_1.default(); } exports_1("default", foo); @@ -28,8 +28,8 @@ System.register("b", ["a"], function (exports_1, context_1) { }; }); System.register("a", ["b"], function (exports_2, context_2) { - var b_1, Foo; "use strict"; + var b_1, Foo; var __moduleName = context_2 && context_2.id; return { setters: [ diff --git a/tests/baselines/reference/outModuleConcatSystem.js b/tests/baselines/reference/outModuleConcatSystem.js index 00e1f39e45a..7d3f4200834 100644 --- a/tests/baselines/reference/outModuleConcatSystem.js +++ b/tests/baselines/reference/outModuleConcatSystem.js @@ -19,8 +19,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); System.register("ref/a", [], function (exports_1, context_1) { - var A; "use strict"; + var A; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -35,8 +35,8 @@ System.register("ref/a", [], function (exports_1, context_1) { }; }); System.register("b", ["ref/a"], function (exports_2, context_2) { - var a_1, B; "use strict"; + var a_1, B; var __moduleName = context_2 && context_2.id; return { setters: [ diff --git a/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt b/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt index 0f6361d0e8f..100165753ec 100644 --- a/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt +++ b/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt @@ -19,8 +19,8 @@ sourceFile:tests/cases/compiler/ref/a.ts >>> }; >>>})(); >>>System.register("ref/a", [], function (exports_1, context_1) { ->>> var A; >>> "use strict"; +>>> var A; >>> var __moduleName = context_1 && context_1.id; >>> return { >>> setters: [], @@ -86,8 +86,8 @@ sourceFile:tests/cases/compiler/b.ts >>> }; >>>}); >>>System.register("b", ["ref/a"], function (exports_2, context_2) { ->>> var a_1, B; >>> "use strict"; +>>> var a_1, B; >>> var __moduleName = context_2 && context_2.id; >>> return { >>> setters: [ diff --git a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js index 3990aa4ef1e..3241bcacf88 100644 --- a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js +++ b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js @@ -31,8 +31,8 @@ if (++y) { //// [prefixUnaryOperatorsOnExportedVariables.js] System.register([], function (exports_1, context_1) { - var x, y; "use strict"; + var x, y; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/propertyOverridingPrototype.js b/tests/baselines/reference/propertyOverridingPrototype.js new file mode 100644 index 00000000000..47dc9ed5b70 --- /dev/null +++ b/tests/baselines/reference/propertyOverridingPrototype.js @@ -0,0 +1,37 @@ +//// [propertyOverridingPrototype.ts] +class Base { + foo() { + } +} + +class Derived extends Base { + foo: () => { }; +} + + + +//// [propertyOverridingPrototype.js] +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var Base = /** @class */ (function () { + function Base() { + } + Base.prototype.foo = function () { + }; + return Base; +}()); +var Derived = /** @class */ (function (_super) { + __extends(Derived, _super); + function Derived() { + return _super !== null && _super.apply(this, arguments) || this; + } + return Derived; +}(Base)); diff --git a/tests/baselines/reference/propertyOverridingPrototype.symbols b/tests/baselines/reference/propertyOverridingPrototype.symbols new file mode 100644 index 00000000000..a8a39dc227c --- /dev/null +++ b/tests/baselines/reference/propertyOverridingPrototype.symbols @@ -0,0 +1,18 @@ +=== tests/cases/compiler/propertyOverridingPrototype.ts === +class Base { +>Base : Symbol(Base, Decl(propertyOverridingPrototype.ts, 0, 0)) + + foo() { +>foo : Symbol(Base.foo, Decl(propertyOverridingPrototype.ts, 0, 12)) + } +} + +class Derived extends Base { +>Derived : Symbol(Derived, Decl(propertyOverridingPrototype.ts, 3, 1)) +>Base : Symbol(Base, Decl(propertyOverridingPrototype.ts, 0, 0)) + + foo: () => { }; +>foo : Symbol(Derived.foo, Decl(propertyOverridingPrototype.ts, 5, 28)) +} + + diff --git a/tests/baselines/reference/propertyOverridingPrototype.types b/tests/baselines/reference/propertyOverridingPrototype.types new file mode 100644 index 00000000000..2f68d9bdf79 --- /dev/null +++ b/tests/baselines/reference/propertyOverridingPrototype.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/propertyOverridingPrototype.ts === +class Base { +>Base : Base + + foo() { +>foo : () => void + } +} + +class Derived extends Base { +>Derived : Derived +>Base : Base + + foo: () => { }; +>foo : () => {} +} + + diff --git a/tests/baselines/reference/systemDefaultExportCommentValidity.js b/tests/baselines/reference/systemDefaultExportCommentValidity.js index 12a2d84db73..6fa0c45d559 100644 --- a/tests/baselines/reference/systemDefaultExportCommentValidity.js +++ b/tests/baselines/reference/systemDefaultExportCommentValidity.js @@ -6,8 +6,8 @@ export default Home //// [systemDefaultExportCommentValidity.js] System.register([], function (exports_1, context_1) { - var Home; "use strict"; + var Home; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemDefaultImportCallable.js b/tests/baselines/reference/systemDefaultImportCallable.js index da1ed916e0a..c9dbadda0d2 100644 --- a/tests/baselines/reference/systemDefaultImportCallable.js +++ b/tests/baselines/reference/systemDefaultImportCallable.js @@ -17,8 +17,8 @@ const _: string = repeat(new Date().toUTCString() + " ", 2); //// [greeter.js] System.register(["core-js/fn/string/repeat"], function (exports_1, context_1) { - var repeat_1, _; "use strict"; + var repeat_1, _; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/systemExportAssignment2.js b/tests/baselines/reference/systemExportAssignment2.js index 01b935cb223..f4d56cffa6c 100644 --- a/tests/baselines/reference/systemExportAssignment2.js +++ b/tests/baselines/reference/systemExportAssignment2.js @@ -10,8 +10,8 @@ import * as a from "a"; //// [a.js] System.register([], function (exports_1, context_1) { - var a; "use strict"; + var a; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemJsForInNoException.js b/tests/baselines/reference/systemJsForInNoException.js index 1b330b216ce..32194ce30ae 100644 --- a/tests/baselines/reference/systemJsForInNoException.js +++ b/tests/baselines/reference/systemJsForInNoException.js @@ -5,8 +5,8 @@ for (var key in obj) //// [systemJsForInNoException.js] System.register([], function (exports_1, context_1) { - var obj, key; "use strict"; + var obj, key; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule1.js b/tests/baselines/reference/systemModule1.js index bd813b39c97..6a739650889 100644 --- a/tests/baselines/reference/systemModule1.js +++ b/tests/baselines/reference/systemModule1.js @@ -3,8 +3,8 @@ export var x = 1; //// [systemModule1.js] System.register([], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule10.js b/tests/baselines/reference/systemModule10.js index 29ce481bfb0..953a949f2a1 100644 --- a/tests/baselines/reference/systemModule10.js +++ b/tests/baselines/reference/systemModule10.js @@ -10,8 +10,8 @@ export {n2 as n3} //// [systemModule10.js] System.register(["file1", "file2"], function (exports_1, context_1) { - var file1_1, n2; "use strict"; + var file1_1, n2; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/systemModule10_ES5.js b/tests/baselines/reference/systemModule10_ES5.js index bae6bd2c43c..26201b487c9 100644 --- a/tests/baselines/reference/systemModule10_ES5.js +++ b/tests/baselines/reference/systemModule10_ES5.js @@ -10,8 +10,8 @@ export {n2 as n3} //// [systemModule10_ES5.js] System.register(["file1", "file2"], function (exports_1, context_1) { - var file1_1, n2; "use strict"; + var file1_1, n2; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/systemModule11.js b/tests/baselines/reference/systemModule11.js index 49543b958cf..d353476f5b8 100644 --- a/tests/baselines/reference/systemModule11.js +++ b/tests/baselines/reference/systemModule11.js @@ -38,8 +38,8 @@ export * from 'a'; //// [file1.js] // set of tests cases that checks generation of local storage for exported names System.register(["bar"], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; function foo() { } exports_1("foo", foo); @@ -66,8 +66,8 @@ System.register(["bar"], function (exports_1, context_1) { }); //// [file2.js] System.register(["bar"], function (exports_1, context_1) { - var x, y; "use strict"; + var x, y; var __moduleName = context_1 && context_1.id; var exportedNames_1 = { "x": true, @@ -125,8 +125,8 @@ System.register(["a", "bar"], function (exports_1, context_1) { }); //// [file4.js] System.register(["a"], function (exports_1, context_1) { - var x, z, z1; "use strict"; + var x, z, z1; var __moduleName = context_1 && context_1.id; function foo() { } exports_1("foo", foo); diff --git a/tests/baselines/reference/systemModule13.js b/tests/baselines/reference/systemModule13.js index 370bcadfa2e..117a8108b47 100644 --- a/tests/baselines/reference/systemModule13.js +++ b/tests/baselines/reference/systemModule13.js @@ -5,8 +5,8 @@ for ([x] of [[1]]) {} //// [systemModule13.js] System.register([], function (exports_1, context_1) { - var _a, _b, x, y, z, z0, z1; "use strict"; + var _a, _b, x, y, z, z0, z1; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule14.js b/tests/baselines/reference/systemModule14.js index 361d8e7fe35..73c2a981c1b 100644 --- a/tests/baselines/reference/systemModule14.js +++ b/tests/baselines/reference/systemModule14.js @@ -11,8 +11,8 @@ export {foo as b} //// [systemModule14.js] System.register(["foo"], function (exports_1, context_1) { - var foo_1, x; "use strict"; + var foo_1, x; var __moduleName = context_1 && context_1.id; function foo() { return foo_1.a; diff --git a/tests/baselines/reference/systemModule15.js b/tests/baselines/reference/systemModule15.js index 05c551b1b67..e24403b9c03 100644 --- a/tests/baselines/reference/systemModule15.js +++ b/tests/baselines/reference/systemModule15.js @@ -30,8 +30,8 @@ export var value2 = "v"; //// [file3.js] System.register([], function (exports_1, context_1) { - var value; "use strict"; + var value; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -43,8 +43,8 @@ System.register([], function (exports_1, context_1) { }); //// [file4.js] System.register([], function (exports_1, context_1) { - var value2; "use strict"; + var value2; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -55,8 +55,8 @@ System.register([], function (exports_1, context_1) { }); //// [file2.js] System.register(["./file3"], function (exports_1, context_1) { - var moduleCStar, file3_1, file3_2; "use strict"; + var moduleCStar, file3_1, file3_2; var __moduleName = context_1 && context_1.id; return { setters: [ @@ -75,8 +75,8 @@ System.register(["./file3"], function (exports_1, context_1) { }); //// [file1.js] System.register(["./file2"], function (exports_1, context_1) { - var moduleB; "use strict"; + var moduleB; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/systemModule16.js b/tests/baselines/reference/systemModule16.js index e390b68001d..50cffe3afad 100644 --- a/tests/baselines/reference/systemModule16.js +++ b/tests/baselines/reference/systemModule16.js @@ -13,8 +13,8 @@ x,y,a1,b1,d1; //// [systemModule16.js] System.register(["foo", "bar"], function (exports_1, context_1) { - var x, y, foo_1; "use strict"; + var x, y, foo_1; var __moduleName = context_1 && context_1.id; var exportedNames_1 = { "x": true, diff --git a/tests/baselines/reference/systemModule17.js b/tests/baselines/reference/systemModule17.js index e96da2e2ad3..a59d1d33723 100644 --- a/tests/baselines/reference/systemModule17.js +++ b/tests/baselines/reference/systemModule17.js @@ -40,8 +40,8 @@ export {II as II1}; //// [f1.js] System.register([], function (exports_1, context_1) { - var A; "use strict"; + var A; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -57,8 +57,8 @@ System.register([], function (exports_1, context_1) { }); //// [f2.js] System.register(["f1"], function (exports_1, context_1) { - var x, N, IX, f1_1; "use strict"; + var x, N, IX, f1_1; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/systemModule2.js b/tests/baselines/reference/systemModule2.js index 800e4286d96..0bbec083ba1 100644 --- a/tests/baselines/reference/systemModule2.js +++ b/tests/baselines/reference/systemModule2.js @@ -4,8 +4,8 @@ export = x; //// [systemModule2.js] System.register([], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule3.js b/tests/baselines/reference/systemModule3.js index a2e46bd76d4..49bb238f11c 100644 --- a/tests/baselines/reference/systemModule3.js +++ b/tests/baselines/reference/systemModule3.js @@ -38,8 +38,8 @@ System.register([], function (exports_1, context_1) { }); //// [file3.js] System.register([], function (exports_1, context_1) { - var C; "use strict"; + var C; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -55,8 +55,8 @@ System.register([], function (exports_1, context_1) { }); //// [file4.js] System.register([], function (exports_1, context_1) { - var default_1; "use strict"; + var default_1; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule4.js b/tests/baselines/reference/systemModule4.js index 5e346f6250c..8b50d0f0fc3 100644 --- a/tests/baselines/reference/systemModule4.js +++ b/tests/baselines/reference/systemModule4.js @@ -4,8 +4,8 @@ export var y; //// [systemModule4.js] System.register([], function (exports_1, context_1) { - var x, y; "use strict"; + var x, y; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule6.js b/tests/baselines/reference/systemModule6.js index c994f45f984..77e13fa29c9 100644 --- a/tests/baselines/reference/systemModule6.js +++ b/tests/baselines/reference/systemModule6.js @@ -7,8 +7,8 @@ function foo() { //// [systemModule6.js] System.register([], function (exports_1, context_1) { - var C; "use strict"; + var C; var __moduleName = context_1 && context_1.id; function foo() { new C(); diff --git a/tests/baselines/reference/systemModule7.js b/tests/baselines/reference/systemModule7.js index b5be65f118e..04ddabc523b 100644 --- a/tests/baselines/reference/systemModule7.js +++ b/tests/baselines/reference/systemModule7.js @@ -11,8 +11,8 @@ export module M { //// [systemModule7.js] System.register([], function (exports_1, context_1) { - var M; "use strict"; + var M; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModule8.js b/tests/baselines/reference/systemModule8.js index cc79e858ec1..b46c56b703d 100644 --- a/tests/baselines/reference/systemModule8.js +++ b/tests/baselines/reference/systemModule8.js @@ -31,8 +31,8 @@ for ([x] of [[1]]) {} //// [systemModule8.js] System.register([], function (exports_1, context_1) { - var _a, x, y, z0, z1; "use strict"; + var _a, x, y, z0, z1; var __moduleName = context_1 && context_1.id; function foo() { exports_1("x", x = 100); diff --git a/tests/baselines/reference/systemModule9.js b/tests/baselines/reference/systemModule9.js index 1d9b711ff62..06c15910b65 100644 --- a/tests/baselines/reference/systemModule9.js +++ b/tests/baselines/reference/systemModule9.js @@ -22,8 +22,8 @@ export {y as z}; //// [systemModule9.js] System.register(["file1", "file2", "file3", "file4", "file5", "file6", "file7"], function (exports_1, context_1) { - var ns, file2_1, file3_1, file5_1, ns3, x, y; "use strict"; + var ns, file2_1, file3_1, file5_1, ns3, x, y; var __moduleName = context_1 && context_1.id; var exportedNames_1 = { "x": true, diff --git a/tests/baselines/reference/systemModuleAmbientDeclarations.js b/tests/baselines/reference/systemModuleAmbientDeclarations.js index cca1c34436a..b53ae9cc2d4 100644 --- a/tests/baselines/reference/systemModuleAmbientDeclarations.js +++ b/tests/baselines/reference/systemModuleAmbientDeclarations.js @@ -29,8 +29,8 @@ export declare module M { var v: number; } //// [file1.js] System.register([], function (exports_1, context_1) { - var promise, foo, c, e; "use strict"; + var promise, foo, c, e; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js b/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js index bd4e855ca12..ccb6a35411b 100644 --- a/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js +++ b/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js @@ -13,8 +13,8 @@ module M { //// [systemModuleConstEnumsSeparateCompilation.js] System.register([], function (exports_1, context_1) { - var TopLevelConstEnum, M; "use strict"; + var TopLevelConstEnum, M; var __moduleName = context_1 && context_1.id; function foo() { use(TopLevelConstEnum.X); diff --git a/tests/baselines/reference/systemModuleDeclarationMerging.js b/tests/baselines/reference/systemModuleDeclarationMerging.js index 0a52d049f71..bcf3a505a48 100644 --- a/tests/baselines/reference/systemModuleDeclarationMerging.js +++ b/tests/baselines/reference/systemModuleDeclarationMerging.js @@ -10,8 +10,8 @@ export module E { var x; } //// [systemModuleDeclarationMerging.js] System.register([], function (exports_1, context_1) { - var C, E; "use strict"; + var C, E; var __moduleName = context_1 && context_1.id; function F() { } exports_1("F", F); diff --git a/tests/baselines/reference/systemModuleExportDefault.js b/tests/baselines/reference/systemModuleExportDefault.js index 787d5df6c85..d4eb8d8a4a0 100644 --- a/tests/baselines/reference/systemModuleExportDefault.js +++ b/tests/baselines/reference/systemModuleExportDefault.js @@ -40,8 +40,8 @@ System.register([], function (exports_1, context_1) { }); //// [file3.js] System.register([], function (exports_1, context_1) { - var default_1; "use strict"; + var default_1; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -57,8 +57,8 @@ System.register([], function (exports_1, context_1) { }); //// [file4.js] System.register([], function (exports_1, context_1) { - var C; "use strict"; + var C; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js b/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js index cfce3624f44..1925cec4cd0 100644 --- a/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js +++ b/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js @@ -13,8 +13,8 @@ export module TopLevelModule2 { //// [systemModuleNonTopLevelModuleMembers.js] System.register([], function (exports_1, context_1) { - var TopLevelClass, TopLevelModule, TopLevelEnum, TopLevelModule2; "use strict"; + var TopLevelClass, TopLevelModule, TopLevelEnum, TopLevelModule2; var __moduleName = context_1 && context_1.id; function TopLevelFunction() { } exports_1("TopLevelFunction", TopLevelFunction); diff --git a/tests/baselines/reference/systemModuleTargetES6.js b/tests/baselines/reference/systemModuleTargetES6.js index 1f26df84e93..943e57ff742 100644 --- a/tests/baselines/reference/systemModuleTargetES6.js +++ b/tests/baselines/reference/systemModuleTargetES6.js @@ -15,8 +15,8 @@ export function myFunction2() { //// [systemModuleTargetES6.js] System.register([], function (exports_1, context_1) { - var MyClass, MyClass2; "use strict"; + var MyClass, MyClass2; var __moduleName = context_1 && context_1.id; function myFunction() { return new MyClass(); diff --git a/tests/baselines/reference/systemModuleTrailingComments.js b/tests/baselines/reference/systemModuleTrailingComments.js index e5d52731334..05eec6faa75 100644 --- a/tests/baselines/reference/systemModuleTrailingComments.js +++ b/tests/baselines/reference/systemModuleTrailingComments.js @@ -5,8 +5,8 @@ export const test = "TEST"; //// [systemModuleTrailingComments.js] System.register([], function (exports_1, context_1) { - var test; "use strict"; + var test; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemModuleWithSuperClass.js b/tests/baselines/reference/systemModuleWithSuperClass.js index 5d6b19a8f4e..fcc10c2bcb2 100644 --- a/tests/baselines/reference/systemModuleWithSuperClass.js +++ b/tests/baselines/reference/systemModuleWithSuperClass.js @@ -13,8 +13,8 @@ export class Bar extends Foo { //// [foo.js] System.register([], function (exports_1, context_1) { - var Foo; "use strict"; + var Foo; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -30,6 +30,7 @@ System.register([], function (exports_1, context_1) { }); //// [bar.js] System.register(["./foo"], function (exports_1, context_1) { + "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || @@ -41,7 +42,6 @@ System.register(["./foo"], function (exports_1, context_1) { }; })(); var foo_1, Bar; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/systemNamespaceAliasEmit.js b/tests/baselines/reference/systemNamespaceAliasEmit.js index 45e15c832fb..3d36bad2ef1 100644 --- a/tests/baselines/reference/systemNamespaceAliasEmit.js +++ b/tests/baselines/reference/systemNamespaceAliasEmit.js @@ -12,8 +12,8 @@ export {ns, AnEnum, ns as FooBar, AnEnum as BarEnum}; //// [systemNamespaceAliasEmit.js] System.register([], function (exports_1, context_1) { - var ns, AnEnum; "use strict"; + var ns, AnEnum; var __moduleName = context_1 && context_1.id; return { setters: [], diff --git a/tests/baselines/reference/systemObjectShorthandRename.js b/tests/baselines/reference/systemObjectShorthandRename.js index 10cdb098c02..1b679ef707d 100644 --- a/tests/baselines/reference/systemObjectShorthandRename.js +++ b/tests/baselines/reference/systemObjectShorthandRename.js @@ -13,8 +13,8 @@ const b = {x3} //// [x.js] System.register([], function (exports_1, context_1) { - var x; "use strict"; + var x; var __moduleName = context_1 && context_1.id; return { setters: [], @@ -25,8 +25,8 @@ System.register([], function (exports_1, context_1) { }); //// [index.js] System.register(["./x.js"], function (exports_1, context_1) { - var x_js_1, x2, a, x3, b; "use strict"; + var x_js_1, x2, a, x3, b; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js index 9927f8e2b53..ff5c79971ca 100644 --- a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js +++ b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js @@ -1,4 +1,5 @@ System.register(["angular2/core"], function (exports_1, context_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -9,7 +10,6 @@ System.register(["angular2/core"], function (exports_1, context_1) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var ng, MyClass1; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.oldTranspile.js b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.oldTranspile.js index 9927f8e2b53..ff5c79971ca 100644 --- a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.oldTranspile.js +++ b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.oldTranspile.js @@ -1,4 +1,5 @@ System.register(["angular2/core"], function (exports_1, context_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -9,7 +10,6 @@ System.register(["angular2/core"], function (exports_1, context_1) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var ng, MyClass1; - "use strict"; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/transpile/Rename dependencies - System.js b/tests/baselines/reference/transpile/Rename dependencies - System.js index 93f68a21afa..1b7773afc72 100644 --- a/tests/baselines/reference/transpile/Rename dependencies - System.js +++ b/tests/baselines/reference/transpile/Rename dependencies - System.js @@ -1,6 +1,6 @@ System.register(["SomeOtherName"], function (exports_1, context_1) { - var SomeName_1; "use strict"; + var SomeName_1; var __moduleName = context_1 && context_1.id; return { setters: [ diff --git a/tests/baselines/reference/user/bluebird.log b/tests/baselines/reference/user/bluebird.log index 8709b46fab0..9a9a1d20bff 100644 --- a/tests/baselines/reference/user/bluebird.log +++ b/tests/baselines/reference/user/bluebird.log @@ -156,7 +156,6 @@ node_modules/bluebird/js/release/using.js(78,20): error TS2339: Property 'doDisp node_modules/bluebird/js/release/using.js(97,23): error TS2339: Property 'data' does not exist on type 'FunctionDisposer'. node_modules/bluebird/js/release/using.js(223,15): error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature. node_modules/bluebird/js/release/util.js(97,5): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any) | ...' has no compatible call signatures. -node_modules/bluebird/js/release/util.js(201,5): error TS7027: Unreachable code detected. node_modules/bluebird/js/release/util.js(247,28): error TS2554: Expected 0 arguments, but got 2. node_modules/bluebird/js/release/util.js(275,17): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any) | ...' has no compatible call signatures. node_modules/bluebird/js/release/util.js(275,45): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((o: any, p: string | number | symbol) => PropertyDescriptor | undefined) | ((o: any, key: any) =...' has no compatible call signatures. diff --git a/tests/baselines/reference/user/chrome-devtools-frontend.log b/tests/baselines/reference/user/chrome-devtools-frontend.log index dc54ce92c73..af2c17426e3 100644 --- a/tests/baselines/reference/user/chrome-devtools-frontend.log +++ b/tests/baselines/reference/user/chrome-devtools-frontend.log @@ -3155,7 +3155,6 @@ node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighth node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(68209,38): error TS2339: Property 'componentsOrder' does not exist on type '{}'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(68212,26): error TS2339: Property 'maxH' does not exist on type '{}'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(68213,26): error TS2339: Property 'maxV' does not exist on type '{}'. -node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(69112,1): error TS7027: Unreachable code detected. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(69799,1): error TS2323: Cannot redeclare exported variable 'parse'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(70747,4): error TS2531: Object is possibly 'null'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(70747,26): error TS2531: Object is possibly 'null'. @@ -3244,9 +3243,9 @@ node_modules/chrome-devtools-frontend/front_end/bindings/CompilerScriptMapping.j 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...'. Property '_updateScheduled' does not exist on 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...'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(195,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(207,34): error TS2339: Property 'valuesArray' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(230,22): error TS2694: Namespace 'Common' has no exported member 'Event'. @@ -4220,9 +4219,9 @@ node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(232,15): node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(232,51): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(233,20): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(241,76): error TS2339: Property 'ConsoleFilter' does not exist on type '{ new (): Console; prototype: Console; }'. -node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(287,5): error TS2322: Type 'ConsoleViewMessage' is not assignable to type '{ [x: string]: any; willHide(): void; wasShown(): void; element(): Element; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(287,5): error TS2322: Type 'ConsoleViewMessage' is not assignable to type '{ [x: string]: any; willHide(): void; wasShown(): void; element(): Element; }'. Property '_message' does not exist on type '{ [x: string]: any; willHide(): void; wasShown(): void; element(): Element; }'. +node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(287,5): error TS2322: Type 'ConsoleViewMessage' is not assignable to type '{ [x: string]: any; willHide(): void; wasShown(): void; element(): Element; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(312,24): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(326,12): error TS2678: Type 'string' is not comparable to type '{ [x: string]: any; Info: string; Warning: string; Error: string; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleView.js(329,12): error TS2678: Type 'string' is not comparable to type '{ [x: string]: any; Info: string; Warning: string; Error: string; }'. @@ -5075,10 +5074,10 @@ node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(25 node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(257,47): error TS2339: Property 'offsetHeight' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(272,1): error TS8022: JSDoc '@extends' is not attached to a class. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(320,22): error TS2352: Type 'NODE_TYPE' cannot be converted to type 'ViewportDataGridNode'. +node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(334,9): error TS2322: Type 'NODE_TYPE[][]' is not assignable to type 'ViewportDataGridNode[][]'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(334,9): error TS2322: Type 'NODE_TYPE[][]' is not assignable to type 'ViewportDataGridNode[][]'. Type 'NODE_TYPE[]' is not assignable to type 'ViewportDataGridNode[]'. Type 'NODE_TYPE' is not assignable to type 'ViewportDataGridNode'. -node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(334,9): error TS2322: Type 'NODE_TYPE[][]' is not assignable to type 'ViewportDataGridNode[][]'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(363,15): error TS2339: Property 'parent' does not exist on type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(372,11): error TS2339: Property 'remove' does not exist on type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/ViewportDataGrid.js(373,11): error TS2339: Property 'parent' does not exist on type 'NODE_TYPE'. @@ -5188,9 +5187,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'. @@ -5498,9 +5497,9 @@ node_modules/chrome-devtools-frontend/front_end/elements/ClassesPaneWidget.js(20 node_modules/chrome-devtools-frontend/front_end/elements/ClassesPaneWidget.js(241,41): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/elements/ClassesPaneWidget.js(257,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/ClassesPaneWidget.js(257,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/ClassesPaneWidget.js(291,94): error TS2339: Property 'addAll' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/elements/ClassesPaneWidget.js(297,55): error TS2339: Property 'addAll' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/elements/ClassesPaneWidget.js(299,57): error TS2339: Property 'valuesArray' does not exist on type 'Set'. @@ -5531,10 +5530,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. @@ -5582,9 +5581,9 @@ node_modules/chrome-devtools-frontend/front_end/elements/ElementStatePaneWidget. 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; }'. + Property 'item' is missing in type 'ToolbarToggle'. 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. @@ -5764,10 +5763,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'. @@ -6194,9 +6193,9 @@ node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(142,44) node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(169,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(174,57): error TS2339: Property 'window' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(181,27): error TS2339: Property 'setInspectedPageBounds' does not exist on type 'typeof InspectorFrontendHost'. -node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(199,5): error TS2322: Type 'AdvancedApp' is not assignable to type '{ [x: string]: any; presentUI(document: Document): void; }'. node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(199,5): error TS2322: Type 'AdvancedApp' is not assignable to type '{ [x: string]: any; presentUI(document: Document): void; }'. Property '_rootSplitWidget' does not exist on type '{ [x: string]: any; presentUI(document: Document): void; }'. +node_modules/chrome-devtools-frontend/front_end/emulation/AdvancedApp.js(199,5): error TS2322: Type 'AdvancedApp' is not assignable to type '{ [x: string]: any; presentUI(document: Document): void; }'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeModel.js(9,1): error TS8022: JSDoc '@extends' is not attached to a class. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeModel.js(50,81): error TS2345: Argument of type 'symbol' is not assignable to parameter of type '{ [x: string]: any; Global: symbol; Local: symbol; Session: symbol; }'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeModel.js(52,43): error TS2694: Namespace 'DeviceModeModel' has no exported member 'Type'. @@ -6291,9 +6290,9 @@ node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(3 node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(316,20): error TS2365: Operator '===' cannot be applied to types '{ [x: string]: any; None: string; Responsive: string; Device: string; }' and 'string'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(338,5): error TS2322: Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarItem'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(338,5): error TS2322: Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarItem'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(346,9): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; None: string; Responsive: string; Device: string; }'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(351,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ [x: string]: any; None: string; Responsive: string; Device: string; }'. node_modules/chrome-devtools-frontend/front_end/emulation/DeviceModeToolbar.js(392,9): error TS2555: Expected at least 2 arguments, but got 1. @@ -7703,12 +7702,12 @@ node_modules/chrome-devtools-frontend/front_end/main/Main.js(201,14): error TS25 node_modules/chrome-devtools-frontend/front_end/main/Main.js(202,14): error TS2551: Property 'resourceMapping' does not exist on type 'typeof Bindings'. Did you mean 'ResourceMapping'? node_modules/chrome-devtools-frontend/front_end/main/Main.js(204,5): error TS2322: Type 'CSSWorkspaceBinding' is not assignable to type '{ [x: string]: any; rawLocationToUILocation(rawLocation: CSSLocation): UILocation; uiLocationToRa...'. Type 'CSSWorkspaceBinding' is not assignable to type '{ [x: string]: any; rawLocationToUILocation(rawLocation: CSSLocation): UILocation; uiLocationToRa...'. + Property '_workspace' does not exist on type '{ [x: string]: any; rawLocationToUILocation(rawLocation: CSSLocation): UILocation; uiLocationToRa...'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(204,5): error TS2322: Type 'CSSWorkspaceBinding' is not assignable to type '{ [x: string]: any; rawLocationToUILocation(rawLocation: CSSLocation): UILocation; uiLocationToRa...'. Type 'CSSWorkspaceBinding' is not assignable to type '{ [x: string]: any; rawLocationToUILocation(rawLocation: CSSLocation): UILocation; uiLocationToRa...'. - Property '_workspace' does not exist on type '{ [x: string]: any; rawLocationToUILocation(rawLocation: CSSLocation): UILocation; uiLocationToRa...'. -node_modules/chrome-devtools-frontend/front_end/main/Main.js(208,5): error TS2322: Type 'ExtensionServer' is not assignable to type 'typeof extensionServer'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(208,5): error TS2322: Type 'ExtensionServer' is not assignable to type 'typeof extensionServer'. Property '_extensionAPITestHook' is missing in type 'ExtensionServer'. +node_modules/chrome-devtools-frontend/front_end/main/Main.js(208,5): error TS2322: Type 'ExtensionServer' is not assignable to type 'typeof extensionServer'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(230,10): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(256,27): error TS2339: Property 'loadCompleted' does not exist on type 'typeof InspectorFrontendHost'. node_modules/chrome-devtools-frontend/front_end/main/Main.js(261,27): error TS2339: Property 'runtime' does not exist on type 'Window'. @@ -7745,9 +7744,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. @@ -7947,9 +7946,9 @@ node_modules/chrome-devtools-frontend/front_end/network/BlockedURLsPane.js(26,37 node_modules/chrome-devtools-frontend/front_end/network/BlockedURLsPane.js(28,51): error TS2694: Namespace 'NetworkManager' has no exported member 'BlockedPattern'. node_modules/chrome-devtools-frontend/front_end/network/BlockedURLsPane.js(29,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/network/BlockedURLsPane.js(29,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/network/BlockedURLsPane.js(35,58): error TS2694: Namespace 'NetworkManager' has no exported member 'BlockedPattern'. node_modules/chrome-devtools-frontend/front_end/network/BlockedURLsPane.js(52,39): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/network/BlockedURLsPane.js(53,47): error TS2555: Expected at least 2 arguments, but got 1. @@ -8140,10 +8139,10 @@ node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(766,59 node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(780,45): error TS2339: Property 'window' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(853,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(867,22): error TS2694: Namespace 'Common' has no exported member 'Event'. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(905,5): error TS2322: Type 'ViewportDataGridNode[]' is not assignable to type 'NetworkNode[]'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(905,5): error TS2322: Type 'ViewportDataGridNode[]' is not assignable to type 'NetworkNode[]'. Type 'ViewportDataGridNode' is not assignable to type 'NetworkNode'. Property '_parentView' is missing in type 'ViewportDataGridNode'. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(905,5): error TS2322: Type 'ViewportDataGridNode[]' is not assignable to type 'NetworkNode[]'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(916,20): error TS2339: Property 'window' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(938,41): error TS2339: Property 'firstValue' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogView.js(1074,22): error TS2694: Namespace 'Common' has no exported member 'Event'. @@ -8355,8 +8354,8 @@ node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(243,27): error TS2339: Property 'secondsToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(247,30): error TS2339: Property 'secondsToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(252,7): error TS2322: Type '{ left: any; right: string; }' is not assignable to type '{ left: string; right: string; tooltip: string; }'. - Property 'tooltip' is missing in type '{ left: any; right: string; }'. node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(252,7): error TS2322: Type '{ left: any; right: string; }' is not assignable to type '{ left: string; right: string; tooltip: string; }'. + Property 'tooltip' is missing in type '{ left: any; right: string; }'. node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(255,26): error TS2339: Property 'secondsToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(358,19): error TS2339: Property 'secondsToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/network/NetworkTimeCalculator.js(395,19): error TS2339: Property 'secondsToString' does not exist on type 'NumberConstructor'. @@ -9317,8 +9316,8 @@ node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileFlameChart.js node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(61,16): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(63,16): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(73,5): error TS2322: Type 'CPUFlameChartDataProvider' is not assignable to type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. - Property '_cpuProfile' does not exist on type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(73,5): error TS2322: Type 'CPUFlameChartDataProvider' is not assignable to type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. + Property '_cpuProfile' does not exist on type '{ [x: string]: any; minimumBoundary(): number; totalTime(): number; formatValue(value: number, pr...'. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(82,43): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(85,29): error TS2339: Property 'instance' does not exist on type 'typeof CPUProfileType'. node_modules/chrome-devtools-frontend/front_end/profiler/CPUProfileView.js(115,30): error TS2555: Expected at least 2 arguments, but got 1. @@ -9384,10 +9383,10 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapProfilerPanel.js(10 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...'. + Property 'SelectedNode' is missing in type '{ [x: string]: any; ContentShown: symbol; SortingComplete: symbol; }'. 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. @@ -9464,10 +9463,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...'. @@ -9501,29 +9500,30 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.j 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; 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; 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(871,36): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(874,34): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. 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(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'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(980,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotConstructorNode' is not assignable to the same property in base type 'HeapSnapshotGridNode'. 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(980,3): error TS2416: Property 'createProvider' in type 'HeapSnapshotConstructorNode' is not assignable to the same property in base type 'HeapSnapshotGridNode'. 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(981,27): error TS2339: Property 'snapshot' does not exist on type 'HeapSnapshotSortableDataGrid'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1000,20): error TS2352: Type 'DataGridNode' cannot be converted to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Type 'DataGridNode' is not comparable to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Property 'dispose' is missing in type 'DataGridNode'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1001,5): error TS2322: Type '(this | ({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; is...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1001,5): error TS2322: Type '(this | ({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; is...'. Type 'this | ({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Type 'this' is not assignable to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. @@ -9532,7 +9532,6 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.j Type 'this' is not assignable to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Type 'HeapSnapshotConstructorNode' is not assignable to type '{ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; isE...'. Property 'nodePosition' is missing in type 'HeapSnapshotConstructorNode'. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1001,5): error TS2322: Type '(this | ({ [x: string]: any; dispose(): void; nodePosition(snapshotObjectId: number): Promise; is...'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1019,14): error TS2339: Property '_searchMatched' does not exist on type 'HeapSnapshotConstructorNode'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1029,81): error TS2339: Property 'snapshot' does not exist on type 'HeapSnapshotSortableDataGrid'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1140,22): error TS2339: Property 'pushAll' does not exist on type 'any[]'. @@ -9544,10 +9543,10 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.j 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; 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; 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(1194,14): error TS2339: Property 'snapshot' does not exist on type 'HeapSnapshotSortableDataGrid'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1194,53): error TS2339: Property 'baseSnapshot' does not exist on type 'HeapSnapshotSortableDataGrid'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotGridNodes.js(1195,14): error TS2339: Property 'baseSnapshot' does not exist on type 'HeapSnapshotSortableDataGrid'. @@ -9596,12 +9595,12 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(254 node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(256,17): error TS2345: Argument of type 'ToolbarText' is not assignable to parameter of type 'ToolbarComboBox | ToolbarInput'. Type 'ToolbarText' is not assignable to type 'ToolbarInput'. Property '_prompt' is missing in type 'ToolbarText'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(257,5): error TS2322: Type '(ToolbarComboBox | 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/profiler/HeapSnapshotView.js(257,5): error TS2322: Type '(ToolbarComboBox | ToolbarInput)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. Type 'ToolbarComboBox | ToolbarInput' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarComboBox' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarComboBox' is not assignable to type '{ [x: string]: any; item(): any & any; }'. Property 'item' is missing in type 'ToolbarComboBox'. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(257,5): error TS2322: Type '(ToolbarComboBox | 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/profiler/HeapSnapshotView.js(344,50): error TS2551: Property 'jumpBackwards' does not exist on type 'SearchConfig'. Did you mean 'jumpBackward'? node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(397,25): error TS2339: Property '_loadPromise' does not exist on type 'ProfileHeader'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(405,24): error TS2345: Argument of type 'SearchConfig' is not assignable to parameter of type 'SearchConfig'. @@ -9635,9 +9634,9 @@ node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(100 node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1011,12): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1015,12): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1038,26): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1042,5): error TS2322: Type 'ProfileHeader' is not assignable to type 'HeapProfileHeader'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1042,5): error TS2322: Type 'ProfileHeader' is not assignable to type 'HeapProfileHeader'. Property '_heapProfilerModel' is missing in type 'ProfileHeader'. +node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1042,5): error TS2322: Type 'ProfileHeader' is not assignable to type 'HeapProfileHeader'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1050,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1056,33): error TS2339: Property 'transferChunk' does not exist on type 'ProfileHeader'. node_modules/chrome-devtools-frontend/front_end/profiler/HeapSnapshotView.js(1060,22): error TS2694: Namespace 'Common' has no exported member 'Event'. @@ -9813,12 +9812,12 @@ node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(84,17): Type 'IteratorResult<(string | Element)[]>' is not assignable to type 'IteratorResult<[any, any]>'. Type '(string | Element)[]' is not assignable to type '[any, any]'. Property '0' is missing in type '(string | Element)[]'. -node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(127,5): error TS2322: Type '(ToolbarButton | ToolbarComboBox)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(127,5): error TS2322: Type '(ToolbarButton | ToolbarComboBox)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. Type 'ToolbarButton | ToolbarComboBox' 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/profiler/ProfileView.js(127,5): error TS2322: Type '(ToolbarButton | ToolbarComboBox)[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(136,59): error TS2339: Property 'profile' does not exist on type 'ProfileView'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(136,78): error TS2339: Property 'adjustedTotal' does not exist on type 'ProfileView'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(147,59): error TS2339: Property 'profile' does not exist on type 'ProfileView'. @@ -10006,11 +10005,11 @@ node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsV node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(44,22): error TS2339: Property 'style' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(48,44): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(59,32): error TS2339: Property 'style' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(67,5): error TS2322: Type 'ToolbarItem[]' 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/ApplicationCacheItemsView.js(67,5): error TS2322: Type 'ToolbarItem[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarItem' is not assignable to type '{ [x: string]: any; item(): any & any; }'. Property 'item' is missing in type 'ToolbarItem'. -node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(67,5): error TS2322: Type 'ToolbarItem[]' 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/ApplicationCacheItemsView.js(117,22): error TS2339: Property 'type' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(131,30): error TS2339: Property 'type' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/resources/ApplicationCacheItemsView.js(132,44): error TS2555: Expected at least 2 arguments, but got 1. @@ -10394,8 +10393,8 @@ node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastApp.js(107, node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastApp.js(107,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/screencast/ScreencastApp.js(121,5): error TS2322: Type 'ScreencastApp' is not assignable to type '{ [x: string]: any; presentUI(document: Document): void; }'. - Property '_enabledSetting' does not exist on type '{ [x: string]: any; presentUI(document: Document): void; }'. node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastApp.js(121,5): error TS2322: Type 'ScreencastApp' is not assignable to type '{ [x: string]: any; presentUI(document: Document): void; }'. + Property '_enabledSetting' does not exist on type '{ [x: string]: any; presentUI(document: Document): void; }'. node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(56,42): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(152,24): error TS2694: Namespace 'Protocol' has no exported member 'Page'. node_modules/chrome-devtools-frontend/front_end/screencast/ScreencastView.js(193,22): error TS2694: Namespace 'Common' has no exported member 'Event'. @@ -10913,8 +10912,8 @@ node_modules/chrome-devtools-frontend/front_end/sdk/EmulationModel.js(65,5): err Type 'OverlayModel' is not assignable to type '{ [x: string]: any; highlightDOMNode(node: DOMNode, config: any, backendNodeId?: any, objectId?: ...'. Property '_domModel' does not exist on type '{ [x: string]: any; highlightDOMNode(node: DOMNode, config: any, backendNodeId?: any, objectId?: ...'. node_modules/chrome-devtools-frontend/front_end/sdk/EmulationModel.js(148,5): error TS2322: Type '{ [x: string]: any; enabled: boolean; configuration: string; }' is not assignable to type '{ [x: string]: any; enabled: boolean; configuration: string; scriptId: string; }'. - Property 'scriptId' is missing in type '{ [x: string]: any; enabled: boolean; configuration: string; }'. node_modules/chrome-devtools-frontend/front_end/sdk/EmulationModel.js(148,5): error TS2322: Type '{ [x: string]: any; enabled: boolean; configuration: string; }' is not assignable to type '{ [x: string]: any; enabled: boolean; configuration: string; scriptId: string; }'. + Property 'scriptId' is missing in type '{ [x: string]: any; enabled: boolean; configuration: string; }'. node_modules/chrome-devtools-frontend/front_end/sdk/FilmStripModel.js(77,30): error TS2339: Property 'upperBound' does not exist on type 'Frame[]'. node_modules/chrome-devtools-frontend/front_end/sdk/HeapProfilerModel.js(10,12): error TS2339: Property 'registerHeapProfilerDispatcher' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/sdk/HeapProfilerModel.js(12,38): error TS2339: Property 'heapProfilerAgent' does not exist on type 'Target'. @@ -11220,11 +11219,11 @@ node_modules/chrome-devtools-frontend/front_end/sdk/ProfileTreeModel.js(86,26): node_modules/chrome-devtools-frontend/front_end/sdk/ProfileTreeModel.js(93,15): error TS2339: Property 'depth' does not exist on type 'ProfileNode'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(32,2): error TS1003: Identifier expected. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(33,5): error TS2339: Property 'CallFunctionResult' does not exist on type 'typeof SDK'. +node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(45,5): error TS2322: Type 'LocalJSONObject' is not assignable to type 'RemoteObject'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(45,5): error TS2322: Type 'LocalJSONObject' is not assignable to type 'RemoteObject'. Types of property 'callFunctionJSON' are incompatible. 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(45,5): error TS2322: Type 'LocalJSONObject' is not assignable to type 'RemoteObject'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(73,42): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(73,73): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/RemoteObject.js(87,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. @@ -11280,9 +11279,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'. @@ -11301,10 +11300,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'. @@ -11366,17 +11365,17 @@ node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(96,39): erro node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(125,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(133,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(168,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. +node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(173,5): error TS2322: Type 'RemoteObjectImpl' is not assignable to type 'RemoteObject'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(173,5): error TS2322: Type 'RemoteObjectImpl' is not assignable to type 'RemoteObject'. Types of property 'callFunctionJSON' are incompatible. 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/RuntimeModel.js(173,5): error TS2322: Type 'RemoteObjectImpl' is not assignable to type 'RemoteObject'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(179,24): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(184,5): error TS2322: Type 'ScopeRemoteObject' is not assignable to type 'RemoteObject'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(184,5): error TS2322: Type 'ScopeRemoteObject' is not assignable to type 'RemoteObject'. Types of property 'callFunctionJSON' are incompatible. 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/RuntimeModel.js(184,5): error TS2322: Type 'ScopeRemoteObject' is not assignable to type 'RemoteObject'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(199,40): error TS2339: Property 'Runtime' does not exist on type 'typeof Protocol'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(201,40): error TS2339: Property 'Runtime' does not exist on type 'typeof Protocol'. node_modules/chrome-devtools-frontend/front_end/sdk/RuntimeModel.js(203,40): error TS2339: Property 'Runtime' does not exist on type 'typeof Protocol'. @@ -11447,9 +11446,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'. @@ -11537,8 +11536,8 @@ node_modules/chrome-devtools-frontend/front_end/sdk/SourceMap.js(284,7): error T 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<...'. - 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<...'. + 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(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[]'. @@ -11557,9 +11556,9 @@ node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(86,42): node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(87,47): error TS2339: Property 'get' does not exist on type 'Multimap'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(141,45): error TS2339: Property 'has' does not exist on type 'Multimap'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(146,40): error TS2339: Property 'set' does not exist on type 'Multimap'. -node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(159,36): error TS2352: Type 'TextSourceMap' cannot be converted to type '{ [x: string]: any; compiledURL(): string; url(): string; sourceURLs(): string[]; sourceContentPr...'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(159,36): error TS2352: Type 'TextSourceMap' cannot be converted to type '{ [x: string]: any; compiledURL(): string; url(): string; sourceURLs(): string[]; sourceContentPr...'. Property '_json' does not exist on type '{ [x: string]: any; compiledURL(): string; url(): string; sourceURLs(): string[]; sourceContentPr...'. +node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(159,36): error TS2352: Type 'TextSourceMap' cannot be converted to type '{ [x: string]: any; compiledURL(): string; url(): string; sourceURLs(): string[]; sourceContentPr...'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(208,39): error TS2339: Property 'runtime' does not exist on type 'Window'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(210,31): error TS2339: Property 'containsAll' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(227,38): error TS2339: Property 'hasValue' does not exist on type 'Multimap'. @@ -11629,9 +11628,9 @@ node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(530,24): er node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(555,29): error TS2339: Property 'bringToFront' does not exist on type 'typeof InspectorFrontendHost'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(581,24): error TS2694: Namespace 'Protocol' has no exported member 'TargetAgent'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(583,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. -node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(589,5): error TS2322: Type 'ChildConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(589,5): error TS2322: Type 'ChildConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. Property '_agent' does not exist on type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. +node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(589,5): error TS2322: Type 'ChildConnection' is not assignable to type '{ [x: string]: any; sendMessage(message: string): void; disconnect(): Promise; }'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(598,24): error TS2694: Namespace 'Protocol' has no exported member 'TargetAgent'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(600,52): error TS2694: Namespace 'Connection' has no exported member 'Params'. node_modules/chrome-devtools-frontend/front_end/sdk/TargetManager.js(672,1): error TS2322: Type 'TargetManager' is not assignable to type '{ [x: string]: any; targetAdded(target: Target): void; targetRemoved(target: Target): void; } & {...'. @@ -11649,10 +11648,10 @@ node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(133,42): err node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(179,34): error TS2694: Namespace 'TracingManager' has no exported member 'EventPayload'. node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(250,47): error TS2339: Property 'id' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(254,37): error TS2339: Property 'id' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(283,5): error TS2322: Type 'NamedObject[]' is not assignable to type 'Process[]'. node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(283,5): error TS2322: Type 'NamedObject[]' is not assignable to type 'Process[]'. Type 'NamedObject' is not assignable to type 'Process'. Property '_threads' is missing in type 'NamedObject'. -node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(283,5): error TS2322: Type 'NamedObject[]' is not assignable to type 'Process[]'. node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(283,65): error TS2339: Property 'valuesArray' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(305,23): error TS2339: Property 'stableSort' does not exist on type 'Event[]'. node_modules/chrome-devtools-frontend/front_end/sdk/TracingModel.js(308,49): error TS2345: Argument of type '{ [x: string]: any; Begin: string; End: string; Complete: string; Instant: string; AsyncBegin: st...' is not assignable to parameter of type 'string'. @@ -11956,11 +11955,11 @@ node_modules/chrome-devtools-frontend/front_end/snippets/ScriptSnippetModel.js(5 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; })[]'. 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/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(62,16): error TS2339: Property 'sprintf' does not exist on type 'StringConstructor'. node_modules/chrome-devtools-frontend/front_end/source_frame/FontView.js(78,21): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/source_frame/FontView.js(79,19): error TS2339: Property 'createTextChild' does not exist on type 'Element'. @@ -12559,9 +12558,9 @@ node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(153,62): node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(208,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(227,52): error TS2339: Property '_instance' does not exist on type 'typeof WrapperView'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(242,40): error TS2339: Property '_instance' does not exist on type 'typeof WrapperView'. -node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(257,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/sources/SourcesPanel.js(257,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/sources/SourcesPanel.js(257,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/sources/SourcesPanel.js(277,20): error TS2339: Property 'window' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(289,22): error TS2694: Namespace 'Common' has no exported member 'Event'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesPanel.js(313,27): error TS2339: Property 'bringToFront' does not exist on type 'typeof InspectorFrontendHost'. @@ -12801,11 +12800,11 @@ node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPan node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(15,46): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(16,38): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(21,44): error TS2555: Expected at least 2 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(34,5): error TS2322: Type 'ToolbarButton[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(34,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; } & { [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/sources/XHRBreakpointsSidebarPane.js(34,5): error TS2322: Type 'ToolbarButton[]' is not assignable to type '({ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; })[]'. node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(39,45): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(47,41): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/XHRBreakpointsSidebarPane.js(49,46): error TS2339: Property 'createChild' does not exist on type 'Element'. @@ -13446,10 +13445,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[]'. @@ -13630,9 +13629,9 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineLoader.js(28,41 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineLoader.js(43,14): error TS2339: Property '_reportErrorAndCancelLoading' does not exist on type 'typeof TimelineLoader'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineLoader.js(45,5): error TS2322: Type 'TimelineLoader' is not assignable to type '{ [x: string]: any; loadingStarted(): void; loadingProgress(progress?: number): void; processingS...'. Type 'TimelineLoader' is not assignable to type '{ [x: string]: any; loadingStarted(): void; loadingProgress(progress?: number): void; processingS...'. + Property 'loadingStarted' is missing in type 'TimelineLoader'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineLoader.js(45,5): error TS2322: Type 'TimelineLoader' is not assignable to type '{ [x: string]: any; loadingStarted(): void; loadingProgress(progress?: number): void; processingS...'. Type 'TimelineLoader' is not assignable to type '{ [x: string]: any; loadingStarted(): void; loadingProgress(progress?: number): void; processingS...'. - Property 'loadingStarted' is missing in type 'TimelineLoader'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineLoader.js(56,5): error TS2322: Type 'TimelineLoader' is not assignable to type '{ [x: string]: any; loadingStarted(): void; loadingProgress(progress?: number): void; processingS...'. Type 'TimelineLoader' is not assignable to type '{ [x: string]: any; loadingStarted(): void; loadingProgress(progress?: number): void; processingS...'. Property 'loadingStarted' is missing in type 'TimelineLoader'. @@ -13663,9 +13662,9 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelinePanel.js(206,42 Property 'item' is missing in type 'ToolbarSettingCheckbox'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelinePanel.js(207,5): error TS2322: Type 'ToolbarSettingCheckbox' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarSettingCheckbox' is not assignable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarSettingCheckbox'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelinePanel.js(207,5): error TS2322: Type 'ToolbarSettingCheckbox' is not assignable to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarSettingCheckbox' is not assignable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarSettingCheckbox'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelinePanel.js(212,42): error TS2345: Argument of type 'ToolbarToggle' is not assignable to parameter of 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/timeline/TimelinePanel.js(213,42): error TS2345: Argument of type 'ToolbarToggle' is not assignable to parameter of type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. @@ -13791,17 +13790,17 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(727 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(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; }'. - Property 'icon' is missing in type '{ name: any; color: string; }'. 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: 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; }'. 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. @@ -14136,8 +14135,8 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1657 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1664,11): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1665,67): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1675,5): error TS2322: Type 'DocumentFragment' is not assignable to type 'Element'. - Property 'assignedSlot' is missing in type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1675,5): error TS2322: Type 'DocumentFragment' is not assignable to type 'Element'. + Property 'assignedSlot' is missing in type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1684,30): error TS2339: Property 'millisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1685,16): error TS2339: Property 'millisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1687,13): error TS2339: Property 'createTextChild' does not exist on type 'Element'. @@ -14609,9 +14608,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'. @@ -15038,9 +15037,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'. @@ -15066,9 +15065,9 @@ node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(343,36): error TS2 Type 'ToolbarSeparator' is not comparable to type '{ [x: string]: any; item(): any & any; }'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(346,17): error TS2352: Type 'ToolbarToggle' cannot be converted to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarToggle' is not comparable to type '{ [x: string]: any; item(): any & any; }'. - Property 'item' is missing in type 'ToolbarToggle'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(346,17): error TS2352: Type 'ToolbarToggle' cannot be converted to type '{ [x: string]: any; item(): any & any; } & { [x: string]: any; item(): any & any; }'. Type 'ToolbarToggle' is not comparable to type '{ [x: string]: any; item(): any & any; }'. + Property 'item' is missing in type 'ToolbarToggle'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(405,53): error TS2339: Property '_toolbar' does not exist on type 'ToolbarItem'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(405,70): error TS2339: Property '_toolbar' does not exist on type 'ToolbarItem'. node_modules/chrome-devtools-frontend/front_end/ui/Toolbar.js(412,18): error TS2339: Property 'disabled' does not exist on type 'Element'. @@ -15304,9 +15303,9 @@ node_modules/chrome-devtools-frontend/front_end/ui/View.js(343,24): error TS2538 node_modules/chrome-devtools-frontend/front_end/ui/View.js(361,25): error TS2538: Type 'symbol' cannot be used as an index type. node_modules/chrome-devtools-frontend/front_end/ui/View.js(371,23): error TS2339: Property 'showView' does not exist on type '_Location'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(383,35): error TS2339: Property 'runtime' does not exist on type 'Window'. -node_modules/chrome-devtools-frontend/front_end/ui/View.js(401,5): error TS2322: Type '_TabbedLocation' is not assignable to type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(401,5): error TS2322: Type '_TabbedLocation' is not assignable to type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. Property '_tabbedPane' does not exist on type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. +node_modules/chrome-devtools-frontend/front_end/ui/View.js(401,5): error TS2322: Type '_TabbedLocation' is not assignable to type '{ [x: string]: any; tabbedPane(): TabbedPane; enableMoreTabsButton(): void; }'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(411,5): error TS2322: Type '_StackLocation' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(411,5): error TS2322: Type '_StackLocation' is not assignable to type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. Property '_vbox' does not exist on type '{ [x: string]: any; appendApplicableItems(locationName: string): void; appendView(view: { [x: str...'. diff --git a/tests/baselines/reference/user/uglify-js.log b/tests/baselines/reference/user/uglify-js.log index 8d4125a3a47..61a2e995d76 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(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(1313,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1406,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1503,27): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1535,26): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1949,44): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2141,19): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2401,27): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3141,23): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3154,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. -node_modules/uglify-js/lib/compress.js(3291,18): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3301,33): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3305,32): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3311,40): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3320,41): error TS2339: Property 'add' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3337,14): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3339,40): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3347,33): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3421,63): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3610,23): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3627,36): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3633,38): error TS2339: Property 'set' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3637,40): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3662,22): error TS2339: Property 'each' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3667,30): error TS2339: Property 'del' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3672,30): error TS2339: Property 'set' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3683,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3685,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3697,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3699,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3805,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(3807,36): error TS2339: Property 'get' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3836,22): error TS2339: Property 'set' does not exist on type 'Dictionary'. -node_modules/uglify-js/lib/compress.js(3856,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. -node_modules/uglify-js/lib/compress.js(3881,30): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4019,18): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4318,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(4402,22): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4750,30): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4757,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(4761,36): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(4766,41): error TS2339: Property 'get' does not exist on type 'string'. -node_modules/uglify-js/lib/compress.js(5253,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. -node_modules/uglify-js/lib/compress.js(5692,25): error TS2365: Operator '==' cannot be applied to types 'boolean' and '"f"'. -node_modules/uglify-js/lib/compress.js(5719,32): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5779,24): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5851,24): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5857,26): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6207,43): error TS2454: Variable 'property' is used before being assigned. -node_modules/uglify-js/lib/compress.js(6221,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(6224,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. -node_modules/uglify-js/lib/compress.js(6231,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(6284,19): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(516,26): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(831,18): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1086,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1100,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(1164,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1206,112): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(1207,29): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(1216,87): error TS2322: Type 'false' is not assignable to type 'number'. +node_modules/uglify-js/lib/compress.js(1224,29): error TS2322: Type 'false' is not assignable to type 'never'. +node_modules/uglify-js/lib/compress.js(1324,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1417,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1514,27): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1546,26): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1960,44): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2152,19): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2412,27): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3152,23): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3165,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. +node_modules/uglify-js/lib/compress.js(3302,18): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3312,33): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3316,32): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3322,40): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3331,41): error TS2339: Property 'add' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3348,14): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3350,40): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3358,33): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3432,63): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3621,23): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3638,36): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3644,38): error TS2339: Property 'set' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3648,40): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3673,22): error TS2339: Property 'each' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3678,30): error TS2339: Property 'del' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3683,30): error TS2339: Property 'set' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3694,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3696,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3708,41): error TS2339: Property 'has' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3710,48): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3816,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(3818,36): error TS2339: Property 'get' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3847,22): error TS2339: Property 'set' does not exist on type 'Dictionary'. +node_modules/uglify-js/lib/compress.js(3867,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. +node_modules/uglify-js/lib/compress.js(3892,30): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4030,18): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4329,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(4413,22): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4761,30): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4768,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(4772,36): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(4777,41): error TS2339: Property 'get' does not exist on type 'string'. +node_modules/uglify-js/lib/compress.js(5264,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. +node_modules/uglify-js/lib/compress.js(5703,25): error TS2365: Operator '==' cannot be applied to types 'boolean' and '"f"'. +node_modules/uglify-js/lib/compress.js(5730,32): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5790,24): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5862,24): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5868,26): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6218,43): error TS2454: Variable 'property' is used before being assigned. +node_modules/uglify-js/lib/compress.js(6232,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(6235,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. +node_modules/uglify-js/lib/compress.js(6242,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(6295,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/inheritanceMemberAccessorOverridingMethod.ts b/tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts index 3165e30ee29..5684276beb2 100644 --- a/tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts +++ b/tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts @@ -1,3 +1,4 @@ +// @target: es5 class a { x() { return "20"; @@ -6,9 +7,9 @@ class a { class b extends a { get x() { - return "20"; + return () => "20"; } - set x(aValue: string) { - + set x(aValue) { + } } \ No newline at end of file diff --git a/tests/cases/compiler/propertyOverridingPrototype.ts b/tests/cases/compiler/propertyOverridingPrototype.ts new file mode 100644 index 00000000000..06ca94c49c3 --- /dev/null +++ b/tests/cases/compiler/propertyOverridingPrototype.ts @@ -0,0 +1,9 @@ +class Base { + foo() { + } +} + +class Derived extends Base { + foo: () => { }; +} + diff --git a/tests/cases/conformance/externalModules/es6/es6modulekindExportClassNameWithObject.ts b/tests/cases/conformance/externalModules/es6/es6modulekindExportClassNameWithObject.ts new file mode 100644 index 00000000000..40de8852ff1 --- /dev/null +++ b/tests/cases/conformance/externalModules/es6/es6modulekindExportClassNameWithObject.ts @@ -0,0 +1,3 @@ +// @target: ES5 +// @module: es2015 +export class Object {} diff --git a/tests/cases/conformance/externalModules/esnext/exnextmodulekindExportClassNameWithObject.ts b/tests/cases/conformance/externalModules/esnext/exnextmodulekindExportClassNameWithObject.ts new file mode 100644 index 00000000000..440bfe080d4 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/exnextmodulekindExportClassNameWithObject.ts @@ -0,0 +1,3 @@ +// @target: ES5 +// @module: esnext +export class Object {} diff --git a/tests/cases/conformance/externalModules/exportAmbientClassNameWithObject.ts b/tests/cases/conformance/externalModules/exportAmbientClassNameWithObject.ts new file mode 100644 index 00000000000..3262ecdd3a5 --- /dev/null +++ b/tests/cases/conformance/externalModules/exportAmbientClassNameWithObject.ts @@ -0,0 +1,2 @@ +// @target: ES5 +export declare class Object {} diff --git a/tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts b/tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts new file mode 100644 index 00000000000..529924b4a4f --- /dev/null +++ b/tests/cases/conformance/externalModules/exportClassNameWithObjectAMD.ts @@ -0,0 +1,3 @@ +// @target: ES5 +// @module: amd +export class Object {} diff --git a/tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts b/tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts new file mode 100644 index 00000000000..676e275dfbd --- /dev/null +++ b/tests/cases/conformance/externalModules/exportClassNameWithObjectCommonJS.ts @@ -0,0 +1,3 @@ +// @target: ES5 +// @module: commonjs +export class Object {} diff --git a/tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts b/tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts new file mode 100644 index 00000000000..6d23d7e1e3b --- /dev/null +++ b/tests/cases/conformance/externalModules/exportClassNameWithObjectSystem.ts @@ -0,0 +1,3 @@ +// @target: ES5 +// @module: system +export class Object {} diff --git a/tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts b/tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts new file mode 100644 index 00000000000..d2cb221a069 --- /dev/null +++ b/tests/cases/conformance/externalModules/exportClassNameWithObjectUMD.ts @@ -0,0 +1,3 @@ +// @target: ES5 +// @module: umd +export class Object {} diff --git a/tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts b/tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts new file mode 100644 index 00000000000..75a5a33ac06 --- /dev/null +++ b/tests/cases/conformance/externalModules/exportDefaultClassNameWithObject.ts @@ -0,0 +1,2 @@ +// @target: ES5 +export default class Object {} diff --git a/tests/cases/conformance/jsdoc/callbackTagNamespace.ts b/tests/cases/conformance/jsdoc/callbackTagNamespace.ts index ba331e79fc4..54d363f31dc 100644 --- a/tests/cases/conformance/jsdoc/callbackTagNamespace.ts +++ b/tests/cases/conformance/jsdoc/callbackTagNamespace.ts @@ -4,8 +4,8 @@ // @Filename: namespaced.js /** * @callback NS.Nested.Inner - * @param {string} space - spaaaaaaaaace - * @param {string} peace - peaaaaaaaaace + * @param {Object} space - spaaaaaaaaace + * @param {Object} peace - peaaaaaaaaace * @return {string | number} */ var x = 1; diff --git a/tests/cases/fourslash/codeFixUnusedIdentifier_all_delete.ts b/tests/cases/fourslash/codeFixUnusedIdentifier_all_delete.ts index 56558c3765d..c4c64c1da43 100644 --- a/tests/cases/fourslash/codeFixUnusedIdentifier_all_delete.ts +++ b/tests/cases/fourslash/codeFixUnusedIdentifier_all_delete.ts @@ -7,6 +7,21 @@ //// const x = 0; ////} ////function g(a, b, c) { return a; } +//// +////interface I { +//// m(x: number): void; +////} +//// +////class C implements I { +//// m(x: number): void {} // Does not remove 'x', which is inherited +//// n(x: number): void {} +////} +//// +////declare function f(cb: (x: number, y: string) => void): void; +////f((x, y) => {}); +////f((x, y) => { x; }); +////f((x, y) => { y; }); +//// ////{ //// let a, b; ////} @@ -19,6 +34,21 @@ verify.codeFixAll({ `function f() { } function g(a) { return a; } + +interface I { + m(x: number): void; +} + +class C implements I { + m(x: number): void {} // Does not remove 'x', which is inherited + n(): void {} +} + +declare function f(cb: (x: number, y: string) => void): void; +f(() => {}); +f((x) => { x; }); +f((x, y) => { y; }); + { } for (; ;) {}`, diff --git a/tests/cases/fourslash/codeFixUnusedIdentifier_destructure_allUnused_all.ts b/tests/cases/fourslash/codeFixUnusedIdentifier_destructure_allUnused_all.ts index af27091788d..c9d4f62f2db 100644 --- a/tests/cases/fourslash/codeFixUnusedIdentifier_destructure_allUnused_all.ts +++ b/tests/cases/fourslash/codeFixUnusedIdentifier_destructure_allUnused_all.ts @@ -6,7 +6,7 @@ ////const { x, y } = o; ////const { a, b } = o; ////a; -////export function f({ x, y }, { a, b }) { +////export function f({ a, b }, { x, y }) { //// a; ////} diff --git a/tests/cases/fourslash/codeFixUnusedIdentifier_parameterInCallback.ts b/tests/cases/fourslash/codeFixUnusedIdentifier_parameterInCallback.ts new file mode 100644 index 00000000000..5fe369da48f --- /dev/null +++ b/tests/cases/fourslash/codeFixUnusedIdentifier_parameterInCallback.ts @@ -0,0 +1,9 @@ +/// + +// @noUnusedParameters: true + +////declare function f(cb: (x: number, y: string) => void): void; +////f((x, y) => { y; }); + +// No codefix to remove a non-last parameter +verify.codeFixAvailable([{ description: "Prefix 'x' with an underscore" }]); diff --git a/tests/cases/fourslash/codeFixUnusedIdentifier_parameterInOverride.ts b/tests/cases/fourslash/codeFixUnusedIdentifier_parameterInOverride.ts new file mode 100644 index 00000000000..35aff860958 --- /dev/null +++ b/tests/cases/fourslash/codeFixUnusedIdentifier_parameterInOverride.ts @@ -0,0 +1,14 @@ +/// + +// @noUnusedParameters: true + +////interface I { +//// m(x: number): void; +////} +//// +////class C implements I { +//// m(x: number): void {} +////} + +// No codefix to remove the parameter, it's inherited +verify.codeFixAvailable([{ description: "Prefix 'x' with an underscore" }]); diff --git a/tests/cases/fourslash/completionImportMeta.ts b/tests/cases/fourslash/completionImportMeta.ts new file mode 100644 index 00000000000..cac84c2c82f --- /dev/null +++ b/tests/cases/fourslash/completionImportMeta.ts @@ -0,0 +1,6 @@ +/// + +////import./**/ + +goTo.marker(""); +verify.completionListContains("meta"); \ No newline at end of file diff --git a/tests/cases/fourslash/completionsImport_tsx.ts b/tests/cases/fourslash/completionsImport_tsx.ts index ff9d79a3e3b..f2f8752082b 100644 --- a/tests/cases/fourslash/completionsImport_tsx.ts +++ b/tests/cases/fourslash/completionsImport_tsx.ts @@ -1,7 +1,6 @@ /// // @noLib: true -// @nolib: true // @jsx: preserve // @Filename: /a.tsx diff --git a/tests/cases/fourslash/completionsNewTarget.ts b/tests/cases/fourslash/completionsNewTarget.ts new file mode 100644 index 00000000000..3f8a4d689cc --- /dev/null +++ b/tests/cases/fourslash/completionsNewTarget.ts @@ -0,0 +1,10 @@ +/// + +////class C { +//// constructor() { +//// if (C === new./**/) +//// } +////} + +goTo.marker(""); +verify.completionListContains("target"); \ No newline at end of file diff --git a/tests/cases/fourslash/crossFileQuickInfoExportedTypeDoesNotUseImportType.ts b/tests/cases/fourslash/crossFileQuickInfoExportedTypeDoesNotUseImportType.ts new file mode 100644 index 00000000000..83677f68781 --- /dev/null +++ b/tests/cases/fourslash/crossFileQuickInfoExportedTypeDoesNotUseImportType.ts @@ -0,0 +1,19 @@ +/// + +// @Filename: b.ts +////export interface B {} +////export function foob(): { +//// x: B, +//// y: B +////} { +//// return null as any; +////} +// @Filename: a.ts +////import { foob } from "./b"; +////const thing/*1*/ = foob(/*2*/); + +verify.quickInfoAt("1", "const thing: {\n x: B;\n y: B;\n}"); +verify.signatureHelp({ + marker: "2", + text: "foob(): { x: B; y: B; }" +}); diff --git a/tests/cases/fourslash/docCommentTemplateFunctionWithParameters_js.ts b/tests/cases/fourslash/docCommentTemplateFunctionWithParameters_js.ts new file mode 100644 index 00000000000..c2917d8f807 --- /dev/null +++ b/tests/cases/fourslash/docCommentTemplateFunctionWithParameters_js.ts @@ -0,0 +1,12 @@ +/// + +// @Filename: /a.js +/////*0*/ +////function f(a, ...b): boolean {} + +verify.docCommentTemplateAt("0", 8, +`/** + * + * @param {any} a + * @param {...any} b + */`); diff --git a/tests/cases/fourslash/importNameCodeFix_avoidRelativeNodeModules.ts b/tests/cases/fourslash/importNameCodeFix_avoidRelativeNodeModules.ts new file mode 100644 index 00000000000..bff7fec2908 --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFix_avoidRelativeNodeModules.ts @@ -0,0 +1,27 @@ +/// + +// @Filename: /a/index.d.ts +// @Symlink: /b/node_modules/a/index.d.ts +// @Symlink: /c/node_modules/a/index.d.ts +////export const a: number; + +// @Filename: /b/index.ts +// @Symlink: /c/node_modules/b/index.d.ts +////import { a } from 'a' +////export const b: number; + +// @Filename: /c/a_user.ts +// Importing from "a" to get /c/node_modules/a in the project. +// Must do this in a separate file to avoid import fixes attempting to share the import. +////import { a } from "a"; + +// @Filename: /c/foo.ts +////[|import { b } from "b"; +////a;|] + +goTo.file("/c/foo.ts"); +verify.importFixAtPosition([ +`import { b } from "b"; +import { a } from "a"; +a;`, +]); diff --git a/tests/cases/fourslash/unusedParameterInConstructor1.ts b/tests/cases/fourslash/unusedParameterInConstructor1.ts deleted file mode 100644 index 92e0e389708..00000000000 --- a/tests/cases/fourslash/unusedParameterInConstructor1.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -// @noUnusedLocals: true -//// class C1 { -//// [|constructor(private p1: string, public p2: boolean, public p3: any, p5)|] { p5; } -//// } - -verify.codeFix({ - description: "Remove declaration for: 'p1'", - index: 0, - newRangeContent: "constructor(public p2: boolean, public p3: any, p5)", -}); diff --git a/tests/cases/fourslash/unusedParameterInConstructor1AddUnderscore.ts b/tests/cases/fourslash/unusedParameterInConstructor1AddUnderscore.ts index 28a84d6498b..c10a2f0d6a1 100644 --- a/tests/cases/fourslash/unusedParameterInConstructor1AddUnderscore.ts +++ b/tests/cases/fourslash/unusedParameterInConstructor1AddUnderscore.ts @@ -7,7 +7,6 @@ verify.codeFix({ description: "Prefix 'p1' with an underscore", - index: 1, newFileContent: `class C1 { constructor(_p1: string, public p2: boolean, public p3: any, p5) { p5; } diff --git a/tests/cases/fourslash/unusedParameterInConstructor2.ts b/tests/cases/fourslash/unusedParameterInConstructor2.ts deleted file mode 100644 index 9771d202a35..00000000000 --- a/tests/cases/fourslash/unusedParameterInConstructor2.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -// @noUnusedLocals: true -//// class C1 { -//// [|constructor(public p1: string, private p2: boolean, public p3: any, p5)|] { p5; } -//// } - -verify.codeFix({ - description: "Remove declaration for: 'p2'", - index: 0, - newRangeContent: "constructor(public p1: string, public p3: any, p5)", -}); diff --git a/tests/cases/fourslash/unusedParameterInConstructor3.ts b/tests/cases/fourslash/unusedParameterInConstructor3.ts deleted file mode 100644 index b45f4d2b85f..00000000000 --- a/tests/cases/fourslash/unusedParameterInConstructor3.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -// @noUnusedLocals: true -//// class C1 { -//// [|constructor(public p1: string, public p2: boolean, private p3: any, p5)|] { p5; } -//// } - -verify.codeFix({ - description: "Remove declaration for: 'p3'", - index: 0, - newRangeContent: "constructor(public p1: string, public p2: boolean, p5)", -}); diff --git a/tests/cases/fourslash/unusedParameterInConstructor4.ts b/tests/cases/fourslash/unusedParameterInConstructor4.ts deleted file mode 100644 index d63ceaa3bcc..00000000000 --- a/tests/cases/fourslash/unusedParameterInConstructor4.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -// @noUnusedLocals: true -//// class C1 { -//// [|constructor(private readonly p2: boolean, p5)|] { p5; } -//// } - -verify.codeFix({ - description: "Remove declaration for: 'p2'", - index: 0, - newRangeContent: "constructor(p5)", -}); diff --git a/tests/cases/fourslash/unusedParameterInFunction3.ts b/tests/cases/fourslash/unusedParameterInFunction3.ts deleted file mode 100644 index 5bf2fc94519..00000000000 --- a/tests/cases/fourslash/unusedParameterInFunction3.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -// @noUnusedParameters: true -////function [|greeter(x,y)|] { -//// y++; -////} - -verify.codeFix({ - description: "Remove declaration for: 'x'", - index: 0, - newRangeContent: "greeter(y)", -}); diff --git a/tests/cases/fourslash/unusedParameterInFunction4.ts b/tests/cases/fourslash/unusedParameterInFunction4.ts deleted file mode 100644 index 59ed0119402..00000000000 --- a/tests/cases/fourslash/unusedParameterInFunction4.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -// @noUnusedParameters: true -////[|function greeter(x,y,z) |] { -//// use(x, z); -////} - -verify.codeFix({ - description: "Remove declaration for: 'y'", - index: 0, - newRangeContent: "function greeter(x,z) ", -}); diff --git a/tests/cases/fourslash/unusedParameterInLambda4.ts b/tests/cases/fourslash/unusedParameterInLambda4.ts deleted file mode 100644 index 015f081891a..00000000000 --- a/tests/cases/fourslash/unusedParameterInLambda4.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// - -// @noUnusedLocals: true -// @noUnusedParameters: true -////[|/*~a*/(/*~b*/x/*~c*/,/*~d*/y/*~e*/)/*~f*/ => /*~g*/y/*~h*/|] - -verify.codeFix({ - description: "Remove declaration for: 'x'", - index: 0, - newRangeContent: "/*~a*/(/*~d*/y/*~e*/)/*~f*/ => /*~g*/y/*~h*/", -});