diff --git a/internal/ast/parseoptions.go b/internal/ast/parseoptions.go index bb8a837687b..0ff5aaae45a 100644 --- a/internal/ast/parseoptions.go +++ b/internal/ast/parseoptions.go @@ -8,18 +8,9 @@ import ( type SourceFileParseOptions struct { FileName string Path tspath.Path - CompilerOptions core.SourceFileAffectingCompilerOptions ExternalModuleIndicatorOptions ExternalModuleIndicatorOptions } -func GetSourceFileAffectingCompilerOptions(fileName string, options *core.CompilerOptions) core.SourceFileAffectingCompilerOptions { - // Declaration files are not parsed/bound differently depending on compiler options. - if tspath.IsDeclarationFileName(fileName) { - return core.SourceFileAffectingCompilerOptions{} - } - return options.SourceFileAffecting() -} - type ExternalModuleIndicatorOptions struct { JSX bool Force bool diff --git a/internal/binder/binder.go b/internal/binder/binder.go index 187c8e6a840..45363795e30 100644 --- a/internal/binder/binder.go +++ b/internal/binder/binder.go @@ -70,7 +70,6 @@ type Binder struct { seenThisKeyword bool hasExplicitReturn bool hasFlowEffects bool - inStrictMode bool inAssignmentPattern bool seenParseError bool symbolCount int @@ -83,10 +82,6 @@ type Binder struct { expandoAssignments []ExpandoAssignmentInfo } -func (b *Binder) options() core.SourceFileAffectingCompilerOptions { - return b.file.ParseOptions().CompilerOptions -} - type ActiveLabel struct { next *ActiveLabel breakTarget *ast.FlowLabel @@ -128,7 +123,6 @@ func bindSourceFile(file *ast.SourceFile) { b := getBinder() defer putBinder(b) b.file = file - b.inStrictMode = b.options().BindInStrictMode && !file.IsDeclarationFile || ast.IsExternalModule(file) b.unreachableFlow = b.newFlowNode(ast.FlowFlagsUnreachable) b.bind(file.AsNode()) b.bindDeferredExpandoAssignments() @@ -590,7 +584,6 @@ func (b *Binder) bind(node *ast.Node) bool { if node == nil { return false } - saveInStrictMode := b.inStrictMode // Even though in the AST the jsdoc @typedef node belongs to the current node, // its symbol might be in the same scope with the current node's symbol. Consider: // @@ -692,7 +685,6 @@ func (b *Binder) bind(node *ast.Node) bool { case ast.KindFunctionExpression, ast.KindArrowFunction: b.bindFunctionExpression(node) case ast.KindClassExpression, ast.KindClassDeclaration: - b.inStrictMode = true b.bindClassLikeDeclaration(node) case ast.KindInterfaceDeclaration: b.bindBlockScopedDeclaration(node, ast.SymbolFlagsInterface, ast.SymbolFlagsInterfaceExcludes) @@ -723,14 +715,7 @@ func (b *Binder) bind(node *ast.Node) bool { case ast.KindExportAssignment, ast.KindJSExportAssignment: b.bindExportAssignment(node) case ast.KindSourceFile: - b.updateStrictModeStatementList(node.StatementList()) b.bindSourceFileIfExternalModule() - case ast.KindBlock: - if ast.IsFunctionLikeOrClassStaticBlockDeclaration(node.Parent) { - b.updateStrictModeStatementList(node.StatementList()) - } - case ast.KindModuleBlock: - b.updateStrictModeStatementList(node.StatementList()) case ast.KindJsxAttributes: b.bindJsxAttributes(node) case ast.KindJsxAttribute: @@ -760,7 +745,6 @@ func (b *Binder) bind(node *ast.Node) bool { node.Flags |= ast.NodeFlagsThisNodeOrAnySubNodesHasError b.seenParseError = true } - b.inStrictMode = saveInStrictMode return false } @@ -1151,9 +1135,7 @@ func (b *Binder) bindEnumDeclaration(node *ast.Node) { } func (b *Binder) bindVariableDeclarationOrBindingElement(node *ast.Node) { - if b.inStrictMode { - b.checkStrictModeEvalOrArguments(node, node.Name()) - } + b.checkStrictModeEvalOrArguments(node, node.Name()) if name := node.Name(); name != nil && !ast.IsBindingPattern(name) { switch { case ast.IsVariableDeclarationInitializedToRequire(node): @@ -1179,7 +1161,7 @@ func (b *Binder) bindVariableDeclarationOrBindingElement(node *ast.Node) { func (b *Binder) bindParameter(node *ast.Node) { decl := node.AsParameterDeclaration() - if b.inStrictMode && node.Flags&ast.NodeFlagsAmbient == 0 { + if node.Flags&ast.NodeFlagsAmbient == 0 { // It is a SyntaxError if the identifier eval or arguments appears within a FormalParameterList of a // strict mode FunctionLikeDeclaration or FunctionExpression(13.1) b.checkStrictModeEvalOrArguments(node, decl.Name()) @@ -1201,11 +1183,7 @@ func (b *Binder) bindParameter(node *ast.Node) { func (b *Binder) bindFunctionDeclaration(node *ast.Node) { b.checkStrictModeFunctionName(node) - if b.inStrictMode { - b.bindBlockScopedDeclaration(node, ast.SymbolFlagsFunction, ast.SymbolFlagsFunctionExcludes) - } else { - b.declareSymbolAndAddToSymbolTable(node, ast.SymbolFlagsFunction, ast.SymbolFlagsFunctionExcludes) - } + b.bindBlockScopedDeclaration(node, ast.SymbolFlagsFunction, ast.SymbolFlagsFunctionExcludes) } func (b *Binder) getInferTypeContainer(node *ast.Node) *ast.Node { @@ -1298,7 +1276,7 @@ func (b *Binder) checkContextualIdentifier(node *ast.Node) { if originalKeywordKind == ast.KindIdentifier { return } - if b.inStrictMode && originalKeywordKind >= ast.KindFirstFutureReservedWord && originalKeywordKind <= ast.KindLastFutureReservedWord { + if originalKeywordKind >= ast.KindFirstFutureReservedWord && originalKeywordKind <= ast.KindLastFutureReservedWord { b.errorOnNode(node, b.getStrictModeIdentifierMessage(node), scanner.DeclarationNameToString(node)) } else if originalKeywordKind == ast.KindAwaitKeyword { if ast.IsExternalModule(b.file) && ast.IsInTopLevelContext(node) { @@ -1333,15 +1311,6 @@ func (b *Binder) getStrictModeIdentifierMessage(node *ast.Node) *diagnostics.Mes return diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode } -func (b *Binder) updateStrictModeStatementList(statements *ast.NodeList) { - if !b.inStrictMode { - useStrictDirective := FindUseStrictPrologue(b.file, statements.Nodes) - if useStrictDirective != nil { - b.inStrictMode = true - } - } -} - // Should be called only on prologue directives (ast.IsPrologueDirective(node) should be true) func isUseStrictPrologueDirective(sourceFile *ast.SourceFile, node *ast.Node) bool { nodeText := scanner.GetSourceTextOfNodeFromSourceFile(sourceFile, node.Expression(), false /*includeTrivia*/) @@ -1365,7 +1334,7 @@ func FindUseStrictPrologue(sourceFile *ast.SourceFile, statements []*ast.Node) * } func (b *Binder) checkStrictModeFunctionName(node *ast.Node) { - if b.inStrictMode && node.Flags&ast.NodeFlagsAmbient == 0 { + if node.Flags&ast.NodeFlagsAmbient == 0 { // It is a SyntaxError if the identifier eval or arguments appears within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression (13.1)) b.checkStrictModeEvalOrArguments(node, node.Name()) } @@ -1384,7 +1353,7 @@ func (b *Binder) getStrictModeBlockScopeFunctionDeclarationMessage(node *ast.Nod func (b *Binder) checkStrictModeBinaryExpression(node *ast.Node) { expr := node.AsBinaryExpression() - if b.inStrictMode && ast.IsLeftHandSideExpression(expr.Left) && ast.IsAssignmentOperator(expr.OperatorToken.Kind) { + if ast.IsLeftHandSideExpression(expr.Left) && ast.IsAssignmentOperator(expr.OperatorToken.Kind) { // ECMA 262 (Annex C) The identifier eval or arguments may not appear as the LeftHandSideExpression of an // Assignment operator(11.13) or of a PostfixExpression(11.3) b.checkStrictModeEvalOrArguments(node, expr.Left) @@ -1395,7 +1364,7 @@ func (b *Binder) checkStrictModeCatchClause(node *ast.Node) { // It is a SyntaxError if a TryStatement with a Catch occurs within strict code and the Identifier of the // Catch production is eval or arguments clause := node.AsCatchClause() - if b.inStrictMode && clause.VariableDeclaration != nil { + if clause.VariableDeclaration != nil { b.checkStrictModeEvalOrArguments(node, clause.VariableDeclaration.AsVariableDeclaration().Name()) } } @@ -1403,7 +1372,7 @@ func (b *Binder) checkStrictModeCatchClause(node *ast.Node) { func (b *Binder) checkStrictModeDeleteExpression(node *ast.Node) { // Grammar checking expr := node.AsDeleteExpression() - if b.inStrictMode && expr.Expression.Kind == ast.KindIdentifier { + if expr.Expression.Kind == ast.KindIdentifier { // When a delete operator occurs within strict mode code, a SyntaxError is thrown if its // UnaryExpression is a direct reference to a variable, function argument, or function name b.errorOnNode(expr.Expression, diagnostics.X_delete_cannot_be_called_on_an_identifier_in_strict_mode) @@ -1415,35 +1384,27 @@ func (b *Binder) checkStrictModePostfixUnaryExpression(node *ast.Node) { // The identifier eval or arguments may not appear as the LeftHandSideExpression of an // Assignment operator(11.13) or of a PostfixExpression(11.3) or as the UnaryExpression // operated upon by a Prefix Increment(11.4.4) or a Prefix Decrement(11.4.5) operator. - if b.inStrictMode { - b.checkStrictModeEvalOrArguments(node, node.AsPostfixUnaryExpression().Operand) - } + b.checkStrictModeEvalOrArguments(node, node.AsPostfixUnaryExpression().Operand) } func (b *Binder) checkStrictModePrefixUnaryExpression(node *ast.Node) { // Grammar checking - if b.inStrictMode { - expr := node.AsPrefixUnaryExpression() - if expr.Operator == ast.KindPlusPlusToken || expr.Operator == ast.KindMinusMinusToken { - b.checkStrictModeEvalOrArguments(node, expr.Operand) - } + expr := node.AsPrefixUnaryExpression() + if expr.Operator == ast.KindPlusPlusToken || expr.Operator == ast.KindMinusMinusToken { + b.checkStrictModeEvalOrArguments(node, expr.Operand) } } func (b *Binder) checkStrictModeWithStatement(node *ast.Node) { // Grammar checking for withStatement - if b.inStrictMode { - b.errorOnFirstToken(node, diagnostics.X_with_statements_are_not_allowed_in_strict_mode) - } + b.errorOnFirstToken(node, diagnostics.X_with_statements_are_not_allowed_in_strict_mode) } func (b *Binder) checkStrictModeLabeledStatement(node *ast.Node) { // Grammar checking for labeledStatement - if b.inStrictMode { - data := node.AsLabeledStatement() - if ast.IsDeclarationStatement(data.Statement) || ast.IsVariableStatement(data.Statement) { - b.errorOnFirstToken(data.Label, diagnostics.A_label_is_not_allowed_here) - } + data := node.AsLabeledStatement() + if ast.IsDeclarationStatement(data.Statement) || ast.IsVariableStatement(data.Statement) { + b.errorOnFirstToken(data.Label, diagnostics.A_label_is_not_allowed_here) } } diff --git a/internal/binder/binder_test.go b/internal/binder/binder_test.go index 3364874d852..3cb495ae286 100644 --- a/internal/binder/binder_test.go +++ b/internal/binder/binder_test.go @@ -21,13 +21,9 @@ func BenchmarkBind(b *testing.B) { path := tspath.ToPath(fileName, "/", osvfs.FS().UseCaseSensitiveFileNames()) sourceText := f.ReadFile(b) - compilerOptions := &core.CompilerOptions{Target: core.ScriptTargetESNext, Module: core.ModuleKindNodeNext} - sourceAffecting := compilerOptions.SourceFileAffecting() - parseOptions := ast.SourceFileParseOptions{ - FileName: fileName, - Path: path, - CompilerOptions: sourceAffecting, + FileName: fileName, + Path: path, } scriptKind := core.GetScriptKindFromFileName(fileName) diff --git a/internal/compiler/fileloader.go b/internal/compiler/fileloader.go index 21460c6d094..eb1edce6ac7 100644 --- a/internal/compiler/fileloader.go +++ b/internal/compiler/fileloader.go @@ -294,7 +294,6 @@ func (p *fileLoader) parseSourceFile(t *parseTask) *ast.SourceFile { sourceFile := p.opts.Host.GetSourceFile(ast.SourceFileParseOptions{ FileName: t.normalizedFilePath, Path: path, - CompilerOptions: ast.GetSourceFileAffectingCompilerOptions(t.normalizedFilePath, options), ExternalModuleIndicatorOptions: ast.GetExternalModuleIndicatorOptions(t.normalizedFilePath, options, t.metadata), }) return sourceFile diff --git a/internal/compiler/program.go b/internal/compiler/program.go index 9297d645776..c46207e545e 100644 --- a/internal/compiler/program.go +++ b/internal/compiler/program.go @@ -684,6 +684,10 @@ func (p *Program) verifyCompilerOptions() { createRemovedOptionDiagnostic("module", "UMD", "") } + if options.AlwaysStrict.IsFalse() { + createRemovedOptionDiagnostic("alwaysStrict", "false", "") + } + if options.StrictPropertyInitialization.IsTrue() && !options.GetStrictOptionValue(options.StrictNullChecks) { createDiagnosticForOptionName(diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks") } diff --git a/internal/core/compileroptions.go b/internal/core/compileroptions.go index b8e0d1bcabc..71c23d355cc 100644 --- a/internal/core/compileroptions.go +++ b/internal/core/compileroptions.go @@ -3,7 +3,6 @@ package core import ( "reflect" "strings" - "sync" "github.com/microsoft/typescript-go/internal/collections" "github.com/microsoft/typescript-go/internal/tspath" @@ -25,7 +24,6 @@ type CompilerOptions struct { AllowUnreachableCode Tristate `json:"allowUnreachableCode,omitzero"` AllowUnusedLabels Tristate `json:"allowUnusedLabels,omitzero"` AssumeChangesOnlyAffectDirectDependencies Tristate `json:"assumeChangesOnlyAffectDirectDependencies,omitzero"` - AlwaysStrict Tristate `json:"alwaysStrict,omitzero"` CheckJs Tristate `json:"checkJs,omitzero"` CustomConditions []string `json:"customConditions,omitzero"` Composite Tristate `json:"composite,omitzero"` @@ -121,6 +119,8 @@ type CompilerOptions struct { VerbatimModuleSyntax Tristate `json:"verbatimModuleSyntax,omitzero"` MaxNodeModuleJsDepth *int `json:"maxNodeModuleJsDepth,omitzero"` + // Deprecated: Do not use outside of options parsing and validation. + AlwaysStrict Tristate `json:"alwaysStrict,omitzero"` // Deprecated: Do not use outside of options parsing and validation. BaseUrl string `json:"baseUrl,omitzero"` // Deprecated: Do not use outside of options parsing and validation. @@ -152,9 +152,6 @@ type CompilerOptions struct { SingleThreaded Tristate `json:"singleThreaded,omitzero"` Quiet Tristate `json:"quiet,omitzero"` Checkers *int `json:"checkers,omitzero"` - - sourceFileAffectingCompilerOptionsOnce sync.Once - sourceFileAffectingCompilerOptions SourceFileAffectingCompilerOptions } // noCopy may be embedded into structs which must not be copied @@ -367,21 +364,6 @@ func (options *CompilerOptions) GetPathsBasePath(currentDirectory string) string return currentDirectory } -// SourceFileAffectingCompilerOptions are the precomputed CompilerOptions values which -// affect the parse and bind of a source file. -type SourceFileAffectingCompilerOptions struct { - BindInStrictMode bool -} - -func (options *CompilerOptions) SourceFileAffecting() SourceFileAffectingCompilerOptions { - options.sourceFileAffectingCompilerOptionsOnce.Do(func() { - options.sourceFileAffectingCompilerOptions = SourceFileAffectingCompilerOptions{ - BindInStrictMode: options.AlwaysStrict.IsTrue() || options.Strict.IsTrue(), - } - }) - return options.sourceFileAffectingCompilerOptions -} - type ModuleDetectionKind int32 const ( diff --git a/internal/project/autoimport.go b/internal/project/autoimport.go index 7f99a926b8a..baa1f3e450f 100644 --- a/internal/project/autoimport.go +++ b/internal/project/autoimport.go @@ -6,7 +6,6 @@ import ( "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/collections" "github.com/microsoft/typescript-go/internal/compiler" - "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/ls/autoimport" "github.com/microsoft/typescript-go/internal/packagejson" "github.com/microsoft/typescript-go/internal/tspath" @@ -152,9 +151,8 @@ func (a *autoImportRegistryCloneHost) GetSourceFile(fileName string, path tspath return nil } opts := ast.SourceFileParseOptions{ - FileName: fileName, - Path: path, - CompilerOptions: core.EmptyCompilerOptions.SourceFileAffecting(), + FileName: fileName, + Path: path, } key := NewParseCacheKey(opts, fh.Hash(), fh.Kind()) result := a.parseCache.Load(key, fh) diff --git a/internal/project/session_test.go b/internal/project/session_test.go index 3a880eaa99a..09c79164ab3 100644 --- a/internal/project/session_test.go +++ b/internal/project/session_test.go @@ -477,9 +477,12 @@ func TestSession(t *testing.T) { files := maps.Clone(defaultFiles) files["/home/projects/TS/p2/tsconfig.json"] = `{ "compilerOptions": { + "noLib": true, "module": "nodenext", - "jsx": "react" - } + "strict": true, + "moduleDetection": "auto" + }, + "include": ["src"] }` files["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";` session, _ := projecttestutil.Setup(files) diff --git a/internal/testutil/tsbaseline/js_emit_baseline.go b/internal/testutil/tsbaseline/js_emit_baseline.go index 81eab0adde2..409bc196de7 100644 --- a/internal/testutil/tsbaseline/js_emit_baseline.go +++ b/internal/testutil/tsbaseline/js_emit_baseline.go @@ -55,9 +55,8 @@ func DoJSEmitBaseline( } if len(result.Diagnostics) == 0 && strings.HasSuffix(file.UnitName, tspath.ExtensionJson) { fileParseResult := parser.ParseSourceFile(ast.SourceFileParseOptions{ - FileName: file.UnitName, - Path: tspath.Path(file.UnitName), - CompilerOptions: options.SourceFileAffecting(), + FileName: file.UnitName, + Path: tspath.Path(file.UnitName), }, file.Content, core.ScriptKindJSON) if len(fileParseResult.Diagnostics()) > 0 { jsCode.WriteString(GetErrorBaseline(t, []*harnessutil.TestFile{file}, diagnosticwriter.WrapASTDiagnostics(fileParseResult.Diagnostics()), diagnosticwriter.CompareASTDiagnostics, false /*pretty*/)) diff --git a/internal/transformers/estransforms/usestrict.go b/internal/transformers/estransforms/usestrict.go index cccc1a0a925..2a43d177956 100644 --- a/internal/transformers/estransforms/usestrict.go +++ b/internal/transformers/estransforms/usestrict.go @@ -43,13 +43,8 @@ func (tx *useStrictTransformer) visitSourceFile(node *ast.SourceFile) *ast.Node return node.AsNode() } - if isExternalModule || - tx.compilerOptions.AlwaysStrict.IsTrueOrUnknown() { - statements := tx.Factory().EnsureUseStrict(node.Statements.Nodes) - statementList := tx.Factory().NewNodeList(statements) - statementList.Loc = node.Statements.Loc - return tx.Factory().UpdateSourceFile(node, statementList, node.EndOfFileToken).AsSourceFile().AsNode() - } - - return node.AsNode() + statements := tx.Factory().EnsureUseStrict(node.Statements.Nodes) + statementList := tx.Factory().NewNodeList(statements) + statementList.Loc = node.Statements.Loc + return tx.Factory().UpdateSourceFile(node, statementList, node.EndOfFileToken).AsSourceFile().AsNode() } diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt index bef1bb8c98d..f11fa58bb3c 100644 --- a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt @@ -1,10 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ambientWithStatements.ts(2,5): error TS1036: Statements are not allowed in ambient contexts. ambientWithStatements.ts(3,5): error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. +ambientWithStatements.ts(10,5): error TS1344: 'A label is not allowed here. ambientWithStatements.ts(11,5): error TS1108: A 'return' statement can only be used within a function body. +ambientWithStatements.ts(25,5): error TS1101: 'with' statements are not allowed in strict mode. ambientWithStatements.ts(25,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== ambientWithStatements.ts (4 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== ambientWithStatements.ts (6 errors) ==== declare namespace M { break; ~~~~~ @@ -19,6 +23,8 @@ ambientWithStatements.ts(25,5): error TS2410: The 'with' statement is not suppor if (true) { } else { } 1; L: var y; + ~ +!!! error TS1344: 'A label is not allowed here. return; ~~~~~~ !!! error TS1108: A 'return' statement can only be used within a function body. @@ -36,6 +42,8 @@ ambientWithStatements.ts(25,5): error TS2410: The 'with' statement is not suppor finally { } with (x) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. } diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..8724d77a289 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,36 @@ +--- old.ambientWithStatements(alwaysstrict=false).errors.txt ++++ new.ambientWithStatements(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ambientWithStatements.ts(2,5): error TS1036: Statements are not allowed in ambient contexts. + ambientWithStatements.ts(3,5): error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. ++ambientWithStatements.ts(10,5): error TS1344: 'A label is not allowed here. + ambientWithStatements.ts(11,5): error TS1108: A 'return' statement can only be used within a function body. ++ambientWithStatements.ts(25,5): error TS1101: 'with' statements are not allowed in strict mode. + ambientWithStatements.ts(25,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + + +-==== ambientWithStatements.ts (4 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== ambientWithStatements.ts (6 errors) ==== + declare namespace M { + break; + ~~~~~ +@@= skipped -18, +22 lines =@@ + if (true) { } else { } + 1; + L: var y; ++ ~ ++!!! error TS1344: 'A label is not allowed here. + return; + ~~~~~~ + !!! error TS1108: A 'return' statement can only be used within a function body. +@@= skipped -17, +19 lines =@@ + finally { + } + with (x) { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js index d56d11b0214..860f4d30128 100644 --- a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js @@ -30,3 +30,4 @@ declare namespace M { } //// [ambientWithStatements.js] +"use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..6226bf21665 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff @@ -0,0 +1,7 @@ +--- old.ambientWithStatements(alwaysstrict=false).js ++++ new.ambientWithStatements(alwaysstrict=false).js +@@= skipped -29, +29 lines =@@ + } + + //// [ambientWithStatements.js] ++"use strict"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt index 6f0eacb5dff..d9ae4584f63 100644 --- a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt @@ -1,10 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +argumentsBindsToFunctionScopeArgumentList.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. +argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS1100: Invalid use of 'arguments' in strict mode. argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type 'number' is not assignable to type 'IArguments'. -==== argumentsBindsToFunctionScopeArgumentList.ts (1 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== argumentsBindsToFunctionScopeArgumentList.ts (3 errors) ==== var arguments = 10; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function foo(a) { arguments = 10; /// This shouldnt be of type number and result in error. ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + ~~~~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'IArguments'. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..2ddb7e489a9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt ++++ new.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++argumentsBindsToFunctionScopeArgumentList.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. ++argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS1100: Invalid use of 'arguments' in strict mode. + argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type 'number' is not assignable to type 'IArguments'. + + +-==== argumentsBindsToFunctionScopeArgumentList.ts (1 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== argumentsBindsToFunctionScopeArgumentList.ts (3 errors) ==== + var arguments = 10; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. + function foo(a) { + arguments = 10; /// This shouldnt be of type number and result in error. ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. + ~~~~~~~~~ + !!! error TS2322: Type 'number' is not assignable to type 'IArguments'. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js index b18f1cc7d05..8cd10362943 100644 --- a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js @@ -7,6 +7,7 @@ function foo(a) { } //// [argumentsBindsToFunctionScopeArgumentList.js] +"use strict"; var arguments = 10; function foo(a) { arguments = 10; /// This shouldnt be of type number and result in error. diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..f5447fac5d9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js ++++ new.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [argumentsBindsToFunctionScopeArgumentList.js] ++"use strict"; + var arguments = 10; + function foo(a) { + arguments = 10; /// This shouldnt be of type number and result in error. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt index 1c26e2e6011..672bed0d547 100644 --- a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt @@ -1,7 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. /a.js(16,9): error TS18004: No value exists in scope for the shorthand property 'arguments'. Either declare one or provide an initializer. +/a.js(21,11): error TS1100: Invalid use of 'arguments' in strict mode. -==== /a.js (1 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== /a.js (2 errors) ==== const a = () => { return { arguments: [], @@ -25,6 +28,8 @@ const d = () => { const arguments = undefined; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. return { arguments, }; diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..4857b8851b4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,25 @@ +--- old.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt ++++ new.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + /a.js(16,9): error TS18004: No value exists in scope for the shorthand property 'arguments'. Either declare one or provide an initializer. +- +- +-==== /a.js (1 errors) ==== ++/a.js(21,11): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== /a.js (2 errors) ==== + const a = () => { + return { + arguments: [], +@@= skipped -24, +27 lines =@@ + + const d = () => { + const arguments = undefined; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. + return { + arguments, + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js index d2b7a2997e9..76020266477 100644 --- a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js @@ -29,6 +29,7 @@ const d = () => { //// [a.js] +"use strict"; const a = () => { return { arguments: [], diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8310e64e2f5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js ++++ new.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js +@@= skipped -28, +28 lines =@@ + + + //// [a.js] ++"use strict"; + const a = () => { + return { + arguments: [], \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt index c3653603ddc..fa135fe4e73 100644 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt @@ -1,11 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +asiPublicPrivateProtected.ts(1,1): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. asiPublicPrivateProtected.ts(1,1): error TS2304: Cannot find name 'public'. +asiPublicPrivateProtected.ts(12,1): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. asiPublicPrivateProtected.ts(12,1): error TS2304: Cannot find name 'private'. +asiPublicPrivateProtected.ts(23,1): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. -==== asiPublicPrivateProtected.ts (3 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== asiPublicPrivateProtected.ts (6 errors) ==== public ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + ~~~~~~ !!! error TS2304: Cannot find name 'public'. class NonPublicClass { public s() { @@ -19,6 +26,8 @@ asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. } private ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + ~~~~~~~ !!! error TS2304: Cannot find name 'private'. class NonPrivateClass { private s() { @@ -32,6 +41,8 @@ asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. } protected ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + ~~~~~~~~~ !!! error TS2304: Cannot find name 'protected'. class NonProtectedClass { protected s() { diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..dd7cbb25df3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,40 @@ +--- old.asiPublicPrivateProtected(alwaysstrict=false).errors.txt ++++ new.asiPublicPrivateProtected(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++asiPublicPrivateProtected.ts(1,1): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + asiPublicPrivateProtected.ts(1,1): error TS2304: Cannot find name 'public'. ++asiPublicPrivateProtected.ts(12,1): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + asiPublicPrivateProtected.ts(12,1): error TS2304: Cannot find name 'private'. ++asiPublicPrivateProtected.ts(23,1): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. + + +-==== asiPublicPrivateProtected.ts (3 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== asiPublicPrivateProtected.ts (6 errors) ==== + public + ~~~~~~ ++!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. ++ ~~~~~~ + !!! error TS2304: Cannot find name 'public'. + class NonPublicClass { + public s() { +@@= skipped -18, +25 lines =@@ + } + private + ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++ ~~~~~~~ + !!! error TS2304: Cannot find name 'private'. + class NonPrivateClass { + private s() { +@@= skipped -12, +14 lines =@@ + } + } + protected ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + ~~~~~~~~~ + !!! error TS2304: Cannot find name 'protected'. + class NonProtectedClass { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js index f819af10e73..94832eff2af 100644 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js @@ -43,6 +43,7 @@ class ClassWithThreeMembers { //// [asiPublicPrivateProtected.js] +"use strict"; public; class NonPublicClass { s() { diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff index 764010cabd2..823ac4ef14f 100644 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff @@ -1,6 +1,13 @@ --- old.asiPublicPrivateProtected(alwaysstrict=false).js +++ new.asiPublicPrivateProtected(alwaysstrict=false).js -@@= skipped -48, +48 lines =@@ +@@= skipped -42, +42 lines =@@ + + + //// [asiPublicPrivateProtected.js] ++"use strict"; + public; + class NonPublicClass { + s() { } } class NonPublicClass2 { @@ -8,7 +15,7 @@ nonPublicFunction() { } } -@@= skipped -9, +10 lines =@@ +@@= skipped -15, +17 lines =@@ } } class NonPrivateClass2 { diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt new file mode 100644 index 00000000000..c5904d75507 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt @@ -0,0 +1,11 @@ +blockScopedFunctionDeclarationES5.ts(5,1): error TS2304: Cannot find name 'foo'. + + +==== blockScopedFunctionDeclarationES5.ts (1 errors) ==== + if (true) { + function foo() { } + foo(); + } + foo(); + ~~~ +!!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff deleted file mode 100644 index 26d5042d9d5..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.blockScopedFunctionDeclarationES5(target=es2015).errors.txt -+++ new.blockScopedFunctionDeclarationES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --blockScopedFunctionDeclarationES5.ts(5,1): error TS2304: Cannot find name 'foo'. -- -- --==== blockScopedFunctionDeclarationES5.ts (1 errors) ==== -- if (true) { -- function foo() { } -- foo(); -- } -- foo(); -- ~~~ --!!! error TS2304: Cannot find name 'foo'. -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols index 7a4653165a1..3a54ffb3303 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols @@ -9,5 +9,3 @@ if (true) { >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) } foo(); ->foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) - diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff deleted file mode 100644 index 9857b610b21..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- old.blockScopedFunctionDeclarationES5(target=es2015).symbols -+++ new.blockScopedFunctionDeclarationES5(target=es2015).symbols -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) - } - foo(); -+>foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types index c4057907d6f..e5de47beb42 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types @@ -12,6 +12,6 @@ if (true) { >foo : () => void } foo(); ->foo() : void ->foo : () => void +>foo() : any +>foo : any diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff deleted file mode 100644 index 3b0adeb3503..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.blockScopedFunctionDeclarationES5(target=es2015).types -+++ new.blockScopedFunctionDeclarationES5(target=es2015).types -@@= skipped -11, +11 lines =@@ - >foo : () => void - } - foo(); -->foo() : any -->foo : any -+>foo() : void -+>foo : () => void diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt new file mode 100644 index 00000000000..99935089e46 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt @@ -0,0 +1,11 @@ +blockScopedFunctionDeclarationES6.ts(5,1): error TS2304: Cannot find name 'foo'. + + +==== blockScopedFunctionDeclarationES6.ts (1 errors) ==== + if (true) { + function foo() { } + foo(); + } + foo(); + ~~~ +!!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff deleted file mode 100644 index ea96d549f7c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.blockScopedFunctionDeclarationES6.errors.txt -+++ new.blockScopedFunctionDeclarationES6.errors.txt -@@= skipped -0, +0 lines =@@ --blockScopedFunctionDeclarationES6.ts(5,1): error TS2304: Cannot find name 'foo'. -- -- --==== blockScopedFunctionDeclarationES6.ts (1 errors) ==== -- if (true) { -- function foo() { } -- foo(); -- } -- foo(); -- ~~~ --!!! error TS2304: Cannot find name 'foo'. -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols index f19c147b667..b05ed0cb85f 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols @@ -9,5 +9,3 @@ if (true) { >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) } foo(); ->foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) - diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff deleted file mode 100644 index ee62dddcd9c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- old.blockScopedFunctionDeclarationES6.symbols -+++ new.blockScopedFunctionDeclarationES6.symbols -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) - } - foo(); -+>foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types index 736fae8cb7d..22d322626bc 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types @@ -12,6 +12,6 @@ if (true) { >foo : () => void } foo(); ->foo() : void ->foo : () => void +>foo() : any +>foo : any diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff deleted file mode 100644 index 49d36383472..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.blockScopedFunctionDeclarationES6.types -+++ new.blockScopedFunctionDeclarationES6.types -@@= skipped -11, +11 lines =@@ - >foo : () => void - } - foo(); -->foo() : any -->foo : any -+>foo() : void -+>foo : () => void diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt index 47b4cf9a063..f55ed3017c2 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt @@ -1,17 +1,13 @@ -blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES5.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES5.ts(10,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES5.ts(12,9): error TS2554: Expected 0 arguments, but got 1. +blockScopedSameNameFunctionDeclarationES5.ts(13,5): error TS2554: Expected 1 arguments, but got 0. blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arguments, but got 0. -==== blockScopedSameNameFunctionDeclarationES5.ts (6 errors) ==== +==== blockScopedSameNameFunctionDeclarationES5.ts (4 errors) ==== function foo(a: number) { if (a === 1) { function foo() { } // duplicate function - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10); // not ok ~~ @@ -19,17 +15,16 @@ blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arg } else { function foo() { } // duplicate function - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10); // not ok ~~ !!! error TS2554: Expected 0 arguments, but got 1. } foo(10); // not ok - ~~ -!!! error TS2554: Expected 0 arguments, but got 1. foo(); + ~~~ +!!! error TS2554: Expected 1 arguments, but got 0. +!!! related TS6210 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided. } foo(10); foo(); // not ok - needs number diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff deleted file mode 100644 index 9c22ba6eeb0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,43 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt -+++ new.blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ -+blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS2393: Duplicate function implementation. - blockScopedSameNameFunctionDeclarationES5.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -+blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS2393: Duplicate function implementation. - blockScopedSameNameFunctionDeclarationES5.ts(10,13): error TS2554: Expected 0 arguments, but got 1. --blockScopedSameNameFunctionDeclarationES5.ts(13,5): error TS2554: Expected 1 arguments, but got 0. -+blockScopedSameNameFunctionDeclarationES5.ts(12,9): error TS2554: Expected 0 arguments, but got 1. - blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arguments, but got 0. - - --==== blockScopedSameNameFunctionDeclarationES5.ts (4 errors) ==== -+==== blockScopedSameNameFunctionDeclarationES5.ts (6 errors) ==== - function foo(a: number) { - if (a === 1) { - function foo() { } // duplicate function -+ ~~~ -+!!! error TS2393: Duplicate function implementation. - foo(); - foo(10); // not ok - ~~ -@@= skipped -14, +18 lines =@@ - } - else { - function foo() { } // duplicate function -+ ~~~ -+!!! error TS2393: Duplicate function implementation. - foo(); - foo(10); // not ok - ~~ - !!! error TS2554: Expected 0 arguments, but got 1. - } - foo(10); // not ok -+ ~~ -+!!! error TS2554: Expected 0 arguments, but got 1. - foo(); -- ~~~ --!!! error TS2554: Expected 1 arguments, but got 0. --!!! related TS6210 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided. - } - foo(10); - foo(); // not ok - needs number \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols index 9059c98982c..094cdcd450a 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols @@ -9,29 +9,29 @@ function foo(a: number) { >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 13)) function foo() { } // duplicate function ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) } else { function foo() { } // duplicate function ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) } foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) } foo(10); >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff deleted file mode 100644 index 50871c5473b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff +++ /dev/null @@ -1,40 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols -+++ new.blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols -@@= skipped -8, +8 lines =@@ - >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 13)) - - function foo() { } // duplicate function -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - } - else { - function foo() { } // duplicate function -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - } - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - } - foo(10); - >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types index e0327c7d284..d008ad19f8d 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types @@ -11,38 +11,38 @@ function foo(a: number) { >1 : 1 function foo() { } // duplicate function ->foo : { (): void; (): void; } +>foo : () => void foo(); >foo() : void ->foo : { (): void; (): void; } +>foo : () => void foo(10); // not ok >foo(10) : void ->foo : { (): void; (): void; } +>foo : () => void >10 : 10 } else { function foo() { } // duplicate function ->foo : { (): void; (): void; } +>foo : () => void foo(); >foo() : void ->foo : { (): void; (): void; } +>foo : () => void foo(10); // not ok >foo(10) : void ->foo : { (): void; (): void; } +>foo : () => void >10 : 10 } foo(10); // not ok >foo(10) : void ->foo : { (): void; (): void; } +>foo : (a: number) => void >10 : 10 foo(); >foo() : void ->foo : { (): void; (): void; } +>foo : (a: number) => void } foo(10); >foo(10) : void diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff deleted file mode 100644 index 0c95dba5d3c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff +++ /dev/null @@ -1,49 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES5(target=es2015).types -+++ new.blockScopedSameNameFunctionDeclarationES5(target=es2015).types -@@= skipped -10, +10 lines =@@ - >1 : 1 - - function foo() { } // duplicate function -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10); // not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - else { - function foo() { } // duplicate function -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10); // not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - foo(10); // not ok - >foo(10) : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - >10 : 10 - - foo(); - >foo() : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - } - foo(10); - >foo(10) : void \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt index 19f6f09e639..8f634b2d0b3 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt @@ -1,17 +1,13 @@ -blockScopedSameNameFunctionDeclarationES6.ts(3,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES6.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES6.ts(8,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES6.ts(10,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES6.ts(12,9): error TS2554: Expected 0 arguments, but got 1. +blockScopedSameNameFunctionDeclarationES6.ts(13,5): error TS2554: Expected 1 arguments, but got 0. blockScopedSameNameFunctionDeclarationES6.ts(16,1): error TS2554: Expected 1 arguments, but got 0. -==== blockScopedSameNameFunctionDeclarationES6.ts (6 errors) ==== +==== blockScopedSameNameFunctionDeclarationES6.ts (4 errors) ==== function foo(a: number) { if (a === 10) { function foo() { } // duplicate - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10); // not ok ~~ @@ -19,17 +15,16 @@ blockScopedSameNameFunctionDeclarationES6.ts(16,1): error TS2554: Expected 1 arg } else { function foo() { } // duplicate - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10);// not ok ~~ !!! error TS2554: Expected 0 arguments, but got 1. } foo(10); // not ok - ~~ -!!! error TS2554: Expected 0 arguments, but got 1. foo(); + ~~~ +!!! error TS2554: Expected 1 arguments, but got 0. +!!! related TS6210 blockScopedSameNameFunctionDeclarationES6.ts:1:14: An argument for 'a' was not provided. } foo(10); foo(); // not ok - needs number diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff deleted file mode 100644 index 55a0abbf0cb..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff +++ /dev/null @@ -1,43 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES6.errors.txt -+++ new.blockScopedSameNameFunctionDeclarationES6.errors.txt -@@= skipped -0, +0 lines =@@ -+blockScopedSameNameFunctionDeclarationES6.ts(3,18): error TS2393: Duplicate function implementation. - blockScopedSameNameFunctionDeclarationES6.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -+blockScopedSameNameFunctionDeclarationES6.ts(8,18): error TS2393: Duplicate function implementation. - blockScopedSameNameFunctionDeclarationES6.ts(10,13): error TS2554: Expected 0 arguments, but got 1. --blockScopedSameNameFunctionDeclarationES6.ts(13,5): error TS2554: Expected 1 arguments, but got 0. -+blockScopedSameNameFunctionDeclarationES6.ts(12,9): error TS2554: Expected 0 arguments, but got 1. - blockScopedSameNameFunctionDeclarationES6.ts(16,1): error TS2554: Expected 1 arguments, but got 0. - - --==== blockScopedSameNameFunctionDeclarationES6.ts (4 errors) ==== -+==== blockScopedSameNameFunctionDeclarationES6.ts (6 errors) ==== - function foo(a: number) { - if (a === 10) { - function foo() { } // duplicate -+ ~~~ -+!!! error TS2393: Duplicate function implementation. - foo(); - foo(10); // not ok - ~~ -@@= skipped -14, +18 lines =@@ - } - else { - function foo() { } // duplicate -+ ~~~ -+!!! error TS2393: Duplicate function implementation. - foo(); - foo(10);// not ok - ~~ - !!! error TS2554: Expected 0 arguments, but got 1. - } - foo(10); // not ok -+ ~~ -+!!! error TS2554: Expected 0 arguments, but got 1. - foo(); -- ~~~ --!!! error TS2554: Expected 1 arguments, but got 0. --!!! related TS6210 blockScopedSameNameFunctionDeclarationES6.ts:1:14: An argument for 'a' was not provided. - } - foo(10); - foo(); // not ok - needs number \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols index 125116a09b4..29d15d21f43 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols @@ -9,29 +9,29 @@ function foo(a: number) { >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 13)) function foo() { } // duplicate ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) } else { function foo() { } // duplicate ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) foo(10);// not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) } foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) } foo(10); >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff deleted file mode 100644 index b9aa6e22076..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff +++ /dev/null @@ -1,40 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES6.symbols -+++ new.blockScopedSameNameFunctionDeclarationES6.symbols -@@= skipped -8, +8 lines =@@ - >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 13)) - - function foo() { } // duplicate -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - } - else { - function foo() { } // duplicate -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(10);// not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - } - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - } - foo(10); - >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types index 9b3359e83ee..57727ad9daf 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types @@ -11,38 +11,38 @@ function foo(a: number) { >10 : 10 function foo() { } // duplicate ->foo : { (): void; (): void; } +>foo : () => void foo(); >foo() : void ->foo : { (): void; (): void; } +>foo : () => void foo(10); // not ok >foo(10) : void ->foo : { (): void; (): void; } +>foo : () => void >10 : 10 } else { function foo() { } // duplicate ->foo : { (): void; (): void; } +>foo : () => void foo(); >foo() : void ->foo : { (): void; (): void; } +>foo : () => void foo(10);// not ok >foo(10) : void ->foo : { (): void; (): void; } +>foo : () => void >10 : 10 } foo(10); // not ok >foo(10) : void ->foo : { (): void; (): void; } +>foo : (a: number) => void >10 : 10 foo(); >foo() : void ->foo : { (): void; (): void; } +>foo : (a: number) => void } foo(10); >foo(10) : void diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff deleted file mode 100644 index 433378dff75..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff +++ /dev/null @@ -1,49 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES6.types -+++ new.blockScopedSameNameFunctionDeclarationES6.types -@@= skipped -10, +10 lines =@@ - >10 : 10 - - function foo() { } // duplicate -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10); // not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - else { - function foo() { } // duplicate -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10);// not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - foo(10); // not ok - >foo(10) : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - >10 : 10 - - foo(); - >foo() : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - } - foo(10); - >foo(10) : void \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..3093158ce7c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,45 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsArrowFunctions.ts(1,25): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(4,12): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(5,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(7,18): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(8,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(12,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(15,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsArrowFunctions.ts (8 errors) ==== + var f1 = (i: number, ...arguments) => { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any[]; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + var f12 = (arguments: number, ...rest) => { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + var f1NoError = (arguments: number) => { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + var f2 = (...restParameters) => { + var arguments = 10; // No Error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + var f2NoError = () => { + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..5e892d96ba7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,49 @@ +--- old.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt ++++ new.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsArrowFunctions.ts(1,25): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(4,12): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(5,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(7,18): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(8,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(12,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsArrowFunctions.ts(15,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsArrowFunctions.ts (8 errors) ==== ++ var f1 = (i: number, ...arguments) => { //arguments is error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any[]; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ var f12 = (arguments: number, ...rest) => { //arguments is error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ var f1NoError = (arguments: number) => { // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ var f2 = (...restParameters) => { ++ var arguments = 10; // No Error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ var f2NoError = () => { ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js index 3e7ae866ed0..11524f2d2d0 100644 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js @@ -19,6 +19,7 @@ var f2NoError = () => { } //// [collisionArgumentsArrowFunctions.js] +"use strict"; var f1 = (i, ...arguments) => { var arguments; // no error }; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..b25a3db355b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js ++++ new.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js +@@= skipped -18, +18 lines =@@ + } + + //// [collisionArgumentsArrowFunctions.js] ++"use strict"; + var f1 = (i, ...arguments) => { + var arguments; // no error + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..d6e3cf505c8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,109 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsFunction.ts(2,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(3,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(5,28): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(8,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(9,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(17,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(20,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(23,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(24,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(25,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(26,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(28,28): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(29,28): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(30,25): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(31,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(33,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(34,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(35,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(36,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsFunction.ts (20 errors) ==== + // Functions + function f1(arguments: number, ...restParameters) { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f12(i: number, ...arguments) { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any[]; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f1NoError(arguments: number) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + declare function f2(i: number, ...arguments); // no error - no code gen + declare function f21(arguments: number, ...rest); // no error - no code gen + declare function f2NoError(arguments: number); // no error + + function f3(...restParameters) { + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f3NoError() { + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + function f4(arguments: number, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4(arguments: string, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4(arguments: any, ...rest) { // error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f42(i: number, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f42(i: string, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f42(i: any, ...arguments) { // error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any[]; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f4NoError(arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4NoError(arguments: string); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4NoError(arguments: any) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + declare function f5(arguments: number, ...rest); // no codegen no error + declare function f5(arguments: string, ...rest); // no codegen no error + declare function f52(i: number, ...arguments); // no codegen no error + declare function f52(i: string, ...arguments); // no codegen no error + declare function f6(arguments: number); // no codegen no error + declare function f6(arguments: string); // no codegen no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..87df73cbd0c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,113 @@ +--- old.collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt ++++ new.collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsFunction.ts(2,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(3,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(5,28): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(8,20): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(9,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(17,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(20,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(23,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(24,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(25,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(26,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(28,28): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(29,28): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(30,25): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(31,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(33,20): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(34,20): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(35,20): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(36,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsFunction.ts (20 errors) ==== ++ // Functions ++ function f1(arguments: number, ...restParameters) { //arguments is error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f12(i: number, ...arguments) { //arguments is error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any[]; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f1NoError(arguments: number) { // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ declare function f2(i: number, ...arguments); // no error - no code gen ++ declare function f21(arguments: number, ...rest); // no error - no code gen ++ declare function f2NoError(arguments: number); // no error ++ ++ function f3(...restParameters) { ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f3NoError() { ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ function f4(arguments: number, ...rest); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4(arguments: string, ...rest); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4(arguments: any, ...rest) { // error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any; // No error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f42(i: number, ...arguments); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f42(i: string, ...arguments); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f42(i: any, ...arguments) { // error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any[]; // No error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f4NoError(arguments: number); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4NoError(arguments: string); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4NoError(arguments: any) { // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any; // No error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ declare function f5(arguments: number, ...rest); // no codegen no error ++ declare function f5(arguments: string, ...rest); // no codegen no error ++ declare function f52(i: number, ...arguments); // no codegen no error ++ declare function f52(i: string, ...arguments); // no codegen no error ++ declare function f6(arguments: number); // no codegen no error ++ declare function f6(arguments: string); // no codegen no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js index b25325c5541..682a22ba966 100644 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js @@ -47,6 +47,7 @@ declare function f6(arguments: number); // no codegen no error declare function f6(arguments: string); // no codegen no error //// [collisionArgumentsFunction.js] +"use strict"; // Functions function f1(arguments, ...restParameters) { var arguments = 10; // no error diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..2469e1ce8fe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsFunction(alwaysstrict=false,target=es2015).js ++++ new.collisionArgumentsFunction(alwaysstrict=false,target=es2015).js +@@= skipped -46, +46 lines =@@ + declare function f6(arguments: string); // no codegen no error + + //// [collisionArgumentsFunction.js] ++"use strict"; + // Functions + function f1(arguments, ...restParameters) { + var arguments = 10; // no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..05a465dfd10 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,99 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsFunctionExpressions.ts(2,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(5,32): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(6,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(8,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(9,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(13,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(16,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(19,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(20,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(21,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(22,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(24,32): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(25,32): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(26,29): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(27,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(29,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(30,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(31,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(32,13): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsFunctionExpressions.ts (20 errors) ==== + function foo() { + function f1(arguments: number, ...restParameters) { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f12(i: number, ...arguments) { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any[]; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f1NoError(arguments: number) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + function f3(...restParameters) { + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f3NoError() { + var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + function f4(arguments: number, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4(arguments: string, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4(arguments: any, ...rest) { // error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f42(i: number, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f42(i: string, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f42(i: any, ...arguments) { // error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any[]; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + function f4NoError(arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4NoError(arguments: string); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + function f4NoError(arguments: any) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..6ff659a3893 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,103 @@ +--- old.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt ++++ new.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsFunctionExpressions.ts(2,17): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(5,32): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(6,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(8,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(9,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(13,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(16,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(19,17): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(20,17): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(21,17): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(22,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(24,32): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(25,32): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(26,29): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(27,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(29,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(30,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(31,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(32,13): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsFunctionExpressions.ts (20 errors) ==== ++ function foo() { ++ function f1(arguments: number, ...restParameters) { //arguments is error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f12(i: number, ...arguments) { //arguments is error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any[]; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f1NoError(arguments: number) { // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ function f3(...restParameters) { ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f3NoError() { ++ var arguments = 10; // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ function f4(arguments: number, ...rest); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4(arguments: string, ...rest); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4(arguments: any, ...rest) { // error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any; // No error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f42(i: number, ...arguments); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f42(i: string, ...arguments); // no codegen no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f42(i: any, ...arguments) { // error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any[]; // No error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ function f4NoError(arguments: number); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4NoError(arguments: string); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ function f4NoError(arguments: any) { // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var arguments: any; // No error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js index eb8d260654f..56a002496f7 100644 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js @@ -37,6 +37,7 @@ function foo() { } //// [collisionArgumentsFunctionExpressions.js] +"use strict"; function foo() { function f1(arguments, ...restParameters) { var arguments = 10; // no error diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..daf847d9ed6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js ++++ new.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js +@@= skipped -36, +36 lines =@@ + } + + //// [collisionArgumentsFunctionExpressions.js] ++"use strict"; + function foo() { + function f1(arguments, ...restParameters) { + var arguments = 10; // no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..504df9cf58e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt @@ -0,0 +1,49 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsInType.ts(1,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(4,6): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(5,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(7,12): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(10,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(11,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(12,23): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(13,26): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsInType.ts (10 errors) ==== + var v1: (i: number, ...arguments) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var v12: (arguments: number, ...restParameters) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var v2: { + (arguments: number, ...restParameters); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + new (arguments: number, ...restParameters); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + foo(arguments: number, ...restParameters); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + prop: (arguments: number, ...restParameters) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + var v21: { + (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + new (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + foo(i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + prop: (i: number, ...arguments) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..e2ccf8ff63d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,53 @@ +--- old.collisionArgumentsInType(alwaysstrict=false).errors.txt ++++ new.collisionArgumentsInType(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsInType.ts(1,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(4,6): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(5,10): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(7,12): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(10,20): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(11,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(12,23): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInType.ts(13,26): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsInType.ts (10 errors) ==== ++ var v1: (i: number, ...arguments) => void; // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var v12: (arguments: number, ...restParameters) => void; // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var v2: { ++ (arguments: number, ...restParameters); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ new (arguments: number, ...restParameters); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ foo(arguments: number, ...restParameters); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ prop: (arguments: number, ...restParameters) => void; // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ var v21: { ++ (i: number, ...arguments); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ new (i: number, ...arguments); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ foo(i: number, ...arguments); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ prop: (i: number, ...arguments) => void; // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js index 751e4d3a93a..492c227633b 100644 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js @@ -17,6 +17,7 @@ var v21: { } //// [collisionArgumentsInType.js] +"use strict"; var v1; // no error - no code gen var v12; // no error - no code gen var v2; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..29acb92f2b8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsInType(alwaysstrict=false).js ++++ new.collisionArgumentsInType(alwaysstrict=false).js +@@= skipped -16, +16 lines =@@ + } + + //// [collisionArgumentsInType.js] ++"use strict"; + var v1; // no error - no code gen + var v12; // no error - no code gen + var v2; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..063d6fc9741 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt @@ -0,0 +1,60 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsInterfaceMembers.ts(3,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(6,6): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(9,6): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(14,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(17,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(20,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(25,23): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(26,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(27,16): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsInterfaceMembers.ts (9 errors) ==== + // call + interface i1 { + (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i12 { + (arguments: number, ...rest); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i1NoError { + (arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + // new + interface i2 { + new (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i21 { + new (arguments: number, ...rest); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i2NoError { + new (arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + // method + interface i3 { + foo(i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + foo1(arguments: number, ...rest); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + fooNoError(arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..172458f009c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,64 @@ +--- old.collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt ++++ new.collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsInterfaceMembers.ts(3,20): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(6,6): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(9,6): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(14,24): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(17,10): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(20,10): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(25,23): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(26,10): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsInterfaceMembers.ts(27,16): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsInterfaceMembers.ts (9 errors) ==== ++ // call ++ interface i1 { ++ (i: number, ...arguments); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ interface i12 { ++ (arguments: number, ...rest); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ interface i1NoError { ++ (arguments: number); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ // new ++ interface i2 { ++ new (i: number, ...arguments); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ interface i21 { ++ new (arguments: number, ...rest); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ interface i2NoError { ++ new (arguments: number); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } ++ ++ // method ++ interface i3 { ++ foo(i: number, ...arguments); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ foo1(arguments: number, ...rest); // no error - no code gen ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ fooNoError(arguments: number); // no error ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js index f0a187da57d..9ad7c0a9992 100644 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js @@ -31,3 +31,4 @@ interface i3 { } //// [collisionArgumentsInterfaceMembers.js] +"use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..91f4880f990 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff @@ -0,0 +1,7 @@ +--- old.collisionArgumentsInterfaceMembers(alwaysstrict=false).js ++++ new.collisionArgumentsInterfaceMembers(alwaysstrict=false).js +@@= skipped -30, +30 lines =@@ + } + + //// [collisionArgumentsInterfaceMembers.js] ++"use strict"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt index 7134a605441..8294cd064e6 100644 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt @@ -1,15 +1,20 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. constDeclarations-invalidContexts.ts(3,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(5,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(8,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(11,5): error TS1156: 'const' declarations can only be declared inside a block. +constDeclarations-invalidContexts.ts(15,1): error TS1101: 'with' statements are not allowed in strict mode. constDeclarations-invalidContexts.ts(15,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. constDeclarations-invalidContexts.ts(19,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(22,5): error TS1156: 'const' declarations can only be declared inside a block. +constDeclarations-invalidContexts.ts(25,5): error TS1344: 'A label is not allowed here. constDeclarations-invalidContexts.ts(25,12): error TS1156: 'const' declarations can only be declared inside a block. +constDeclarations-invalidContexts.ts(28,21): error TS1344: 'A label is not allowed here. constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations can only be declared inside a block. -==== constDeclarations-invalidContexts.ts (9 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== constDeclarations-invalidContexts.ts (12 errors) ==== // Errors, const must be defined inside a block if (true) const c1 = 0; @@ -33,6 +38,8 @@ constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations var obj; with (obj) + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. const c5 = 0; // No Error will be reported here since we turn off all type checking @@ -49,11 +56,15 @@ constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations if (true) label: const c8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~~~ !!! error TS1156: 'const' declarations can only be declared inside a block. while (false) label2: label3: label4: const c9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~~~ !!! error TS1156: 'const' declarations can only be declared inside a block. diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..0190210e105 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,49 @@ +--- old.constDeclarations-invalidContexts(alwaysstrict=false).errors.txt ++++ new.constDeclarations-invalidContexts(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + constDeclarations-invalidContexts.ts(3,5): error TS1156: 'const' declarations can only be declared inside a block. + constDeclarations-invalidContexts.ts(5,5): error TS1156: 'const' declarations can only be declared inside a block. + constDeclarations-invalidContexts.ts(8,5): error TS1156: 'const' declarations can only be declared inside a block. + constDeclarations-invalidContexts.ts(11,5): error TS1156: 'const' declarations can only be declared inside a block. ++constDeclarations-invalidContexts.ts(15,1): error TS1101: 'with' statements are not allowed in strict mode. + constDeclarations-invalidContexts.ts(15,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + constDeclarations-invalidContexts.ts(19,5): error TS1156: 'const' declarations can only be declared inside a block. + constDeclarations-invalidContexts.ts(22,5): error TS1156: 'const' declarations can only be declared inside a block. ++constDeclarations-invalidContexts.ts(25,5): error TS1344: 'A label is not allowed here. + constDeclarations-invalidContexts.ts(25,12): error TS1156: 'const' declarations can only be declared inside a block. ++constDeclarations-invalidContexts.ts(28,21): error TS1344: 'A label is not allowed here. + constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations can only be declared inside a block. + + +-==== constDeclarations-invalidContexts.ts (9 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== constDeclarations-invalidContexts.ts (12 errors) ==== + // Errors, const must be defined inside a block + if (true) + const c1 = 0; +@@= skipped -32, +37 lines =@@ + + var obj; + with (obj) ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + const c5 = 0; // No Error will be reported here since we turn off all type checking +@@= skipped -16, +18 lines =@@ + + if (true) + label: const c8 = 0; ++ ~~~~~ ++!!! error TS1344: 'A label is not allowed here. + ~~~~~~~~~~~~~ + !!! error TS1156: 'const' declarations can only be declared inside a block. + + while (false) + label2: label3: label4: const c9 = 0; ++ ~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + ~~~~~~~~~~~~~ + !!! error TS1156: 'const' declarations can only be declared inside a block. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js index 89f0d6d18cc..85107959936 100644 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js @@ -35,6 +35,7 @@ while (false) //// [constDeclarations-invalidContexts.js] +"use strict"; // Errors, const must be defined inside a block if (true) const c1 = 0; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..d933745019d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.constDeclarations-invalidContexts(alwaysstrict=false).js ++++ new.constDeclarations-invalidContexts(alwaysstrict=false).js +@@= skipped -34, +34 lines =@@ + + + //// [constDeclarations-invalidContexts.js] ++"use strict"; + // Errors, const must be defined inside a block + if (true) + const c1 = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt index a715ebc860a..0899be18e4b 100644 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt @@ -1,7 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +constDeclarations-scopes.ts(27,1): error TS1101: 'with' statements are not allowed in strict mode. constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +constDeclarations-scopes.ts(43,5): error TS1344: 'A label is not allowed here. +constDeclarations-scopes.ts(48,21): error TS1344: 'A label is not allowed here. -==== constDeclarations-scopes.ts (1 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== constDeclarations-scopes.ts (4 errors) ==== // global const c = "string"; @@ -29,6 +34,8 @@ constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not sup var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. const c = 0; @@ -47,11 +54,15 @@ constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not sup if (true) { label: const c = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. n = c; } while (false) { label2: label3: label4: const c = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. n = c; } diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..55144ee27c5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,43 @@ +--- old.constDeclarations-scopes(alwaysstrict=false).errors.txt ++++ new.constDeclarations-scopes(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++constDeclarations-scopes.ts(27,1): error TS1101: 'with' statements are not allowed in strict mode. + constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +- +- +-==== constDeclarations-scopes.ts (1 errors) ==== ++constDeclarations-scopes.ts(43,5): error TS1344: 'A label is not allowed here. ++constDeclarations-scopes.ts(48,21): error TS1344: 'A label is not allowed here. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== constDeclarations-scopes.ts (4 errors) ==== + // global + const c = "string"; + +@@= skipped -28, +33 lines =@@ + + var obj; + with (obj) { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + const c = 0; +@@= skipped -18, +20 lines =@@ + + if (true) { + label: const c = 0; ++ ~~~~~ ++!!! error TS1344: 'A label is not allowed here. + n = c; + } + + while (false) { + label2: label3: label4: const c = 0; ++ ~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + n = c; + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js index b7fbe902110..0bf8f857d77 100644 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js @@ -149,6 +149,7 @@ var o = { } //// [constDeclarations-scopes.js] +"use strict"; // global const c = "string"; var n; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..26b3720728f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.constDeclarations-scopes(alwaysstrict=false).js ++++ new.constDeclarations-scopes(alwaysstrict=false).js +@@= skipped -148, +148 lines =@@ + } + + //// [constDeclarations-scopes.js] ++"use strict"; + // global + const c = "string"; + var n; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt index ea2262681bf..0eef8776af8 100644 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt @@ -1,7 +1,13 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +constDeclarations-validContexts.ts(18,1): error TS1101: 'with' statements are not allowed in strict mode. constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +constDeclarations-validContexts.ts(31,5): error TS1344: 'A label is not allowed here. +constDeclarations-validContexts.ts(35,21): error TS1344: 'A label is not allowed here. +constDeclarations-validContexts.ts(64,9): error TS1344: 'A label is not allowed here. -==== constDeclarations-validContexts.ts (1 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== constDeclarations-validContexts.ts (5 errors) ==== // Control flow statements with blocks if (true) { const c1 = 0; @@ -20,6 +26,8 @@ constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. const c5 = 0; @@ -35,10 +43,14 @@ constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is if (true) { label: const c8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. } while (false) { label2: label3: label4: const c9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } // Try/catch/finally @@ -68,6 +80,8 @@ constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is { const c16 = 0 label17: const c17 = 0; + ~~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..be3a9bbb32e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,52 @@ +--- old.constDeclarations-validContexts(alwaysstrict=false).errors.txt ++++ new.constDeclarations-validContexts(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++constDeclarations-validContexts.ts(18,1): error TS1101: 'with' statements are not allowed in strict mode. + constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +- +- +-==== constDeclarations-validContexts.ts (1 errors) ==== ++constDeclarations-validContexts.ts(31,5): error TS1344: 'A label is not allowed here. ++constDeclarations-validContexts.ts(35,21): error TS1344: 'A label is not allowed here. ++constDeclarations-validContexts.ts(64,9): error TS1344: 'A label is not allowed here. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== constDeclarations-validContexts.ts (5 errors) ==== + // Control flow statements with blocks + if (true) { + const c1 = 0; +@@= skipped -19, +25 lines =@@ + + var obj; + with (obj) { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + const c5 = 0; +@@= skipped -15, +17 lines =@@ + + if (true) { + label: const c8 = 0; ++ ~~~~~ ++!!! error TS1344: 'A label is not allowed here. + } + + while (false) { + label2: label3: label4: const c9 = 0; ++ ~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + } + + // Try/catch/finally +@@= skipped -33, +37 lines =@@ + { + const c16 = 0 + label17: const c17 = 0; ++ ~~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + } + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js index 138e4828780..c2a6bb9b3ca 100644 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js @@ -124,6 +124,7 @@ var o = { } //// [constDeclarations-validContexts.js] +"use strict"; // Control flow statements with blocks if (true) { const c1 = 0; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8cb42a7190a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.constDeclarations-validContexts(alwaysstrict=false).js ++++ new.constDeclarations-validContexts(alwaysstrict=false).js +@@= skipped -123, +123 lines =@@ + } + + //// [constDeclarations-validContexts.js] ++"use strict"; + // Control flow statements with blocks + if (true) { + const c1 = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt index de9cad2cb24..d81e4a11a17 100644 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt @@ -1,3 +1,31 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +convertKeywordsYes.ts(6,5): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. +convertKeywordsYes.ts(7,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +convertKeywordsYes.ts(8,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +convertKeywordsYes.ts(11,5): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. +convertKeywordsYes.ts(12,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. +convertKeywordsYes.ts(13,5): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. +convertKeywordsYes.ts(14,5): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. +convertKeywordsYes.ts(16,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. +convertKeywordsYes.ts(19,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +convertKeywordsYes.ts(24,5): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. +convertKeywordsYes.ts(25,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +convertKeywordsYes.ts(26,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +convertKeywordsYes.ts(28,5): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. +convertKeywordsYes.ts(29,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. +convertKeywordsYes.ts(30,5): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. +convertKeywordsYes.ts(31,5): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. +convertKeywordsYes.ts(33,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. +convertKeywordsYes.ts(35,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +convertKeywordsYes.ts(40,8): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. +convertKeywordsYes.ts(41,9): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +convertKeywordsYes.ts(42,8): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +convertKeywordsYes.ts(45,8): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. +convertKeywordsYes.ts(46,9): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. +convertKeywordsYes.ts(47,9): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. +convertKeywordsYes.ts(48,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. +convertKeywordsYes.ts(50,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. +convertKeywordsYes.ts(53,8): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. convertKeywordsYes.ts(175,12): error TS18006: Classes may not have a field named 'constructor'. convertKeywordsYes.ts(292,11): error TS1213: Identifier expected. 'implements' is a reserved word in strict mode. Class definitions are automatically in strict mode. convertKeywordsYes.ts(293,11): error TS1213: Identifier expected. 'interface' is a reserved word in strict mode. Class definitions are automatically in strict mode. @@ -10,60 +38,115 @@ convertKeywordsYes.ts(301,11): error TS1213: Identifier expected. 'static' is a convertKeywordsYes.ts(303,11): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. -==== convertKeywordsYes.ts (10 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== convertKeywordsYes.ts (37 errors) ==== // reserved ES5 future in strict mode var constructor = 0; var any = 0; var boolean = 0; var implements = 0; + ~~~~~~~~~~ +!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. var interface = 0; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. var let = 0; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. var module = 0; var number = 0; var package = 0; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. var private = 0; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. var protected = 0; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. var public = 0; + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. var set = 0; var static = 0; + ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. var string = 0; var get = 0; var yield = 0; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. var declare = 0; function bigGeneric< constructor, implements , + ~~~~~~~~~~ +!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. interface , + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. let, + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. module , package, + ~~~~~~~ +!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. private , + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. protected, + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. public , + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. set , static , + ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. get , yield, + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. declare >(c: constructor, a: any, b2: boolean, i: implements , + ~~~~~~~~~~ +!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. i2: interface , + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. l: let, + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. m: module , n: number, p: package, + ~~~~~~~ +!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. p2: private , + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. p3: protected, + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. p4: public , + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. s: set , s2: static , + ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. s3: string, g: get , y: yield, + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. d: declare ) { } var bigObject = { diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..6537978f0d7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,151 @@ +--- old.convertKeywordsYes(alwaysstrict=false).errors.txt ++++ new.convertKeywordsYes(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++convertKeywordsYes.ts(6,5): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. ++convertKeywordsYes.ts(7,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. ++convertKeywordsYes.ts(8,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. ++convertKeywordsYes.ts(11,5): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. ++convertKeywordsYes.ts(12,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++convertKeywordsYes.ts(13,5): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. ++convertKeywordsYes.ts(14,5): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. ++convertKeywordsYes.ts(16,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. ++convertKeywordsYes.ts(19,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++convertKeywordsYes.ts(24,5): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. ++convertKeywordsYes.ts(25,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. ++convertKeywordsYes.ts(26,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. ++convertKeywordsYes.ts(28,5): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. ++convertKeywordsYes.ts(29,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++convertKeywordsYes.ts(30,5): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. ++convertKeywordsYes.ts(31,5): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. ++convertKeywordsYes.ts(33,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. ++convertKeywordsYes.ts(35,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++convertKeywordsYes.ts(40,8): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. ++convertKeywordsYes.ts(41,9): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. ++convertKeywordsYes.ts(42,8): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. ++convertKeywordsYes.ts(45,8): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. ++convertKeywordsYes.ts(46,9): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++convertKeywordsYes.ts(47,9): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. ++convertKeywordsYes.ts(48,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. ++convertKeywordsYes.ts(50,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. ++convertKeywordsYes.ts(53,8): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + convertKeywordsYes.ts(175,12): error TS18006: Classes may not have a field named 'constructor'. + convertKeywordsYes.ts(292,11): error TS1213: Identifier expected. 'implements' is a reserved word in strict mode. Class definitions are automatically in strict mode. + convertKeywordsYes.ts(293,11): error TS1213: Identifier expected. 'interface' is a reserved word in strict mode. Class definitions are automatically in strict mode. +@@= skipped -9, +37 lines =@@ + convertKeywordsYes.ts(303,11): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + + +-==== convertKeywordsYes.ts (10 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== convertKeywordsYes.ts (37 errors) ==== + // reserved ES5 future in strict mode + + var constructor = 0; + var any = 0; + var boolean = 0; + var implements = 0; ++ ~~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. + var interface = 0; ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + var let = 0; ++ ~~~ ++!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + var module = 0; + var number = 0; + var package = 0; ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. + var private = 0; ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + var protected = 0; ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + var public = 0; ++ ~~~~~~ ++!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + var set = 0; + var static = 0; ++ ~~~~~~ ++!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. + var string = 0; + var get = 0; + var yield = 0; ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + var declare = 0; + + function bigGeneric< + constructor, + implements , ++ ~~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. + interface , ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + let, ++ ~~~ ++!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + module , + package, ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. + private , ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + protected, ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + public , ++ ~~~~~~ ++!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + set , + static , ++ ~~~~~~ ++!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. + get , + yield, ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + declare + >(c: constructor, + a: any, + b2: boolean, + i: implements , ++ ~~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. + i2: interface , ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + l: let, ++ ~~~ ++!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + m: module , + n: number, + p: package, ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. + p2: private , ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + p3: protected, ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + p4: public , ++ ~~~~~~ ++!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + s: set , + s2: static , ++ ~~~~~~ ++!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. + s3: string, + g: get , + y: yield, ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + d: declare ) { } + + var bigObject = { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js index 3bead856ff5..8a62ef06191 100644 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js @@ -308,6 +308,7 @@ namespace bigModule { } //// [convertKeywordsYes.js] +"use strict"; // reserved ES5 future in strict mode var constructor = 0; var any = 0; diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff index 11e707f1d59..2644c7d6260 100644 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff @@ -1,6 +1,14 @@ --- old.convertKeywordsYes(alwaysstrict=false).js +++ new.convertKeywordsYes(alwaysstrict=false).js -@@= skipped -384, +384 lines =@@ +@@= skipped -307, +307 lines =@@ + } + + //// [convertKeywordsYes.js] ++"use strict"; + // reserved ES5 future in strict mode + var constructor = 0; + var any = 0; +@@= skipped -77, +78 lines =@@ with: 0, }; class bigClass { diff --git a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt b/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt index 19feefa6c62..7f01da08d18 100644 --- a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt @@ -1,19 +1,28 @@ +deleteOperator1.ts(2,25): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperator1.ts(2,25): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperator1.ts(3,21): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperator1.ts(3,21): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperator1.ts(4,5): error TS2322: Type 'boolean' is not assignable to type 'number'. +deleteOperator1.ts(4,24): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperator1.ts(4,24): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperator1.ts (4 errors) ==== +==== deleteOperator1.ts (7 errors) ==== var a; var x: boolean = delete a; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var y: any = delete a; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var z: number = delete a; ~ !!! error TS2322: Type 'boolean' is not assignable to type 'number'. ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff deleted file mode 100644 index 1444947ee66..00000000000 --- a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff +++ /dev/null @@ -1,32 +0,0 @@ ---- old.deleteOperator1.errors.txt -+++ new.deleteOperator1.errors.txt -@@= skipped -0, +0 lines =@@ --deleteOperator1.ts(2,25): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperator1.ts(2,25): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperator1.ts(3,21): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperator1.ts(3,21): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperator1.ts(4,5): error TS2322: Type 'boolean' is not assignable to type 'number'. --deleteOperator1.ts(4,24): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperator1.ts(4,24): error TS2703: The operand of a 'delete' operator must be a property reference. - - --==== deleteOperator1.ts (7 errors) ==== -+==== deleteOperator1.ts (4 errors) ==== - var a; - var x: boolean = delete a; - ~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var y: any = delete a; - ~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var z: number = delete a; - ~ - !!! error TS2322: Type 'boolean' is not assignable to type 'number'. -- ~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - ~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt b/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt index efb292ac951..67f961f1a90 100644 --- a/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt @@ -1,7 +1,10 @@ +downlevelLetConst6.ts(1,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. downlevelLetConst6.ts(1,1): error TS2304: Cannot find name 'let'. -==== downlevelLetConst6.ts (1 errors) ==== +==== downlevelLetConst6.ts (2 errors) ==== let ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2304: Cannot find name 'let'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff deleted file mode 100644 index 0a77e60bb15..00000000000 --- a/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.downlevelLetConst6.errors.txt -+++ new.downlevelLetConst6.errors.txt -@@= skipped -0, +0 lines =@@ --downlevelLetConst6.ts(1,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - downlevelLetConst6.ts(1,1): error TS2304: Cannot find name 'let'. - - --==== downlevelLetConst6.ts (2 errors) ==== -+==== downlevelLetConst6.ts (1 errors) ==== - let -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2304: Cannot find name 'let'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt index 53aa0683501..4e096fadc02 100644 --- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt @@ -1,20 +1,12 @@ -duplicateIdentifierInCatchBlock.ts(1,5): error TS2300: Duplicate identifier 'v'. -duplicateIdentifierInCatchBlock.ts(3,14): error TS2300: Duplicate identifier 'v'. duplicateIdentifierInCatchBlock.ts(6,10): error TS2300: Duplicate identifier 'w'. duplicateIdentifierInCatchBlock.ts(8,9): error TS2300: Duplicate identifier 'w'. -duplicateIdentifierInCatchBlock.ts(12,9): error TS2300: Duplicate identifier 'x'. -duplicateIdentifierInCatchBlock.ts(13,14): error TS2300: Duplicate identifier 'x'. duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'string', but here has type 'number'. -==== duplicateIdentifierInCatchBlock.ts (7 errors) ==== +==== duplicateIdentifierInCatchBlock.ts (3 errors) ==== var v; - ~ -!!! error TS2300: Duplicate identifier 'v'. try { } catch (e) { function v() { } - ~ -!!! error TS2300: Duplicate identifier 'v'. } function w() { } @@ -28,11 +20,7 @@ duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Subsequent variable decl try { } catch (e) { var x; - ~ -!!! error TS2300: Duplicate identifier 'x'. function x() { } // error - ~ -!!! error TS2300: Duplicate identifier 'x'. function e() { } // error var p: string; var p: number; // error diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff deleted file mode 100644 index 174195f9c1d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- old.duplicateIdentifierInCatchBlock.errors.txt -+++ new.duplicateIdentifierInCatchBlock.errors.txt -@@= skipped -0, +0 lines =@@ -+duplicateIdentifierInCatchBlock.ts(1,5): error TS2300: Duplicate identifier 'v'. -+duplicateIdentifierInCatchBlock.ts(3,14): error TS2300: Duplicate identifier 'v'. - duplicateIdentifierInCatchBlock.ts(6,10): error TS2300: Duplicate identifier 'w'. - duplicateIdentifierInCatchBlock.ts(8,9): error TS2300: Duplicate identifier 'w'. -+duplicateIdentifierInCatchBlock.ts(12,9): error TS2300: Duplicate identifier 'x'. -+duplicateIdentifierInCatchBlock.ts(13,14): error TS2300: Duplicate identifier 'x'. - duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'string', but here has type 'number'. - - --==== duplicateIdentifierInCatchBlock.ts (3 errors) ==== -+==== duplicateIdentifierInCatchBlock.ts (7 errors) ==== - var v; -+ ~ -+!!! error TS2300: Duplicate identifier 'v'. - try { } catch (e) { - function v() { } -+ ~ -+!!! error TS2300: Duplicate identifier 'v'. - } - - function w() { } -@@= skipped -19, +27 lines =@@ - - try { } catch (e) { - var x; -+ ~ -+!!! error TS2300: Duplicate identifier 'x'. - function x() { } // error -+ ~ -+!!! error TS2300: Duplicate identifier 'x'. - function e() { } // error - var p: string; - var p: number; // error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt index b1245d7c46e..84cf1449b51 100644 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt @@ -1,19 +1,28 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +es5-asyncFunctionWithStatements.ts(4,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(4,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(4,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(10,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(10,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(10,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(16,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(16,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(16,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(24,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(24,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(25,9): error TS1101: 'with' statements are not allowed in strict mode. -==== es5-asyncFunctionWithStatements.ts (8 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== es5-asyncFunctionWithStatements.ts (13 errors) ==== declare var x, y, z, a, b, c; async function withStatement0() { with (x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. @@ -24,6 +33,8 @@ es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is async function withStatement1() { with (await x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. @@ -34,6 +45,8 @@ es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is async function withStatement2() { with (x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. @@ -46,10 +59,14 @@ es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is async function withStatement3() { with (x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. with (z) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. a; await y; b; diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..34a206c342e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,67 @@ +--- old.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt ++++ new.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++es5-asyncFunctionWithStatements.ts(4,5): error TS1101: 'with' statements are not allowed in strict mode. + es5-asyncFunctionWithStatements.ts(4,5): error TS1300: 'with' statements are not allowed in an async function block. + es5-asyncFunctionWithStatements.ts(4,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. ++es5-asyncFunctionWithStatements.ts(10,5): error TS1101: 'with' statements are not allowed in strict mode. + es5-asyncFunctionWithStatements.ts(10,5): error TS1300: 'with' statements are not allowed in an async function block. + es5-asyncFunctionWithStatements.ts(10,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. ++es5-asyncFunctionWithStatements.ts(16,5): error TS1101: 'with' statements are not allowed in strict mode. + es5-asyncFunctionWithStatements.ts(16,5): error TS1300: 'with' statements are not allowed in an async function block. + es5-asyncFunctionWithStatements.ts(16,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. ++es5-asyncFunctionWithStatements.ts(24,5): error TS1101: 'with' statements are not allowed in strict mode. + es5-asyncFunctionWithStatements.ts(24,5): error TS1300: 'with' statements are not allowed in an async function block. + es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +- +- +-==== es5-asyncFunctionWithStatements.ts (8 errors) ==== ++es5-asyncFunctionWithStatements.ts(25,9): error TS1101: 'with' statements are not allowed in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== es5-asyncFunctionWithStatements.ts (13 errors) ==== + declare var x, y, z, a, b, c; + + async function withStatement0() { + with (x) { + ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. ++ ~~~~ + !!! error TS1300: 'with' statements are not allowed in an async function block. + ~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +@@= skipped -23, +32 lines =@@ + async function withStatement1() { + with (await x) { + ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. ++ ~~~~ + !!! error TS1300: 'with' statements are not allowed in an async function block. + ~~~~~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +@@= skipped -10, +12 lines =@@ + async function withStatement2() { + with (x) { + ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. ++ ~~~~ + !!! error TS1300: 'with' statements are not allowed in an async function block. + ~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +@@= skipped -12, +14 lines =@@ + async function withStatement3() { + with (x) { + ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. ++ ~~~~ + !!! error TS1300: 'with' statements are not allowed in an async function block. + ~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + with (z) { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + a; + await y; + b; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js index 7604b6d07c0..aa131d43c00 100644 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js @@ -34,6 +34,7 @@ async function withStatement3() { } //// [es5-asyncFunctionWithStatements.js] +"use strict"; async function withStatement0() { with (x) { y; diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff index a4716d30d69..898b4ceaa0e 100644 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff @@ -21,6 +21,7 @@ -function withStatement2() { - return __awaiter(this, void 0, void 0, function* () { - with (x) { ++"use strict"; +async function withStatement0() { + with (x) { + y; diff --git a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt b/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt index d5b6ea80835..63b0085885c 100644 --- a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt @@ -1,9 +1,12 @@ +functionExpressionInWithBlock.ts(2,2): error TS1101: 'with' statements are not allowed in strict mode. functionExpressionInWithBlock.ts(2,2): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== functionExpressionInWithBlock.ts (1 errors) ==== +==== functionExpressionInWithBlock.ts (2 errors) ==== function x() { with({}) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. function f() { diff --git a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff deleted file mode 100644 index d984d1ec89d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.functionExpressionInWithBlock.errors.txt -+++ new.functionExpressionInWithBlock.errors.txt -@@= skipped -0, +0 lines =@@ --functionExpressionInWithBlock.ts(2,2): error TS1101: 'with' statements are not allowed in strict mode. - functionExpressionInWithBlock.ts(2,2): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== functionExpressionInWithBlock.ts (2 errors) ==== -+==== functionExpressionInWithBlock.ts (1 errors) ==== - function x() { - with({}) { -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - function f() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt index 6ff7e61c165..f300487ab97 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt @@ -1,8 +1,9 @@ innerModExport1.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. innerModExport1.ts(5,12): error TS1437: Namespace must be given a name. +innerModExport1.ts(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. -==== innerModExport1.ts (2 errors) ==== +==== innerModExport1.ts (3 errors) ==== namespace Outer { // inner mod 1 @@ -25,4 +26,6 @@ innerModExport1.ts(5,12): error TS1437: Namespace must be given a name. } - Outer.ExportFunc(); \ No newline at end of file + Outer.ExportFunc(); + ~~~~~~~~~~ +!!! error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff index 79831bba166..dd92bbc6ee6 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff @@ -4,16 +4,9 @@ -innerModExport1.ts(5,5): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. +innerModExport1.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. innerModExport1.ts(5,12): error TS1437: Namespace must be given a name. --innerModExport1.ts(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. -- -- --==== innerModExport1.ts (3 errors) ==== -+ -+ -+==== innerModExport1.ts (2 errors) ==== - namespace Outer { - - // inner mod 1 + innerModExport1.ts(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. + +@@= skipped -9, +9 lines =@@ var non_export_var: number; module { ~~~~~~ @@ -21,10 +14,4 @@ +!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. ~ !!! error TS1437: Namespace must be given a name. - var non_export_var = 0; -@@= skipped -26, +25 lines =@@ - } - - Outer.ExportFunc(); -- ~~~~~~~~~~ --!!! error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. \ No newline at end of file + var non_export_var = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols b/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols index 2c98ac82d78..2b1f6d920fa 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols @@ -31,7 +31,5 @@ namespace Outer { } Outer.ExportFunc(); ->Outer.ExportFunc : Symbol(Outer.ExportFunc, Decl(innerModExport1.ts, 8, 46)) >Outer : Symbol(Outer, Decl(innerModExport1.ts, 0, 0)) ->ExportFunc : Symbol(Outer.ExportFunc, Decl(innerModExport1.ts, 8, 46)) diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff b/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff deleted file mode 100644 index 7aef745c40b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff +++ /dev/null @@ -1,9 +0,0 @@ ---- old.innerModExport1.symbols -+++ new.innerModExport1.symbols -@@= skipped -30, +30 lines =@@ - } - - Outer.ExportFunc(); -+>Outer.ExportFunc : Symbol(Outer.ExportFunc, Decl(innerModExport1.ts, 8, 46)) - >Outer : Symbol(Outer, Decl(innerModExport1.ts, 0, 0)) -+>ExportFunc : Symbol(Outer.ExportFunc, Decl(innerModExport1.ts, 8, 46)) diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.types b/testdata/baselines/reference/submodule/compiler/innerModExport1.types index 54f0b78bc6a..c9c78eb34dc 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.types +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.types @@ -39,8 +39,8 @@ namespace Outer { } Outer.ExportFunc(); ->Outer.ExportFunc() : number ->Outer.ExportFunc : () => number +>Outer.ExportFunc() : any +>Outer.ExportFunc : any >Outer : typeof Outer ->ExportFunc : () => number +>ExportFunc : any diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff b/testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff deleted file mode 100644 index 8351ef03e7e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- old.innerModExport1.types -+++ new.innerModExport1.types -@@= skipped -38, +38 lines =@@ - } - - Outer.ExportFunc(); -->Outer.ExportFunc() : any -->Outer.ExportFunc : any -+>Outer.ExportFunc() : number -+>Outer.ExportFunc : () => number - >Outer : typeof Outer -->ExportFunc : any -+>ExportFunc : () => number diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt index 1132230b927..aaf593227c9 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt @@ -2,7 +2,7 @@ innerModExport2.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to innerModExport2.ts(5,12): error TS1437: Namespace must be given a name. innerModExport2.ts(7,20): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. innerModExport2.ts(13,9): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. -innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? +innerModExport2.ts(20,7): error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. ==== innerModExport2.ts (5 errors) ==== @@ -35,5 +35,4 @@ innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist Outer.NonExportFunc(); ~~~~~~~~~~~~~ -!!! error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? -!!! related TS2728 innerModExport2.ts:11:25: 'ExportFunc' is declared here. \ No newline at end of file +!!! error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff index 88609772a70..6fcbc3554d1 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff @@ -6,11 +6,6 @@ innerModExport2.ts(5,12): error TS1437: Namespace must be given a name. innerModExport2.ts(7,20): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. innerModExport2.ts(13,9): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. --innerModExport2.ts(20,7): error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. -+innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? - - - ==== innerModExport2.ts (5 errors) ==== @@= skipped -11, +11 lines =@@ var non_export_var: number; module { @@ -19,11 +14,4 @@ +!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. ~ !!! error TS1437: Namespace must be given a name. - var non_export_var = 0; -@@= skipped -23, +23 lines =@@ - - Outer.NonExportFunc(); - ~~~~~~~~~~~~~ --!!! error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. -+!!! error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? -+!!! related TS2728 innerModExport2.ts:11:25: 'ExportFunc' is declared here. \ No newline at end of file + var non_export_var = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt index 1cfc7524624..f97568d4e33 100644 --- a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt @@ -1,9 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. a.js(3,9): error TS7029: Fallthrough case in switch. a.js(16,5): error TS7027: Unreachable code detected. +a.js(19,1): error TS1344: 'A label is not allowed here. a.js(19,1): error TS7028: Unused label. -==== a.js (3 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== a.js (4 errors) ==== function foo(a, b) { switch (a) { case 10: @@ -28,4 +31,6 @@ a.js(19,1): error TS7028: Unused label. label1: var x2 = 10; ~~~~~~ +!!! error TS1344: 'A label is not allowed here. + ~~~~~~ !!! error TS7028: Unused label. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..3be25c5c31a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,24 @@ +--- old.jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt ++++ new.jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + a.js(3,9): error TS7029: Fallthrough case in switch. + a.js(16,5): error TS7027: Unreachable code detected. ++a.js(19,1): error TS1344: 'A label is not allowed here. + a.js(19,1): error TS7028: Unused label. + + +-==== a.js (3 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== a.js (4 errors) ==== + function foo(a, b) { + switch (a) { + case 10: +@@= skipped -26, +29 lines =@@ + } + + label1: var x2 = 10; ++ ~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + ~~~~~~ + !!! error TS7028: Unused label. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt b/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt index 3cc27b6dab8..6465cc652d6 100644 --- a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt @@ -6,13 +6,11 @@ letAndVarRedeclaration.ts(7,9): error TS2300: Duplicate identifier 'x1'. letAndVarRedeclaration.ts(8,14): error TS2300: Duplicate identifier 'x1'. letAndVarRedeclaration.ts(12,9): error TS2451: Cannot redeclare block-scoped variable 'x'. letAndVarRedeclaration.ts(14,13): error TS2451: Cannot redeclare block-scoped variable 'x'. -letAndVarRedeclaration.ts(17,18): error TS2451: Cannot redeclare block-scoped variable 'x'. letAndVarRedeclaration.ts(22,9): error TS2300: Duplicate identifier 'x2'. letAndVarRedeclaration.ts(23,9): error TS2300: Duplicate identifier 'x2'. letAndVarRedeclaration.ts(24,14): error TS2300: Duplicate identifier 'x2'. letAndVarRedeclaration.ts(28,9): error TS2451: Cannot redeclare block-scoped variable 'x2'. letAndVarRedeclaration.ts(30,13): error TS2451: Cannot redeclare block-scoped variable 'x2'. -letAndVarRedeclaration.ts(33,18): error TS2451: Cannot redeclare block-scoped variable 'x2'. letAndVarRedeclaration.ts(37,5): error TS2451: Cannot redeclare block-scoped variable 'x11'. letAndVarRedeclaration.ts(38,10): error TS2451: Cannot redeclare block-scoped variable 'x11'. letAndVarRedeclaration.ts(42,9): error TS2451: Cannot redeclare block-scoped variable 'x11'. @@ -21,7 +19,7 @@ letAndVarRedeclaration.ts(48,9): error TS2451: Cannot redeclare block-scoped var letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped variable 'x11'. -==== letAndVarRedeclaration.ts (21 errors) ==== +==== letAndVarRedeclaration.ts (19 errors) ==== let e0 ~~ !!! error TS2300: Duplicate identifier 'e0'. @@ -55,8 +53,6 @@ letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped va } { function x() { } - ~ -!!! error TS2451: Cannot redeclare block-scoped variable 'x'. } } @@ -83,8 +79,6 @@ letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped va } { function x2() { } - ~~ -!!! error TS2451: Cannot redeclare block-scoped variable 'x2'. } } diff --git a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff deleted file mode 100644 index 81e019253df..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff +++ /dev/null @@ -1,43 +0,0 @@ ---- old.letAndVarRedeclaration.errors.txt -+++ new.letAndVarRedeclaration.errors.txt -@@= skipped -5, +5 lines =@@ - letAndVarRedeclaration.ts(8,14): error TS2300: Duplicate identifier 'x1'. - letAndVarRedeclaration.ts(12,9): error TS2451: Cannot redeclare block-scoped variable 'x'. - letAndVarRedeclaration.ts(14,13): error TS2451: Cannot redeclare block-scoped variable 'x'. -+letAndVarRedeclaration.ts(17,18): error TS2451: Cannot redeclare block-scoped variable 'x'. - letAndVarRedeclaration.ts(22,9): error TS2300: Duplicate identifier 'x2'. - letAndVarRedeclaration.ts(23,9): error TS2300: Duplicate identifier 'x2'. - letAndVarRedeclaration.ts(24,14): error TS2300: Duplicate identifier 'x2'. - letAndVarRedeclaration.ts(28,9): error TS2451: Cannot redeclare block-scoped variable 'x2'. - letAndVarRedeclaration.ts(30,13): error TS2451: Cannot redeclare block-scoped variable 'x2'. -+letAndVarRedeclaration.ts(33,18): error TS2451: Cannot redeclare block-scoped variable 'x2'. - letAndVarRedeclaration.ts(37,5): error TS2451: Cannot redeclare block-scoped variable 'x11'. - letAndVarRedeclaration.ts(38,10): error TS2451: Cannot redeclare block-scoped variable 'x11'. - letAndVarRedeclaration.ts(42,9): error TS2451: Cannot redeclare block-scoped variable 'x11'. -@@= skipped -13, +15 lines =@@ - letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped variable 'x11'. - - --==== letAndVarRedeclaration.ts (19 errors) ==== -+==== letAndVarRedeclaration.ts (21 errors) ==== - let e0 - ~~ - !!! error TS2300: Duplicate identifier 'e0'. -@@= skipped -34, +34 lines =@@ - } - { - function x() { } -+ ~ -+!!! error TS2451: Cannot redeclare block-scoped variable 'x'. - } - } - -@@= skipped -26, +28 lines =@@ - } - { - function x2() { } -+ ~~ -+!!! error TS2451: Cannot redeclare block-scoped variable 'x2'. - } - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt b/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt index f5fe5509975..e34f634d5e3 100644 --- a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt @@ -1,13 +1,19 @@ +letAsIdentifier.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letAsIdentifier.ts(2,5): error TS2300: Duplicate identifier 'a'. +letAsIdentifier.ts(3,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letAsIdentifier.ts(5,1): error TS2300: Duplicate identifier 'a'. -==== letAsIdentifier.ts (2 errors) ==== +==== letAsIdentifier.ts (4 errors) ==== var let = 10; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. var a = 10; ~ !!! error TS2300: Duplicate identifier 'a'. let = 30; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. let a; ~ diff --git a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff deleted file mode 100644 index 4753a9bb3cc..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.letAsIdentifier.errors.txt -+++ new.letAsIdentifier.errors.txt -@@= skipped -0, +0 lines =@@ --letAsIdentifier.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letAsIdentifier.ts(2,5): error TS2300: Duplicate identifier 'a'. --letAsIdentifier.ts(3,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letAsIdentifier.ts(5,1): error TS2300: Duplicate identifier 'a'. - - --==== letAsIdentifier.ts (4 errors) ==== -+==== letAsIdentifier.ts (2 errors) ==== - var let = 10; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - var a = 10; - ~ - !!! error TS2300: Duplicate identifier 'a'. - let = 30; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - let - a; - ~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt b/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt new file mode 100644 index 00000000000..84bc1ea4938 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt @@ -0,0 +1,7 @@ +letAsIdentifier2.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letAsIdentifier2.ts (1 errors) ==== + function let() {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff deleted file mode 100644 index adcc88124ed..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- old.letAsIdentifier2.errors.txt -+++ new.letAsIdentifier2.errors.txt -@@= skipped -0, +0 lines =@@ --letAsIdentifier2.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- --==== letAsIdentifier2.ts (1 errors) ==== -- function let() {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt b/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt index 645962e02e1..4f913ff135e 100644 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt @@ -2,14 +2,17 @@ letDeclarations-invalidContexts.ts(3,5): error TS1156: 'let' declarations can on letDeclarations-invalidContexts.ts(5,5): error TS1156: 'let' declarations can only be declared inside a block. letDeclarations-invalidContexts.ts(8,5): error TS1156: 'let' declarations can only be declared inside a block. letDeclarations-invalidContexts.ts(11,5): error TS1156: 'let' declarations can only be declared inside a block. +letDeclarations-invalidContexts.ts(15,1): error TS1101: 'with' statements are not allowed in strict mode. letDeclarations-invalidContexts.ts(15,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. letDeclarations-invalidContexts.ts(19,5): error TS1156: 'let' declarations can only be declared inside a block. letDeclarations-invalidContexts.ts(22,5): error TS1156: 'let' declarations can only be declared inside a block. +letDeclarations-invalidContexts.ts(25,5): error TS1344: 'A label is not allowed here. letDeclarations-invalidContexts.ts(25,12): error TS1156: 'let' declarations can only be declared inside a block. +letDeclarations-invalidContexts.ts(28,21): error TS1344: 'A label is not allowed here. letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can only be declared inside a block. -==== letDeclarations-invalidContexts.ts (9 errors) ==== +==== letDeclarations-invalidContexts.ts (12 errors) ==== // Errors, let must be defined inside a block if (true) let l1 = 0; @@ -33,6 +36,8 @@ letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can var obj; with (obj) + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. let l5 = 0; @@ -49,11 +54,15 @@ letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can if (true) label: let l8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~ !!! error TS1156: 'let' declarations can only be declared inside a block. while (false) label2: label3: label4: let l9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~ !!! error TS1156: 'let' declarations can only be declared inside a block. diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff deleted file mode 100644 index 2d06643792b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff +++ /dev/null @@ -1,46 +0,0 @@ ---- old.letDeclarations-invalidContexts.errors.txt -+++ new.letDeclarations-invalidContexts.errors.txt -@@= skipped -1, +1 lines =@@ - letDeclarations-invalidContexts.ts(5,5): error TS1156: 'let' declarations can only be declared inside a block. - letDeclarations-invalidContexts.ts(8,5): error TS1156: 'let' declarations can only be declared inside a block. - letDeclarations-invalidContexts.ts(11,5): error TS1156: 'let' declarations can only be declared inside a block. --letDeclarations-invalidContexts.ts(15,1): error TS1101: 'with' statements are not allowed in strict mode. - letDeclarations-invalidContexts.ts(15,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - letDeclarations-invalidContexts.ts(19,5): error TS1156: 'let' declarations can only be declared inside a block. - letDeclarations-invalidContexts.ts(22,5): error TS1156: 'let' declarations can only be declared inside a block. --letDeclarations-invalidContexts.ts(25,5): error TS1344: 'A label is not allowed here. - letDeclarations-invalidContexts.ts(25,12): error TS1156: 'let' declarations can only be declared inside a block. --letDeclarations-invalidContexts.ts(28,21): error TS1344: 'A label is not allowed here. - letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can only be declared inside a block. - - --==== letDeclarations-invalidContexts.ts (12 errors) ==== -+==== letDeclarations-invalidContexts.ts (9 errors) ==== - // Errors, let must be defined inside a block - if (true) - let l1 = 0; -@@= skipped -34, +31 lines =@@ - - var obj; - with (obj) -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - let l5 = 0; -@@= skipped -18, +16 lines =@@ - - if (true) - label: let l8 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - ~~~~~~~~~~~ - !!! error TS1156: 'let' declarations can only be declared inside a block. - - while (false) - label2: label3: label4: let l9 = 0; -- ~~~~~~ --!!! error TS1344: 'A label is not allowed here. - ~~~~~~~~~~~ - !!! error TS1156: 'let' declarations can only be declared inside a block. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt b/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt index 88220a8a4ef..fd14ca81b09 100644 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt @@ -1,7 +1,11 @@ +letDeclarations-scopes.ts(27,1): error TS1101: 'with' statements are not allowed in strict mode. letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +letDeclarations-scopes.ts(43,5): error TS1344: 'A label is not allowed here. +letDeclarations-scopes.ts(48,21): error TS1344: 'A label is not allowed here. +letDeclarations-scopes.ts(119,5): error TS1344: 'A label is not allowed here. -==== letDeclarations-scopes.ts (1 errors) ==== +==== letDeclarations-scopes.ts (5 errors) ==== // global let l = "string"; @@ -29,6 +33,8 @@ letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not suppo var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. let l = 0; @@ -47,11 +53,15 @@ letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not suppo if (true) { label: let l = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. n = l; } while (false) { label2: label3: label4: let l = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. n = l; } @@ -123,6 +133,8 @@ letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not suppo } lable: let l2 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. } // methods diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff deleted file mode 100644 index 68c379186a0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff +++ /dev/null @@ -1,51 +0,0 @@ ---- old.letDeclarations-scopes.errors.txt -+++ new.letDeclarations-scopes.errors.txt -@@= skipped -0, +0 lines =@@ --letDeclarations-scopes.ts(27,1): error TS1101: 'with' statements are not allowed in strict mode. - letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. --letDeclarations-scopes.ts(43,5): error TS1344: 'A label is not allowed here. --letDeclarations-scopes.ts(48,21): error TS1344: 'A label is not allowed here. --letDeclarations-scopes.ts(119,5): error TS1344: 'A label is not allowed here. -- -- --==== letDeclarations-scopes.ts (5 errors) ==== -+ -+ -+==== letDeclarations-scopes.ts (1 errors) ==== - // global - let l = "string"; - -@@= skipped -32, +28 lines =@@ - - var obj; - with (obj) { -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - let l = 0; -@@= skipped -20, +18 lines =@@ - - if (true) { - label: let l = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - n = l; - } - - while (false) { - label2: label3: label4: let l = 0; -- ~~~~~~ --!!! error TS1344: 'A label is not allowed here. - n = l; - } - -@@= skipped -80, +76 lines =@@ - } - - lable: let l2 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - - // methods \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt b/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt index cfe1d3d189d..3c3aa84e21e 100644 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt @@ -1,7 +1,17 @@ +letDeclarations-validContexts.ts(18,1): error TS1101: 'with' statements are not allowed in strict mode. letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +letDeclarations-validContexts.ts(31,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(35,21): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(64,9): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(124,1): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(126,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(130,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(132,9): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(137,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(139,9): error TS1344: 'A label is not allowed here. -==== letDeclarations-validContexts.ts (1 errors) ==== +==== letDeclarations-validContexts.ts (11 errors) ==== // Control flow statements with blocks if (true) { let l1 = 0; @@ -20,6 +30,8 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. let l5 = 0; @@ -35,10 +47,14 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no if (true) { label: let l8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. } while (false) { label2: label3: label4: let l9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } // Try/catch/finally @@ -68,6 +84,8 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no { let l16 = 0 label17: let l17 = 0; + ~~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } @@ -128,20 +146,32 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no // labels label: let l30 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. { label2: let l31 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } function f3() { label: let l32 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. { label2: let l33 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } namespace m3 { label: let l34 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. { label2: let l35 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff deleted file mode 100644 index 06ef74e2ca0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff +++ /dev/null @@ -1,89 +0,0 @@ ---- old.letDeclarations-validContexts.errors.txt -+++ new.letDeclarations-validContexts.errors.txt -@@= skipped -0, +0 lines =@@ --letDeclarations-validContexts.ts(18,1): error TS1101: 'with' statements are not allowed in strict mode. - letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. --letDeclarations-validContexts.ts(31,5): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(35,21): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(64,9): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(124,1): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(126,5): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(130,5): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(132,9): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(137,5): error TS1344: 'A label is not allowed here. --letDeclarations-validContexts.ts(139,9): error TS1344: 'A label is not allowed here. -- -- --==== letDeclarations-validContexts.ts (11 errors) ==== -+ -+ -+==== letDeclarations-validContexts.ts (1 errors) ==== - // Control flow statements with blocks - if (true) { - let l1 = 0; -@@= skipped -29, +19 lines =@@ - - var obj; - with (obj) { -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - let l5 = 0; -@@= skipped -17, +15 lines =@@ - - if (true) { - label: let l8 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - - while (false) { - label2: label3: label4: let l9 = 0; -- ~~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - - // Try/catch/finally -@@= skipped -37, +33 lines =@@ - { - let l16 = 0 - label17: let l17 = 0; -- ~~~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - } - -@@= skipped -62, +60 lines =@@ - - // labels - label: let l30 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - { - label2: let l31 = 0; -- ~~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - - function f3() { - label: let l32 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - { - label2: let l33 = 0; -- ~~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - } - - namespace m3 { - label: let l34 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - { - label2: let l35 = 0; -- ~~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt index a0637a1b9d0..8382bccd976 100644 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt @@ -1,15 +1,21 @@ +letInConstDeclarations_ES5.ts(2,15): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES5.ts(2,15): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInConstDeclarations_ES5.ts(5,19): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES5.ts(5,19): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInConstDeclarations_ES5.ts (2 errors) ==== +==== letInConstDeclarations_ES5.ts (4 errors) ==== // All use of let in const declaration should be an error const x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { const x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 35cdd535249..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInConstDeclarations_ES5(target=es2015).errors.txt -+++ new.letInConstDeclarations_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --letInConstDeclarations_ES5.ts(2,15): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInConstDeclarations_ES5.ts(2,15): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInConstDeclarations_ES5.ts(5,19): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInConstDeclarations_ES5.ts(5,19): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== letInConstDeclarations_ES5.ts (4 errors) ==== -+==== letInConstDeclarations_ES5.ts (2 errors) ==== - // All use of let in const declaration should be an error - const x = 50, let = 5; - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - { - const x = 10, let = 20; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt index 3bd8501e1a6..71b556c64c2 100644 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt @@ -1,15 +1,21 @@ +letInConstDeclarations_ES6.ts(2,15): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES6.ts(2,15): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInConstDeclarations_ES6.ts(5,19): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES6.ts(5,19): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInConstDeclarations_ES6.ts (2 errors) ==== +==== letInConstDeclarations_ES6.ts (4 errors) ==== // All use of let in const declaration should be an error const x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { const x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff deleted file mode 100644 index e4e86e16b3f..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInConstDeclarations_ES6.errors.txt -+++ new.letInConstDeclarations_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --letInConstDeclarations_ES6.ts(2,15): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInConstDeclarations_ES6.ts(2,15): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInConstDeclarations_ES6.ts(5,19): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInConstDeclarations_ES6.ts(5,19): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== letInConstDeclarations_ES6.ts (4 errors) ==== -+==== letInConstDeclarations_ES6.ts (2 errors) ==== - // All use of let in const declaration should be an error - const x = 50, let = 5; - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - { - const x = 10, let = 20; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt index 0bb7d4e38b2..60ecd6d1afb 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt @@ -1,46 +1,70 @@ +letInLetConstDeclOfForOfAndForIn_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(2,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(4,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(4,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(6,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(6,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(8,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(8,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(11,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(11,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(13,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(13,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(15,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(15,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(17,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(17,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetConstDeclOfForOfAndForIn_ES5.ts (8 errors) ==== +==== letInLetConstDeclOfForOfAndForIn_ES5.ts (16 errors) ==== // Should be an error for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } diff --git a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 9d5fbf96ccb..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,73 +0,0 @@ ---- old.letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt -+++ new.letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --letInLetConstDeclOfForOfAndForIn_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(2,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(4,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(4,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(6,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(6,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(8,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(8,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(11,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(11,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(13,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(13,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(15,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(15,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES5.ts(17,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES5.ts(17,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== letInLetConstDeclOfForOfAndForIn_ES5.ts (16 errors) ==== -+==== letInLetConstDeclOfForOfAndForIn_ES5.ts (8 errors) ==== - // Should be an error - for (let let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (let let in [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let in [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - { - for (let let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (let let in [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let in [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt index f2118a7c694..607a6e71e7c 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt @@ -1,46 +1,70 @@ +letInLetConstDeclOfForOfAndForIn_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(2,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(4,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(4,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(6,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(6,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(8,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(8,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(11,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(11,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(13,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(13,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(15,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(15,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(17,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(17,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetConstDeclOfForOfAndForIn_ES6.ts (8 errors) ==== +==== letInLetConstDeclOfForOfAndForIn_ES6.ts (16 errors) ==== // Should be an error for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } diff --git a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff deleted file mode 100644 index 982e581e949..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff +++ /dev/null @@ -1,73 +0,0 @@ ---- old.letInLetConstDeclOfForOfAndForIn_ES6.errors.txt -+++ new.letInLetConstDeclOfForOfAndForIn_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --letInLetConstDeclOfForOfAndForIn_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(2,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(4,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(4,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(6,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(6,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(8,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(8,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(11,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(11,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(13,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(13,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(15,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(15,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetConstDeclOfForOfAndForIn_ES6.ts(17,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetConstDeclOfForOfAndForIn_ES6.ts(17,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== letInLetConstDeclOfForOfAndForIn_ES6.ts (16 errors) ==== -+==== letInLetConstDeclOfForOfAndForIn_ES6.ts (8 errors) ==== - // Should be an error - for (let let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (let let in [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let in [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - { - for (let let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let of [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (let let in [1,2,3]) {} - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - for (const let in [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt index 72c96cb1ab8..8e7addcb2b7 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt @@ -1,15 +1,21 @@ +letInLetDeclarations_ES5.ts(2,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES5.ts(2,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetDeclarations_ES5.ts(5,17): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES5.ts(5,17): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetDeclarations_ES5.ts (2 errors) ==== +==== letInLetDeclarations_ES5.ts (4 errors) ==== // All use of let in const declaration should be an error let x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { let x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 3b9d8bb3957..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInLetDeclarations_ES5(target=es2015).errors.txt -+++ new.letInLetDeclarations_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --letInLetDeclarations_ES5.ts(2,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetDeclarations_ES5.ts(2,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetDeclarations_ES5.ts(5,17): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetDeclarations_ES5.ts(5,17): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== letInLetDeclarations_ES5.ts (4 errors) ==== -+==== letInLetDeclarations_ES5.ts (2 errors) ==== - // All use of let in const declaration should be an error - let x = 50, let = 5; - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - { - let x = 10, let = 20; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt index e12b77e2bd1..279674d37c7 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt @@ -1,15 +1,21 @@ +letInLetDeclarations_ES6.ts(2,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES6.ts(2,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetDeclarations_ES6.ts(5,17): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES6.ts(5,17): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetDeclarations_ES6.ts (2 errors) ==== +==== letInLetDeclarations_ES6.ts (4 errors) ==== // All use of let in const declaration should be an error let x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { let x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff deleted file mode 100644 index 640243e70bf..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInLetDeclarations_ES6.errors.txt -+++ new.letInLetDeclarations_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --letInLetDeclarations_ES6.ts(2,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetDeclarations_ES6.ts(2,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. --letInLetDeclarations_ES6.ts(5,17): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - letInLetDeclarations_ES6.ts(5,17): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== letInLetDeclarations_ES6.ts (4 errors) ==== -+==== letInLetDeclarations_ES6.ts (2 errors) ==== - // All use of let in const declaration should be an error - let x = 50, let = 5; - ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - { - let x = 10, let = 20; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt new file mode 100644 index 00000000000..82c8fbaba35 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForIn_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForIn_ES5.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForIn_ES5.ts (2 errors) ==== + // should not be an error + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 87a066cd521..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForIn_ES5(target=es2015).errors.txt -+++ new.letInVarDeclOfForIn_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --letInVarDeclOfForIn_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. --letInVarDeclOfForIn_ES5.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- --==== letInVarDeclOfForIn_ES5.ts (2 errors) ==== -- // should not be an error -- for (var let in [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- { -- for (var let in [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- } -- -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt new file mode 100644 index 00000000000..23b8312aa83 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForIn_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForIn_ES6.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForIn_ES6.ts (2 errors) ==== + // should not be an error + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff deleted file mode 100644 index 910c44551f0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForIn_ES6.errors.txt -+++ new.letInVarDeclOfForIn_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --letInVarDeclOfForIn_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. --letInVarDeclOfForIn_ES6.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- --==== letInVarDeclOfForIn_ES6.ts (2 errors) ==== -- // should not be an error -- for (var let in [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- { -- for (var let in [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- } -- -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt new file mode 100644 index 00000000000..f87781e649e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForOf_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForOf_ES5.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForOf_ES5.ts (2 errors) ==== + // should not be an error + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 5599f5deb4f..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForOf_ES5(target=es2015).errors.txt -+++ new.letInVarDeclOfForOf_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --letInVarDeclOfForOf_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. --letInVarDeclOfForOf_ES5.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- --==== letInVarDeclOfForOf_ES5.ts (2 errors) ==== -- // should not be an error -- for (var let of [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- { -- for (var let of [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- } -- -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt new file mode 100644 index 00000000000..de8fb7a9b97 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForOf_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForOf_ES6.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForOf_ES6.ts (2 errors) ==== + // should not be an error + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff deleted file mode 100644 index 97d8b0fb373..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForOf_ES6.errors.txt -+++ new.letInVarDeclOfForOf_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --letInVarDeclOfForOf_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. --letInVarDeclOfForOf_ES6.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- --==== letInVarDeclOfForOf_ES6.ts (2 errors) ==== -- // should not be an error -- for (var let of [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- { -- for (var let of [1,2,3]) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- } -- -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt index 2c7829a9204..a5980a00e07 100644 --- a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt @@ -1,10 +1,13 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. missingCloseParenStatements.ts(2,26): error TS1005: ')' expected. missingCloseParenStatements.ts(4,5): error TS1005: ')' expected. +missingCloseParenStatements.ts(8,13): error TS1101: 'with' statements are not allowed in strict mode. missingCloseParenStatements.ts(8,39): error TS1005: ')' expected. missingCloseParenStatements.ts(11,35): error TS1005: ')' expected. -==== missingCloseParenStatements.ts (4 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== missingCloseParenStatements.ts (5 errors) ==== var a1, a2, a3 = 0; if ( a1 && (a2 + a3 > 0) { ~ @@ -19,6 +22,8 @@ missingCloseParenStatements.ts(11,35): error TS1005: ')' expected. var i = i + 1; a1 = a1 + i; with ((a2 + a3 > 0) && a1 { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~ !!! error TS1005: ')' expected. !!! related TS1007 missingCloseParenStatements.ts:8:18: The parser expected to find a ')' to match the '(' token here. diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5196bd50e81 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,26 @@ +--- old.missingCloseParenStatements(alwaysstrict=false).errors.txt ++++ new.missingCloseParenStatements(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + missingCloseParenStatements.ts(2,26): error TS1005: ')' expected. + missingCloseParenStatements.ts(4,5): error TS1005: ')' expected. ++missingCloseParenStatements.ts(8,13): error TS1101: 'with' statements are not allowed in strict mode. + missingCloseParenStatements.ts(8,39): error TS1005: ')' expected. + missingCloseParenStatements.ts(11,35): error TS1005: ')' expected. + + +-==== missingCloseParenStatements.ts (4 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== missingCloseParenStatements.ts (5 errors) ==== + var a1, a2, a3 = 0; + if ( a1 && (a2 + a3 > 0) { + ~ +@@= skipped -18, +21 lines =@@ + var i = i + 1; + a1 = a1 + i; + with ((a2 + a3 > 0) && a1 { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~ + !!! error TS1005: ')' expected. + !!! related TS1007 missingCloseParenStatements.ts:8:18: The parser expected to find a ')' to match the '(' token here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js index f0e4de88167..b3efecc7024 100644 --- a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js @@ -16,6 +16,7 @@ if ( a1 && (a2 + a3 > 0) { } //// [missingCloseParenStatements.js] +"use strict"; var a1, a2, a3 = 0; if (a1 && (a2 + a3 > 0)) { while ((a2 > 0) && a1) { diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..cfe16e4f86e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.missingCloseParenStatements(alwaysstrict=false).js ++++ new.missingCloseParenStatements(alwaysstrict=false).js +@@= skipped -15, +15 lines =@@ + } + + //// [missingCloseParenStatements.js] ++"use strict"; + var a1, a2, a3 = 0; + if (a1 && (a2 + a3 > 0)) { + while ((a2 > 0) && a1) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols b/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols index 9bb4ff0da42..bd6a13380ea 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols +++ b/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols @@ -28,11 +28,11 @@ >v : Symbol(v, Decl(moduleElementsInWrongContext.ts, 14, 7)) function foo() { } ->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) +>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10)) export * from "ambient"; export { foo }; ->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) +>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 17, 12)) export { baz as b } from "ambient"; >b : Symbol(b, Decl(moduleElementsInWrongContext.ts, 18, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff b/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff deleted file mode 100644 index 4f9f6ca93e1..00000000000 --- a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.moduleElementsInWrongContext.symbols -+++ new.moduleElementsInWrongContext.symbols -@@= skipped -27, +27 lines =@@ - >v : Symbol(v, Decl(moduleElementsInWrongContext.ts, 14, 7)) - - function foo() { } -->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10)) -+>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) - - export * from "ambient"; - export { foo }; -->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 17, 12)) -+>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) - - export { baz as b } from "ambient"; - >b : Symbol(b, Decl(moduleElementsInWrongContext.ts, 18, 12)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt b/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt new file mode 100644 index 00000000000..f2ac83e9d3f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt @@ -0,0 +1,8 @@ +sourceMapValidationLabeled.ts(1,1): error TS1344: 'A label is not allowed here. + + +==== sourceMapValidationLabeled.ts (1 errors) ==== + x: + ~ +!!! error TS1344: 'A label is not allowed here. + var b = 10; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff deleted file mode 100644 index a0688793390..00000000000 --- a/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.sourceMapValidationLabeled.errors.txt -+++ new.sourceMapValidationLabeled.errors.txt -@@= skipped -0, +0 lines =@@ --sourceMapValidationLabeled.ts(1,1): error TS1344: 'A label is not allowed here. -- -- --==== sourceMapValidationLabeled.ts (1 errors) ==== -- x: -- ~ --!!! error TS1344: 'A label is not allowed here. -- var b = 10; -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt b/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt index baa166bdcd0..6e6b222c652 100644 --- a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt @@ -1,7 +1,8 @@ +sourceMapValidationStatements.ts(43,5): error TS1101: 'with' statements are not allowed in strict mode. sourceMapValidationStatements.ts(43,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== sourceMapValidationStatements.ts (1 errors) ==== +==== sourceMapValidationStatements.ts (2 errors) ==== function f() { var y; var x = 0; @@ -45,6 +46,8 @@ sourceMapValidationStatements.ts(43,5): error TS2410: The 'with' statement is no y = 70; } with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. i = 2; diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff deleted file mode 100644 index 7d920e10750..00000000000 --- a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.sourceMapValidationStatements.errors.txt -+++ new.sourceMapValidationStatements.errors.txt -@@= skipped -0, +0 lines =@@ --sourceMapValidationStatements.ts(43,5): error TS1101: 'with' statements are not allowed in strict mode. - sourceMapValidationStatements.ts(43,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== sourceMapValidationStatements.ts (2 errors) ==== -+==== sourceMapValidationStatements.ts (1 errors) ==== - function f() { - var y; - var x = 0; -@@= skipped -45, +44 lines =@@ - y = 70; - } - with (obj) { -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - i = 2; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt b/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt index 6789bffd72f..422e7f6d72d 100644 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt @@ -1,3 +1,4 @@ +strictModeReservedWord.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. strictModeReservedWord.ts(1,5): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. strictModeReservedWord.ts(5,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. strictModeReservedWord.ts(6,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. @@ -45,9 +46,11 @@ strictModeReservedWord.ts(24,5): error TS2349: This expression is not callable. Type 'String' has no call signatures. -==== strictModeReservedWord.ts (44 errors) ==== +==== strictModeReservedWord.ts (45 errors) ==== let let = 10; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. function foo() { diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff deleted file mode 100644 index 6bcc821c31e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- old.strictModeReservedWord.errors.txt -+++ new.strictModeReservedWord.errors.txt -@@= skipped -0, +0 lines =@@ --strictModeReservedWord.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - strictModeReservedWord.ts(1,5): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - strictModeReservedWord.ts(5,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. - strictModeReservedWord.ts(6,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. -@@= skipped -45, +44 lines =@@ - Type 'String' has no call signatures. - - --==== strictModeReservedWord.ts (45 errors) ==== -+==== strictModeReservedWord.ts (44 errors) ==== - let let = 10; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt b/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt index 918de9b4f05..f35f7ab0bbd 100644 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt @@ -1,3 +1,4 @@ +strictModeReservedWordInClassDeclaration.ts(1,11): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. strictModeReservedWordInClassDeclaration.ts(4,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. strictModeReservedWordInClassDeclaration.ts(4,17): error TS7006: Parameter 'private' implicitly has an 'any' type. strictModeReservedWordInClassDeclaration.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. @@ -33,8 +34,10 @@ strictModeReservedWordInClassDeclaration.ts(28,17): error TS1213: Identifier exp strictModeReservedWordInClassDeclaration.ts(28,17): error TS2304: Cannot find name 'package'. -==== strictModeReservedWordInClassDeclaration.ts (33 errors) ==== +==== strictModeReservedWordInClassDeclaration.ts (34 errors) ==== interface public { } + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. class Foo { constructor(private, public, static) { diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff deleted file mode 100644 index f051de14b84..00000000000 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- old.strictModeReservedWordInClassDeclaration.errors.txt -+++ new.strictModeReservedWordInClassDeclaration.errors.txt -@@= skipped -0, +0 lines =@@ --strictModeReservedWordInClassDeclaration.ts(1,11): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. - strictModeReservedWordInClassDeclaration.ts(4,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. - strictModeReservedWordInClassDeclaration.ts(4,17): error TS7006: Parameter 'private' implicitly has an 'any' type. - strictModeReservedWordInClassDeclaration.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. -@@= skipped -33, +32 lines =@@ - strictModeReservedWordInClassDeclaration.ts(28,17): error TS2304: Cannot find name 'package'. - - --==== strictModeReservedWordInClassDeclaration.ts (34 errors) ==== -+==== strictModeReservedWordInClassDeclaration.ts (33 errors) ==== - interface public { } -- ~~~~~~ --!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. - - class Foo { - constructor(private, public, static) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt b/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt index 5924ab7909d..ca3bae976af 100644 --- a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt @@ -1,10 +1,13 @@ +withStatement.ts(3,1): error TS1101: 'with' statements are not allowed in strict mode. withStatement.ts(3,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== withStatement.ts (1 errors) ==== +==== withStatement.ts (2 errors) ==== declare var ooo:any; with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. bing = true; // no error diff --git a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff deleted file mode 100644 index decc9018855..00000000000 --- a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.withStatement.errors.txt -+++ new.withStatement.errors.txt -@@= skipped -0, +0 lines =@@ --withStatement.ts(3,1): error TS1101: 'with' statements are not allowed in strict mode. - withStatement.ts(3,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== withStatement.ts (2 errors) ==== -+==== withStatement.ts (1 errors) ==== - declare var ooo:any; - - with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - bing = true; // no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt b/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt index 082bc9f28fc..8e8a9b6d047 100644 --- a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt @@ -1,10 +1,13 @@ +withStatementErrors.ts(3,1): error TS1101: 'with' statements are not allowed in strict mode. withStatementErrors.ts(3,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== withStatementErrors.ts (1 errors) ==== +==== withStatementErrors.ts (2 errors) ==== declare var ooo:any; with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. bing = true; // no error diff --git a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff deleted file mode 100644 index b7a71c97d7e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.withStatementErrors.errors.txt -+++ new.withStatementErrors.errors.txt -@@= skipped -0, +0 lines =@@ --withStatementErrors.ts(3,1): error TS1101: 'with' statements are not allowed in strict mode. - withStatementErrors.ts(3,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== withStatementErrors.ts (2 errors) ==== -+==== withStatementErrors.ts (1 errors) ==== - declare var ooo:any; - - with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - bing = true; // no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt b/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt index 5f73f6c6296..8df6e2376f0 100644 --- a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt @@ -1,9 +1,12 @@ +withStatementNestedScope.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. withStatementNestedScope.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== withStatementNestedScope.ts (1 errors) ==== +==== withStatementNestedScope.ts (2 errors) ==== var x = 1; with (x) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. function f(a: number) { diff --git a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff deleted file mode 100644 index 21ca0c9749a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.withStatementNestedScope.errors.txt -+++ new.withStatementNestedScope.errors.txt -@@= skipped -0, +0 lines =@@ --withStatementNestedScope.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. - withStatementNestedScope.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== withStatementNestedScope.ts (2 errors) ==== -+==== withStatementNestedScope.ts (1 errors) ==== - var x = 1; - with (x) { -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - function f(a: number) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..dda61d7b9de --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== ES5For-of19.ts (0 errors) ==== + for (let v of []) { + v; + function foo() { + for (const v of []) { + v; + } + } + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..30b3b43fd92 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.ES5For-of19(alwaysstrict=false,target=es2015).errors.txt ++++ new.ES5For-of19(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== ES5For-of19.ts (0 errors) ==== ++ for (let v of []) { ++ v; ++ function foo() { ++ for (const v of []) { ++ v; ++ } ++ } ++ } ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js index 5c3a9a9e90c..294c9624cfd 100644 --- a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js @@ -12,6 +12,7 @@ for (let v of []) { //// [ES5For-of19.js] +"use strict"; for (let v of []) { v; function foo() { diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..8c9f8b22f7e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.ES5For-of19(alwaysstrict=false,target=es2015).js ++++ new.ES5For-of19(alwaysstrict=false,target=es2015).js +@@= skipped -11, +11 lines =@@ + + + //// [ES5For-of19.js] ++"use strict"; + for (let v of []) { + v; + function foo() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt new file mode 100644 index 00000000000..ed6c795761e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt @@ -0,0 +1,8 @@ +FunctionDeclaration11_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +==== FunctionDeclaration11_es6.ts (1 errors) ==== + function * yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff deleted file mode 100644 index 2bc9978b214..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.FunctionDeclaration11_es6.errors.txt -+++ new.FunctionDeclaration11_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration11_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -- -- --==== FunctionDeclaration11_es6.ts (1 errors) ==== -- function * yield() { -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -- } -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt index acdc5c9b2f3..432b3035193 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt @@ -1,7 +1,7 @@ -FunctionDeclaration12_es6.ts(1,20): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +FunctionDeclaration12_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ==== FunctionDeclaration12_es6.ts (1 errors) ==== var v = function * yield() { } ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. \ No newline at end of file +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff deleted file mode 100644 index f54b7c4983f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.FunctionDeclaration12_es6.errors.txt -+++ new.FunctionDeclaration12_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration12_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+FunctionDeclaration12_es6.ts(1,20): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - - - ==== FunctionDeclaration12_es6.ts (1 errors) ==== - var v = function * yield() { } - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt index ba913e897b9..a828d0def89 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt @@ -1,11 +1,14 @@ +FunctionDeclaration13_es6.ts(3,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration13_es6.ts(3,11): error TS2304: Cannot find name 'yield'. -==== FunctionDeclaration13_es6.ts (1 errors) ==== +==== FunctionDeclaration13_es6.ts (2 errors) ==== function * foo() { // Legal to use 'yield' in a type context. var v: yield; ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff deleted file mode 100644 index d41cc4564fb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.FunctionDeclaration13_es6.errors.txt -+++ new.FunctionDeclaration13_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration13_es6.ts(3,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - FunctionDeclaration13_es6.ts(3,11): error TS2304: Cannot find name 'yield'. - - --==== FunctionDeclaration13_es6.ts (2 errors) ==== -+==== FunctionDeclaration13_es6.ts (1 errors) ==== - function * foo() { - // Legal to use 'yield' in a type context. - var v: yield; -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2304: Cannot find name 'yield'. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..03911894277 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt @@ -0,0 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +FunctionDeclaration2_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== FunctionDeclaration2_es6.ts (1 errors) ==== + function f(yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..bab39dac668 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,14 @@ +--- old.FunctionDeclaration2_es6(alwaysstrict=false).errors.txt ++++ new.FunctionDeclaration2_es6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++FunctionDeclaration2_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== FunctionDeclaration2_es6.ts (1 errors) ==== ++ function f(yield) { ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js index b162aa7fe45..08c7ab1554d 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js @@ -5,5 +5,6 @@ function f(yield) { } //// [FunctionDeclaration2_es6.js] +"use strict"; function f(yield) { } diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8b7367686ba --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff @@ -0,0 +1,9 @@ +--- old.FunctionDeclaration2_es6(alwaysstrict=false).js ++++ new.FunctionDeclaration2_es6(alwaysstrict=false).js +@@= skipped -4, +4 lines =@@ + } + + //// [FunctionDeclaration2_es6.js] ++"use strict"; + function f(yield) { + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt index fda4e2c195d..ee922ce1d73 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt @@ -1,11 +1,17 @@ +FunctionDeclaration3_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration3_es6.ts(1,12): error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. +FunctionDeclaration3_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration3_es6.ts(1,20): error TS2372: Parameter 'yield' cannot reference itself. -==== FunctionDeclaration3_es6.ts (2 errors) ==== +==== FunctionDeclaration3_es6.ts (4 errors) ==== function f(yield = yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ~~~~~~~~~~~~~ !!! error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2372: Parameter 'yield' cannot reference itself. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff deleted file mode 100644 index 2790a8f6b3c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.FunctionDeclaration3_es6.errors.txt -+++ new.FunctionDeclaration3_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration3_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - FunctionDeclaration3_es6.ts(1,12): error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. --FunctionDeclaration3_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - FunctionDeclaration3_es6.ts(1,20): error TS2372: Parameter 'yield' cannot reference itself. - - --==== FunctionDeclaration3_es6.ts (4 errors) ==== -+==== FunctionDeclaration3_es6.ts (2 errors) ==== - function f(yield = yield) { -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~~~~~~~~~ - !!! error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2372: Parameter 'yield' cannot reference itself. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt new file mode 100644 index 00000000000..30e994926cb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt @@ -0,0 +1,8 @@ +FunctionDeclaration4_es6.ts(1,10): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +==== FunctionDeclaration4_es6.ts (1 errors) ==== + function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff deleted file mode 100644 index 6f71e368305..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.FunctionDeclaration4_es6.errors.txt -+++ new.FunctionDeclaration4_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration4_es6.ts(1,10): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -- -- --==== FunctionDeclaration4_es6.ts (1 errors) ==== -- function yield() { -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -- } -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt index ffa97343c65..7f909037a70 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt @@ -1,11 +1,11 @@ -FunctionDeclaration5_es6.ts(1,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +FunctionDeclaration5_es6.ts(1,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration5_es6.ts(1,14): error TS7006: Parameter 'yield' implicitly has an 'any' type. ==== FunctionDeclaration5_es6.ts (2 errors) ==== function*foo(yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ~~~~~ !!! error TS7006: Parameter 'yield' implicitly has an 'any' type. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff deleted file mode 100644 index 6253cf960c4..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.FunctionDeclaration5_es6.errors.txt -+++ new.FunctionDeclaration5_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration5_es6.ts(1,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+FunctionDeclaration5_es6.ts(1,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - FunctionDeclaration5_es6.ts(1,14): error TS7006: Parameter 'yield' implicitly has an 'any' type. - - - ==== FunctionDeclaration5_es6.ts (2 errors) ==== - function*foo(yield) { - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - ~~~~~ - !!! error TS7006: Parameter 'yield' implicitly has an 'any' type. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt index d649f8ef8b3..972a640900c 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt @@ -1,10 +1,13 @@ +FunctionDeclaration8_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration8_es6.ts(1,12): error TS2304: Cannot find name 'yield'. FunctionDeclaration8_es6.ts(1,20): error TS2304: Cannot find name 'foo'. -==== FunctionDeclaration8_es6.ts (2 errors) ==== +==== FunctionDeclaration8_es6.ts (3 errors) ==== var v = { [yield]: foo } ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. ~~~ !!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff deleted file mode 100644 index 8649268ef56..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.FunctionDeclaration8_es6.errors.txt -+++ new.FunctionDeclaration8_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration8_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - FunctionDeclaration8_es6.ts(1,12): error TS2304: Cannot find name 'yield'. - FunctionDeclaration8_es6.ts(1,20): error TS2304: Cannot find name 'foo'. - - --==== FunctionDeclaration8_es6.ts (3 errors) ==== -+==== FunctionDeclaration8_es6.ts (2 errors) ==== - var v = { [yield]: foo } -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2304: Cannot find name 'yield'. - ~~~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt index 20fd93f7c5c..d1d521550e0 100644 --- a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt @@ -1,15 +1,20 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. NonInitializedExportInInternalModule.ts(2,8): error TS1123: Variable declaration list cannot be empty. +NonInitializedExportInInternalModule.ts(3,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. NonInitializedExportInInternalModule.ts(3,5): error TS2304: Cannot find name 'let'. NonInitializedExportInInternalModule.ts(4,10): error TS1123: Variable declaration list cannot be empty. -==== NonInitializedExportInInternalModule.ts (3 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== NonInitializedExportInInternalModule.ts (4 errors) ==== namespace Inner { var; !!! error TS1123: Variable declaration list cannot be empty. let; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2304: Cannot find name 'let'. const; diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..66c3594ecd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,23 @@ +--- old.NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt ++++ new.NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + NonInitializedExportInInternalModule.ts(2,8): error TS1123: Variable declaration list cannot be empty. ++NonInitializedExportInInternalModule.ts(3,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + NonInitializedExportInInternalModule.ts(3,5): error TS2304: Cannot find name 'let'. + NonInitializedExportInInternalModule.ts(4,10): error TS1123: Variable declaration list cannot be empty. + + +-==== NonInitializedExportInInternalModule.ts (3 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== NonInitializedExportInInternalModule.ts (4 errors) ==== + namespace Inner { + var; + + !!! error TS1123: Variable declaration list cannot be empty. + let; ++ ~~~ ++!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ + !!! error TS2304: Cannot find name 'let'. + const; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js index ecc4cb85f40..7dc27edb63e 100644 --- a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js @@ -37,6 +37,7 @@ namespace Inner { } //// [NonInitializedExportInInternalModule.js] +"use strict"; var Inner; (function (Inner) { var ; diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..77b4167a935 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.NonInitializedExportInInternalModule(alwaysstrict=false).js ++++ new.NonInitializedExportInInternalModule(alwaysstrict=false).js +@@= skipped -36, +36 lines =@@ + } + + //// [NonInitializedExportInInternalModule.js] ++"use strict"; + var Inner; + (function (Inner) { + var ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt index a4750166840..f6d10640284 100644 --- a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt @@ -1,7 +1,10 @@ +VariableDeclaration6_es6.ts(1,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. VariableDeclaration6_es6.ts(1,1): error TS2304: Cannot find name 'let'. -==== VariableDeclaration6_es6.ts (1 errors) ==== +==== VariableDeclaration6_es6.ts (2 errors) ==== let ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2304: Cannot find name 'let'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff deleted file mode 100644 index 27506d9553c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.VariableDeclaration6_es6.errors.txt -+++ new.VariableDeclaration6_es6.errors.txt -@@= skipped -0, +0 lines =@@ --VariableDeclaration6_es6.ts(1,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - VariableDeclaration6_es6.ts(1,1): error TS2304: Cannot find name 'let'. - - --==== VariableDeclaration6_es6.ts (2 errors) ==== -+==== VariableDeclaration6_es6.ts (1 errors) ==== - let -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2304: Cannot find name 'let'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt index 5c5cf3714b9..853cf1ff814 100644 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt @@ -1,7 +1,10 @@ +YieldExpression1_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. YieldExpression1_es6.ts(1,1): error TS2304: Cannot find name 'yield'. -==== YieldExpression1_es6.ts (1 errors) ==== +==== YieldExpression1_es6.ts (2 errors) ==== yield; ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff deleted file mode 100644 index dcc301f3f46..00000000000 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.YieldExpression1_es6.errors.txt -+++ new.YieldExpression1_es6.errors.txt -@@= skipped -0, +0 lines =@@ --YieldExpression1_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - YieldExpression1_es6.ts(1,1): error TS2304: Cannot find name 'yield'. - - --==== YieldExpression1_es6.ts (2 errors) ==== -+==== YieldExpression1_es6.ts (1 errors) ==== - yield; -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2304: Cannot find name 'yield'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt index e7db07eb354..f5047733b6a 100644 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt @@ -1,9 +1,12 @@ +YieldExpression8_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. YieldExpression8_es6.ts(1,1): error TS2304: Cannot find name 'yield'. -==== YieldExpression8_es6.ts (1 errors) ==== +==== YieldExpression8_es6.ts (2 errors) ==== yield(foo); ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. function* foo() { yield(foo); diff --git a/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff deleted file mode 100644 index 79f2f97ad53..00000000000 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.YieldExpression8_es6.errors.txt -+++ new.YieldExpression8_es6.errors.txt -@@= skipped -0, +0 lines =@@ --YieldExpression8_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - YieldExpression8_es6.ts(1,1): error TS2304: Cannot find name 'yield'. - - --==== YieldExpression8_es6.ts (2 errors) ==== -+==== YieldExpression8_es6.ts (1 errors) ==== - yield(foo); -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2304: Cannot find name 'yield'. - function* foo() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt index e7776535f90..cf59d189bc3 100644 --- a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt @@ -1,10 +1,13 @@ +YieldStarExpression1_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. YieldStarExpression1_es6.ts(1,1): error TS2304: Cannot find name 'yield'. YieldStarExpression1_es6.ts(1,9): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. -==== YieldStarExpression1_es6.ts (2 errors) ==== +==== YieldStarExpression1_es6.ts (3 errors) ==== yield * []; ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. ~~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff deleted file mode 100644 index 71c990a92e2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.YieldStarExpression1_es6.errors.txt -+++ new.YieldStarExpression1_es6.errors.txt -@@= skipped -0, +0 lines =@@ --YieldStarExpression1_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - YieldStarExpression1_es6.ts(1,1): error TS2304: Cannot find name 'yield'. - YieldStarExpression1_es6.ts(1,9): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. - - --==== YieldStarExpression1_es6.ts (3 errors) ==== -+==== YieldStarExpression1_es6.ts (2 errors) ==== - yield * []; -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2304: Cannot find name 'yield'. - ~~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt index 5d9a5ef3237..604e98edafe 100644 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt @@ -1,14 +1,20 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +arrowFunctionContexts.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. arrowFunctionContexts.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. arrowFunctionContexts.ts(30,9): error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. arrowFunctionContexts.ts(31,16): error TS2332: 'this' cannot be referenced in current location. +arrowFunctionContexts.ts(43,5): error TS1101: 'with' statements are not allowed in strict mode. arrowFunctionContexts.ts(43,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. arrowFunctionContexts.ts(71,13): error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. arrowFunctionContexts.ts(72,20): error TS2332: 'this' cannot be referenced in current location. -==== arrowFunctionContexts.ts (6 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== arrowFunctionContexts.ts (8 errors) ==== // Arrow function used in with statement with (window) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. var p = () => this; @@ -56,6 +62,8 @@ arrowFunctionContexts.ts(72,20): error TS2332: 'this' cannot be referenced in cu namespace M2 { // Arrow function used in with statement with (window) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. var p = () => this; diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..b81a091ec73 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,33 @@ +--- old.arrowFunctionContexts(alwaysstrict=false).errors.txt ++++ new.arrowFunctionContexts(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++arrowFunctionContexts.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. + arrowFunctionContexts.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + arrowFunctionContexts.ts(30,9): error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. + arrowFunctionContexts.ts(31,16): error TS2332: 'this' cannot be referenced in current location. ++arrowFunctionContexts.ts(43,5): error TS1101: 'with' statements are not allowed in strict mode. + arrowFunctionContexts.ts(43,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + arrowFunctionContexts.ts(71,13): error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. + arrowFunctionContexts.ts(72,20): error TS2332: 'this' cannot be referenced in current location. + + +-==== arrowFunctionContexts.ts (6 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== arrowFunctionContexts.ts (8 errors) ==== + // Arrow function used in with statement + with (window) { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + var p = () => this; +@@= skipped -55, +61 lines =@@ + namespace M2 { + // Arrow function used in with statement + with (window) { ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + var p = () => this; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js index 8403bce7ee4..ecd411cdc18 100644 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js @@ -98,6 +98,7 @@ var asserted2: any; //// [arrowFunctionContexts.js] +"use strict"; // Arrow function used in with statement with (window) { var p = () => this; diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff index 6631ab4c7c9..6d02f506b11 100644 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff @@ -1,6 +1,14 @@ --- old.arrowFunctionContexts(alwaysstrict=false).js +++ new.arrowFunctionContexts(alwaysstrict=false).js -@@= skipped -120, +120 lines =@@ +@@= skipped -97, +97 lines =@@ + + + //// [arrowFunctionContexts.js] ++"use strict"; + // Arrow function used in with statement + with (window) { + var p = () => this; +@@= skipped -23, +24 lines =@@ // Arrow function as enum value var E; (function (E) { diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt index 3cf0de1d5e2..adc5f9e4c39 100644 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt @@ -1,12 +1,18 @@ +asiPreventsParsingAsInterface01.ts(1,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface01.ts(3,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. asiPreventsParsingAsInterface01.ts(3,1): error TS2454: Variable 'interface' is used before being assigned. asiPreventsParsingAsInterface01.ts(4,1): error TS2454: Variable 'I' is used before being assigned. -==== asiPreventsParsingAsInterface01.ts (2 errors) ==== +==== asiPreventsParsingAsInterface01.ts (4 errors) ==== var interface: number, I: string; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. interface // This should be the identifier 'interface' ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + ~~~~~~~~~ !!! error TS2454: Variable 'interface' is used before being assigned. I // This should be the identifier 'I' ~ diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff deleted file mode 100644 index c9b10f3f482..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.asiPreventsParsingAsInterface01.errors.txt -+++ new.asiPreventsParsingAsInterface01.errors.txt -@@= skipped -0, +0 lines =@@ --asiPreventsParsingAsInterface01.ts(1,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. --asiPreventsParsingAsInterface01.ts(3,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - asiPreventsParsingAsInterface01.ts(3,1): error TS2454: Variable 'interface' is used before being assigned. - asiPreventsParsingAsInterface01.ts(4,1): error TS2454: Variable 'I' is used before being assigned. - - --==== asiPreventsParsingAsInterface01.ts (4 errors) ==== -+==== asiPreventsParsingAsInterface01.ts (2 errors) ==== - var interface: number, I: string; -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - - interface // This should be the identifier 'interface' -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - ~~~~~~~~~ - !!! error TS2454: Variable 'interface' is used before being assigned. - I // This should be the identifier 'I' \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt new file mode 100644 index 00000000000..7668be900df --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt @@ -0,0 +1,14 @@ +asiPreventsParsingAsInterface02.ts(1,12): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface02.ts(2,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + +==== asiPreventsParsingAsInterface02.ts (2 errors) ==== + function f(interface: number, I: string) { + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + interface // This should be the identifier 'interface' + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + I // This should be the identifier 'I' + {} // This should be a block body + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff deleted file mode 100644 index c828edea41a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff +++ /dev/null @@ -1,18 +0,0 @@ ---- old.asiPreventsParsingAsInterface02.errors.txt -+++ new.asiPreventsParsingAsInterface02.errors.txt -@@= skipped -0, +0 lines =@@ --asiPreventsParsingAsInterface02.ts(1,12): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. --asiPreventsParsingAsInterface02.ts(2,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. -- -- --==== asiPreventsParsingAsInterface02.ts (2 errors) ==== -- function f(interface: number, I: string) { -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. -- interface // This should be the identifier 'interface' -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. -- I // This should be the identifier 'I' -- {} // This should be a block body -- } -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt new file mode 100644 index 00000000000..827183b498f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt @@ -0,0 +1,16 @@ +asiPreventsParsingAsInterface03.ts(1,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface03.ts(4,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + +==== asiPreventsParsingAsInterface03.ts (2 errors) ==== + var interface: number, I: string; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + namespace n { + interface // This should be the identifier 'interface' + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + I // This should be the identifier 'I' + {} // This should be a block body + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff deleted file mode 100644 index bb2414afd42..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.asiPreventsParsingAsInterface03.errors.txt -+++ new.asiPreventsParsingAsInterface03.errors.txt -@@= skipped -0, +0 lines =@@ --asiPreventsParsingAsInterface03.ts(1,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. --asiPreventsParsingAsInterface03.ts(4,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. -- -- --==== asiPreventsParsingAsInterface03.ts (2 errors) ==== -- var interface: number, I: string; -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. -- -- namespace n { -- interface // This should be the identifier 'interface' -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. -- I // This should be the identifier 'I' -- {} // This should be a block body -- } -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt index f8a87062979..b60bb5e8a31 100644 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt @@ -1,16 +1,22 @@ +asiPreventsParsingAsInterface04.ts(1,23): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. asiPreventsParsingAsInterface04.ts(3,1): error TS2454: Variable 'declare' is used before being assigned. +asiPreventsParsingAsInterface04.ts(4,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. asiPreventsParsingAsInterface04.ts(4,1): error TS2454: Variable 'interface' is used before being assigned. asiPreventsParsingAsInterface04.ts(5,1): error TS2454: Variable 'I' is used before being assigned. -==== asiPreventsParsingAsInterface04.ts (3 errors) ==== +==== asiPreventsParsingAsInterface04.ts (5 errors) ==== var declare: boolean, interface: number, I: string; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. declare // This should be the identifier 'declare' ~~~~~~~ !!! error TS2454: Variable 'declare' is used before being assigned. interface // This should be the identifier 'interface' ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + ~~~~~~~~~ !!! error TS2454: Variable 'interface' is used before being assigned. I // This should be the identifier 'I' ~ diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff deleted file mode 100644 index f033cd7c047..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.asiPreventsParsingAsInterface04.errors.txt -+++ new.asiPreventsParsingAsInterface04.errors.txt -@@= skipped -0, +0 lines =@@ --asiPreventsParsingAsInterface04.ts(1,23): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - asiPreventsParsingAsInterface04.ts(3,1): error TS2454: Variable 'declare' is used before being assigned. --asiPreventsParsingAsInterface04.ts(4,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - asiPreventsParsingAsInterface04.ts(4,1): error TS2454: Variable 'interface' is used before being assigned. - asiPreventsParsingAsInterface04.ts(5,1): error TS2454: Variable 'I' is used before being assigned. - - --==== asiPreventsParsingAsInterface04.ts (5 errors) ==== -+==== asiPreventsParsingAsInterface04.ts (3 errors) ==== - var declare: boolean, interface: number, I: string; -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - - declare // This should be the identifier 'declare' - ~~~~~~~ - !!! error TS2454: Variable 'declare' is used before being assigned. - interface // This should be the identifier 'interface' -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - ~~~~~~~~~ - !!! error TS2454: Variable 'interface' is used before being assigned. - I // This should be the identifier 'I' \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt b/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt index 2f031b85773..b45795634ff 100644 --- a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt @@ -1,12 +1,15 @@ asyncOrYieldAsBindingIdentifier1.ts(14,9): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. asyncOrYieldAsBindingIdentifier1.ts(18,9): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. asyncOrYieldAsBindingIdentifier1.ts(22,11): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -asyncOrYieldAsBindingIdentifier1.ts(38,9): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -asyncOrYieldAsBindingIdentifier1.ts(42,9): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +asyncOrYieldAsBindingIdentifier1.ts(26,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(30,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(34,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(38,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(42,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -==== asyncOrYieldAsBindingIdentifier1.ts (6 errors) ==== +==== asyncOrYieldAsBindingIdentifier1.ts (9 errors) ==== function f_let () { let await = 1 } @@ -39,30 +42,36 @@ asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1359: Identifier expected. ' function f3_let () { let yield = 2 + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function f3_var () { var yield = 2 + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function f3_const () { const yield = 2 + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function * f4_let () { let yield = 2; ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function * f4_var () { var yield = 2; ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function * f4_const () { const yield = 2; ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff deleted file mode 100644 index 8b3d4695ee1..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff +++ /dev/null @@ -1,64 +0,0 @@ ---- old.asyncOrYieldAsBindingIdentifier1.errors.txt -+++ new.asyncOrYieldAsBindingIdentifier1.errors.txt -@@= skipped -0, +0 lines =@@ - asyncOrYieldAsBindingIdentifier1.ts(14,9): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - asyncOrYieldAsBindingIdentifier1.ts(18,9): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - asyncOrYieldAsBindingIdentifier1.ts(22,11): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. --asyncOrYieldAsBindingIdentifier1.ts(26,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. --asyncOrYieldAsBindingIdentifier1.ts(30,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. --asyncOrYieldAsBindingIdentifier1.ts(34,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. --asyncOrYieldAsBindingIdentifier1.ts(38,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. --asyncOrYieldAsBindingIdentifier1.ts(42,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. --asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -- -- --==== asyncOrYieldAsBindingIdentifier1.ts (9 errors) ==== -+asyncOrYieldAsBindingIdentifier1.ts(38,9): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -+asyncOrYieldAsBindingIdentifier1.ts(42,9): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -+asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -+ -+ -+==== asyncOrYieldAsBindingIdentifier1.ts (6 errors) ==== - function f_let () { - let await = 1 - } -@@= skipped -41, +38 lines =@@ - - function f3_let () { - let yield = 2 -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - } - - function f3_var () { - var yield = 2 -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - } - - function f3_const () { - const yield = 2 -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - } - - function * f4_let () { - let yield = 2; - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - - function * f4_var () { - var yield = 2; - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - - function * f4_const () { - const yield = 2; - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt b/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt index 61f5f1df522..5bdb63f7a69 100644 --- a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt @@ -1,8 +1,9 @@ controlFlowDeleteOperator.ts(10,12): error TS2790: The operand of a 'delete' operator must be optional. +controlFlowDeleteOperator.ts(14,12): error TS1102: 'delete' cannot be called on an identifier in strict mode. controlFlowDeleteOperator.ts(14,12): error TS2703: The operand of a 'delete' operator must be a property reference. -==== controlFlowDeleteOperator.ts (2 errors) ==== +==== controlFlowDeleteOperator.ts (3 errors) ==== function f() { let x: { a?: number | string, b: number | string } = { b: 1 }; x.a; @@ -20,6 +21,8 @@ controlFlowDeleteOperator.ts(14,12): error TS2703: The operand of a 'delete' ope x; delete x; // No effect ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. x; } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff deleted file mode 100644 index df55fe38ccf..00000000000 --- a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- old.controlFlowDeleteOperator.errors.txt -+++ new.controlFlowDeleteOperator.errors.txt -@@= skipped -0, +0 lines =@@ - controlFlowDeleteOperator.ts(10,12): error TS2790: The operand of a 'delete' operator must be optional. --controlFlowDeleteOperator.ts(14,12): error TS1102: 'delete' cannot be called on an identifier in strict mode. - controlFlowDeleteOperator.ts(14,12): error TS2703: The operand of a 'delete' operator must be a property reference. - - --==== controlFlowDeleteOperator.ts (3 errors) ==== -+==== controlFlowDeleteOperator.ts (2 errors) ==== - function f() { - let x: { a?: number | string, b: number | string } = { b: 1 }; - x.a; -@@= skipped -19, +18 lines =@@ - x.b; - x; - delete x; // No effect -- ~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - ~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - x; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt index df4c0ad868f..ce87d1518af 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt @@ -1,13 +1,15 @@ deleteOperatorInvalidOperations.ts(5,20): error TS1005: ',' expected. +deleteOperatorInvalidOperations.ts(5,26): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorInvalidOperations.ts(5,26): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorInvalidOperations.ts(5,27): error TS1109: Expression expected. +deleteOperatorInvalidOperations.ts(8,22): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorInvalidOperations.ts(8,22): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorInvalidOperations.ts(8,23): error TS1109: Expression expected. deleteOperatorInvalidOperations.ts(13,16): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorInvalidOperations.ts (7 errors) ==== +==== deleteOperatorInvalidOperations.ts (9 errors) ==== // Unary operator delete var ANY; @@ -16,6 +18,8 @@ deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delet ~~~~~~ !!! error TS1005: ',' expected. +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~ !!! error TS1109: Expression expected. @@ -23,6 +27,8 @@ deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delet // miss an operand var BOOLEAN2 = delete ; +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~ !!! error TS1109: Expression expected. diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff deleted file mode 100644 index 554d87a1fc6..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- old.deleteOperatorInvalidOperations.errors.txt -+++ new.deleteOperatorInvalidOperations.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorInvalidOperations.ts(5,20): error TS1005: ',' expected. --deleteOperatorInvalidOperations.ts(5,26): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorInvalidOperations.ts(5,26): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorInvalidOperations.ts(5,27): error TS1109: Expression expected. --deleteOperatorInvalidOperations.ts(8,22): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorInvalidOperations.ts(8,22): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorInvalidOperations.ts(8,23): error TS1109: Expression expected. - deleteOperatorInvalidOperations.ts(13,16): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delete' operator must be a property reference. - - --==== deleteOperatorInvalidOperations.ts (9 errors) ==== -+==== deleteOperatorInvalidOperations.ts (7 errors) ==== - // Unary operator delete - var ANY; - -@@= skipped -17, +15 lines =@@ - ~~~~~~ - !!! error TS1005: ',' expected. - --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~ - !!! error TS1109: Expression expected. - - // miss an operand - var BOOLEAN2 = delete ; -- --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt index 82266312f71..f12965cc099 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt @@ -1,9 +1,17 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +deleteOperatorWithAnyOtherType.ts(25,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(25,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(26,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(27,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(28,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(28,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(29,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(29,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(30,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(33,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(33,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(34,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(42,32): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -16,16 +24,21 @@ deleteOperatorWithAnyOtherType.ts(46,33): error TS2703: The operand of a 'delete deleteOperatorWithAnyOtherType.ts(47,33): error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'. deleteOperatorWithAnyOtherType.ts(47,33): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(50,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(50,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(50,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(51,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(51,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(51,47): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(54,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(54,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(55,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(55,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(57,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithAnyOtherType.ts (25 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== deleteOperatorWithAnyOtherType.ts (36 errors) ==== // delete operator on any type declare var ANY: any; @@ -52,26 +65,40 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' // any type var var ResultIsBoolean1 = delete ANY1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete ANY2; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean3 = delete A; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean4 = delete M; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean5 = delete obj; ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean6 = delete obj1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // any type literal var ResultIsBoolean7 = delete undefined; ~~~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean8 = delete null; ~~~~ @@ -113,6 +140,8 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' ~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean21 = delete delete delete (ANY + ANY1); ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,13 +154,19 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' // miss assignment operators delete ANY; ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ANY1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ANY2[0]; delete ANY, ANY1; ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete obj1.x; delete obj1.y; diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..64fef2667ec --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,112 @@ +--- old.deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt ++++ new.deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++deleteOperatorWithAnyOtherType.ts(25,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(25,31): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(26,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(27,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(28,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(28,31): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(29,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(29,31): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(30,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(33,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(33,31): error TS2703: The operand of a 'delete' operator must be a property reference. + deleteOperatorWithAnyOtherType.ts(34,31): error TS2703: The operand of a 'delete' operator must be a property reference. + deleteOperatorWithAnyOtherType.ts(42,32): error TS2703: The operand of a 'delete' operator must be a property reference. +@@= skipped -15, +23 lines =@@ + deleteOperatorWithAnyOtherType.ts(47,33): error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'. + deleteOperatorWithAnyOtherType.ts(47,33): error TS2703: The operand of a 'delete' operator must be a property reference. + deleteOperatorWithAnyOtherType.ts(50,32): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(50,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(50,39): error TS2703: The operand of a 'delete' operator must be a property reference. + deleteOperatorWithAnyOtherType.ts(51,32): error TS2703: The operand of a 'delete' operator must be a property reference. + deleteOperatorWithAnyOtherType.ts(51,39): error TS2703: The operand of a 'delete' operator must be a property reference. + deleteOperatorWithAnyOtherType.ts(51,47): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(54,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(54,8): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(55,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(55,8): error TS2703: The operand of a 'delete' operator must be a property reference. ++deleteOperatorWithAnyOtherType.ts(57,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. + deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' operator must be a property reference. + + +-==== deleteOperatorWithAnyOtherType.ts (25 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== deleteOperatorWithAnyOtherType.ts (36 errors) ==== + // delete operator on any type + + declare var ANY: any; +@@= skipped -36, +41 lines =@@ + // any type var + var ResultIsBoolean1 = delete ANY1; + ~~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean2 = delete ANY2; + ~~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean3 = delete A; + ~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean4 = delete M; + ~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean5 = delete obj; + ~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean6 = delete obj1; + ~~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + + // any type literal + var ResultIsBoolean7 = delete undefined; + ~~~~~~~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~~~~~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean8 = delete null; + ~~~~ +@@= skipped -61, +75 lines =@@ + ~~~~~~~~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + ~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean21 = delete delete delete (ANY + ANY1); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +@@= skipped -12, +14 lines =@@ + // miss assignment operators + delete ANY; + ~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + delete ANY1; + ~~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. ++ ~~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + delete ANY2[0]; + delete ANY, ANY1; ++ ~~~ ++!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ + !!! error TS2703: The operand of a 'delete' operator must be a property reference. + delete obj1.x; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js index 8a254664061..dd61ca19f66 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js @@ -64,6 +64,7 @@ delete objA.a; delete M.n; //// [deleteOperatorWithAnyOtherType.js] +"use strict"; // delete operator on any type var ANY2 = ["", ""]; var obj1 = { x: "", y: () => { } }; diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff index 4527bc63360..7fb9d659bff 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff @@ -1,6 +1,14 @@ --- old.deleteOperatorWithAnyOtherType(alwaysstrict=false).js +++ new.deleteOperatorWithAnyOtherType(alwaysstrict=false).js -@@= skipped -71, +71 lines =@@ +@@= skipped -63, +63 lines =@@ + delete M.n; + + //// [deleteOperatorWithAnyOtherType.js] ++"use strict"; + // delete operator on any type + var ANY2 = ["", ""]; + var obj1 = { x: "", y: () => { } }; +@@= skipped -8, +9 lines =@@ return a; } class A { diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt index 9530586a1bb..0cb02c0d6b8 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt @@ -1,4 +1,5 @@ deleteOperatorWithBooleanType.ts(7,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. +deleteOperatorWithBooleanType.ts(17,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithBooleanType.ts(17,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(20,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(21,31): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -7,8 +8,10 @@ deleteOperatorWithBooleanType.ts(25,31): error TS2790: The operand of a 'delete' deleteOperatorWithBooleanType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithBooleanType.ts(30,38): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithBooleanType.ts(30,38): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(33,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithBooleanType.ts(34,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithBooleanType.ts(34,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(35,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -16,7 +19,7 @@ deleteOperatorWithBooleanType.ts(37,8): error TS2790: The operand of a 'delete' deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' operator must be optional. -==== deleteOperatorWithBooleanType.ts (16 errors) ==== +==== deleteOperatorWithBooleanType.ts (19 errors) ==== // delete operator on boolean type declare var BOOLEAN: boolean; @@ -37,6 +40,8 @@ deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' // boolean type var var ResultIsBoolean1 = delete BOOLEAN; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // boolean type literal @@ -66,6 +71,8 @@ deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' ~~~~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // miss assignment operators @@ -74,6 +81,8 @@ deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete BOOLEAN; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete foo(); ~~~~~ diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff deleted file mode 100644 index aaad64b1614..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff +++ /dev/null @@ -1,55 +0,0 @@ ---- old.deleteOperatorWithBooleanType.errors.txt -+++ new.deleteOperatorWithBooleanType.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorWithBooleanType.ts(7,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. --deleteOperatorWithBooleanType.ts(17,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithBooleanType.ts(17,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(20,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(21,31): error TS2703: The operand of a 'delete' operator must be a property reference. -@@= skipped -7, +6 lines =@@ - deleteOperatorWithBooleanType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithBooleanType.ts(30,38): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithBooleanType.ts(30,38): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(33,8): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithBooleanType.ts(34,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithBooleanType.ts(34,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(35,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' operator must be a property reference. -@@= skipped -11, +9 lines =@@ - deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' operator must be optional. - - --==== deleteOperatorWithBooleanType.ts (19 errors) ==== -+==== deleteOperatorWithBooleanType.ts (16 errors) ==== - // delete operator on boolean type - declare var BOOLEAN: boolean; - -@@= skipped -21, +21 lines =@@ - // boolean type var - var ResultIsBoolean1 = delete BOOLEAN; - ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // boolean type literal -@@= skipped -31, +29 lines =@@ - ~~~~~~~~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // miss assignment operators -@@= skipped -9, +7 lines =@@ - ~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete BOOLEAN; -- ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete foo(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt index 087b0635132..c673275cf79 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt @@ -1,19 +1,25 @@ +deleteOperatorWithEnumType.ts(7,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(7,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(8,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(8,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(11,31): error TS2704: The operand of a 'delete' operator cannot be a read-only property. deleteOperatorWithEnumType.ts(12,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(15,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(15,38): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(15,38): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(16,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(16,38): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(16,46): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(19,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(19,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(20,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(20,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(21,8): error TS2704: The operand of a 'delete' operator cannot be a read-only property. +deleteOperatorWithEnumType.ts(22,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithEnumType.ts (13 errors) ==== +==== deleteOperatorWithEnumType.ts (19 errors) ==== // delete operator on enum type enum ENUM { }; @@ -22,9 +28,13 @@ deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' ope // enum type var var ResultIsBoolean1 = delete ENUM; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete ENUM1; ~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // enum type expressions @@ -40,6 +50,8 @@ deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' ope ~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -52,13 +64,19 @@ deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' ope // miss assignment operators delete ENUM; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ENUM1; ~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ENUM1.B; ~~~~~~~ !!! error TS2704: The operand of a 'delete' operator cannot be a read-only property. delete ENUM, ENUM1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff deleted file mode 100644 index 3345e811deb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff +++ /dev/null @@ -1,72 +0,0 @@ ---- old.deleteOperatorWithEnumType.errors.txt -+++ new.deleteOperatorWithEnumType.errors.txt -@@= skipped -0, +0 lines =@@ --deleteOperatorWithEnumType.ts(7,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithEnumType.ts(7,31): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithEnumType.ts(8,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithEnumType.ts(8,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithEnumType.ts(11,31): error TS2704: The operand of a 'delete' operator cannot be a read-only property. - deleteOperatorWithEnumType.ts(12,32): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithEnumType.ts(15,31): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithEnumType.ts(15,38): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithEnumType.ts(15,38): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithEnumType.ts(16,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithEnumType.ts(16,38): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithEnumType.ts(16,46): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithEnumType.ts(19,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithEnumType.ts(19,8): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithEnumType.ts(20,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithEnumType.ts(20,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithEnumType.ts(21,8): error TS2704: The operand of a 'delete' operator cannot be a read-only property. --deleteOperatorWithEnumType.ts(22,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' operator must be a property reference. - - --==== deleteOperatorWithEnumType.ts (19 errors) ==== -+==== deleteOperatorWithEnumType.ts (13 errors) ==== - // delete operator on enum type - - enum ENUM { }; -@@= skipped -27, +21 lines =@@ - // enum type var - var ResultIsBoolean1 = delete ENUM; - ~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean2 = delete ENUM1; - ~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // enum type expressions -@@= skipped -22, +18 lines =@@ - ~~~~~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@= skipped -14, +12 lines =@@ - // miss assignment operators - delete ENUM; - ~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete ENUM1; - ~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete ENUM1.B; - ~~~~~~~ - !!! error TS2704: The operand of a 'delete' operator cannot be a read-only property. - delete ENUM, ENUM1; -- ~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - ~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt index 1bfc6057de1..d8f747a9396 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt @@ -1,5 +1,7 @@ deleteOperatorWithNumberType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. +deleteOperatorWithNumberType.ts(18,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(18,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(19,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(19,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(22,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(23,31): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -10,12 +12,15 @@ deleteOperatorWithNumberType.ts(30,31): error TS2703: The operand of a 'delete' deleteOperatorWithNumberType.ts(31,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(32,33): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(35,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(35,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(35,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(36,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(36,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(36,47): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(39,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(40,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(40,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(41,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(41,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(43,8): error TS2790: The operand of a 'delete' operator must be optional. @@ -23,7 +28,7 @@ deleteOperatorWithNumberType.ts(44,8): error TS2790: The operand of a 'delete' o deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' operator must be optional. -==== deleteOperatorWithNumberType.ts (23 errors) ==== +==== deleteOperatorWithNumberType.ts (28 errors) ==== // delete operator on number type declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; @@ -45,9 +50,13 @@ deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' o // number type var var ResultIsBoolean1 = delete NUMBER; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete NUMBER1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // number type literal @@ -84,6 +93,8 @@ deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' o ~~~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean13 = delete delete delete (NUMBER + NUMBER); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -99,9 +110,13 @@ deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' o !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete NUMBER; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete NUMBER1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete foo(); ~~~~~ diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff deleted file mode 100644 index d41ce87d37f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff +++ /dev/null @@ -1,71 +0,0 @@ ---- old.deleteOperatorWithNumberType.errors.txt -+++ new.deleteOperatorWithNumberType.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorWithNumberType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. --deleteOperatorWithNumberType.ts(18,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithNumberType.ts(18,31): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithNumberType.ts(19,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithNumberType.ts(19,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(22,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(23,31): error TS2703: The operand of a 'delete' operator must be a property reference. -@@= skipped -11, +9 lines =@@ - deleteOperatorWithNumberType.ts(31,32): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(32,33): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(35,32): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithNumberType.ts(35,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithNumberType.ts(35,39): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(36,32): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(36,39): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(36,47): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(39,8): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithNumberType.ts(40,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithNumberType.ts(40,8): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithNumberType.ts(41,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithNumberType.ts(41,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithNumberType.ts(43,8): error TS2790: The operand of a 'delete' operator must be optional. -@@= skipped -16, +13 lines =@@ - deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' operator must be optional. - - --==== deleteOperatorWithNumberType.ts (28 errors) ==== -+==== deleteOperatorWithNumberType.ts (23 errors) ==== - // delete operator on number type - declare var NUMBER: number; - var NUMBER1: number[] = [1, 2]; -@@= skipped -22, +22 lines =@@ - // number type var - var ResultIsBoolean1 = delete NUMBER; - ~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean2 = delete NUMBER1; - ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // number type literal -@@= skipped -43, +39 lines =@@ - ~~~~~~~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean13 = delete delete delete (NUMBER + NUMBER); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@= skipped -17, +15 lines =@@ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete NUMBER; - ~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete NUMBER1; -- ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete foo(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt index 986078cecc7..7989eec0928 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt @@ -1,5 +1,7 @@ deleteOperatorWithStringType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. +deleteOperatorWithStringType.ts(18,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(18,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(19,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(19,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(22,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(23,31): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -11,18 +13,21 @@ deleteOperatorWithStringType.ts(31,32): error TS2703: The operand of a 'delete' deleteOperatorWithStringType.ts(32,33): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(33,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(36,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(36,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(36,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(37,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(37,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(37,47): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(40,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(41,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(41,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(42,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(42,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(44,8): error TS2790: The operand of a 'delete' operator must be optional. -==== deleteOperatorWithStringType.ts (22 errors) ==== +==== deleteOperatorWithStringType.ts (27 errors) ==== // delete operator on string type declare var STRING: string; var STRING1: string[] = ["", "abc"]; @@ -44,9 +49,13 @@ deleteOperatorWithStringType.ts(44,8): error TS2790: The operand of a 'delete' o // string type var var ResultIsBoolean1 = delete STRING; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete STRING1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // string type literal @@ -86,6 +95,8 @@ deleteOperatorWithStringType.ts(44,8): error TS2790: The operand of a 'delete' o ~~~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean14 = delete delete delete (STRING + STRING); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,9 +112,13 @@ deleteOperatorWithStringType.ts(44,8): error TS2790: The operand of a 'delete' o !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete STRING; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete STRING1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete foo(); ~~~~~ diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff deleted file mode 100644 index b96070ce328..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff +++ /dev/null @@ -1,69 +0,0 @@ ---- old.deleteOperatorWithStringType.errors.txt -+++ new.deleteOperatorWithStringType.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorWithStringType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. --deleteOperatorWithStringType.ts(18,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithStringType.ts(18,31): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithStringType.ts(19,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithStringType.ts(19,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(22,31): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(23,31): error TS2703: The operand of a 'delete' operator must be a property reference. -@@= skipped -12, +10 lines =@@ - deleteOperatorWithStringType.ts(32,33): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(33,32): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(36,32): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithStringType.ts(36,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithStringType.ts(36,39): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(37,32): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(37,39): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(37,47): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(40,8): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithStringType.ts(41,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithStringType.ts(41,8): error TS2703: The operand of a 'delete' operator must be a property reference. --deleteOperatorWithStringType.ts(42,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. - deleteOperatorWithStringType.ts(42,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' operator must be a property reference. - deleteOperatorWithStringType.ts(44,8): error TS2790: The operand of a 'delete' operator must be optional. - - --==== deleteOperatorWithStringType.ts (27 errors) ==== -+==== deleteOperatorWithStringType.ts (22 errors) ==== - // delete operator on string type - declare var STRING: string; - var STRING1: string[] = ["", "abc"]; -@@= skipped -36, +33 lines =@@ - // string type var - var ResultIsBoolean1 = delete STRING; - ~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean2 = delete STRING1; - ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // string type literal -@@= skipped -46, +42 lines =@@ - ~~~~~~~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean14 = delete delete delete (STRING + STRING); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@= skipped -17, +15 lines =@@ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete STRING; - ~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. -- ~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete STRING1; -- ~~~~~~~ --!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. - ~~~~~~~ - !!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete foo(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..5a1824c3abe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments03.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments03.ts (1 errors) ==== + var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..17e707e40b5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,14 @@ +--- old.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments03.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments03.ts (1 errors) ==== ++ var arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js index 2f4e914f53e..271ba917a3c 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js @@ -5,5 +5,6 @@ var arguments; var a = () => arguments; //// [emitArrowFunctionWhenUsingArguments03.js] +"use strict"; var arguments; var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..e18d8c69d79 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,9 @@ +--- old.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js +@@= skipped -4, +4 lines =@@ + var a = () => arguments; + + //// [emitArrowFunctionWhenUsingArguments03.js] ++"use strict"; + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..7ca92bd014d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments03_ES6.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments03_ES6.ts (1 errors) ==== + var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..80cdad20712 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,14 @@ +--- old.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments03_ES6.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments03_ES6.ts (1 errors) ==== ++ var arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js index 35b1f55d59a..c2ffd90be11 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js @@ -5,5 +5,6 @@ var arguments; var a = () => arguments; //// [emitArrowFunctionWhenUsingArguments03_ES6.js] +"use strict"; var arguments; var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..52cf2d48544 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,9 @@ +--- old.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js +@@= skipped -4, +4 lines =@@ + var a = () => arguments; + + //// [emitArrowFunctionWhenUsingArguments03_ES6.js] ++"use strict"; + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..8c460ae5e7f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments04.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments04.ts (1 errors) ==== + function f() { + var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..30b1d1987fe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments04.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments04.ts (1 errors) ==== ++ function f() { ++ var arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js index 58bab00c798..a3668d06e1d 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js @@ -7,6 +7,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments04.js] +"use strict"; function f() { var arguments; var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..aa3cbef67fa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments04.js] ++"use strict"; + function f() { + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..085ccb9b0c7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments04_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments04_ES6.ts (1 errors) ==== + function f() { + var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..0d6aab9343d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments04_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments04_ES6.ts (1 errors) ==== ++ function f() { ++ var arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js index 47904c45224..fcd2776bb88 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js @@ -7,6 +7,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments04_ES6.js] +"use strict"; function f() { var arguments; var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..da3bff82257 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments04_ES6.js] ++"use strict"; + function f() { + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..80dccceb1ec --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments05.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments05.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..ae25757819f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments05.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments05.ts (1 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js index 40a8871a27e..656127f2745 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments05.js] +"use strict"; function f(arguments) { var a = () => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..1b2cfeed2f3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments05.js] ++"use strict"; + function f(arguments) { + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..07ea7fa59c1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments05_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments05_ES6.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..86586eace88 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments05_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments05_ES6.ts (1 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js index 8ba62e67f2e..8357771c23e 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments05_ES6.js] +"use strict"; function f(arguments) { var a = () => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8e3915e8682 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments05_ES6.js] ++"use strict"; + function f(arguments) { + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..b5a9783713d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments06.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments06.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..9cd69bfeb73 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments06.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments06.ts (1 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js index 93ab665ea5d..b41886064e5 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments06.js] +"use strict"; function f(arguments) { var a = () => () => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..d12e9b9402b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments06.js] ++"use strict"; + function f(arguments) { + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..51bd247093e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments06_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments06_ES6.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..9e5a1ca6516 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments06_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments06_ES6.ts (1 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js index 4e9e45b715a..021c69f13be 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments06_ES6.js] +"use strict"; function f(arguments) { var a = () => () => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..b63453b952a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments06_ES6.js] ++"use strict"; + function f(arguments) { + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..8bbb2a82a83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments07.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments07.ts(2,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments07.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = (arguments) => () => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..a9faca2aa07 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments07.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments07.ts(2,14): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments07.ts (2 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = (arguments) => () => arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js index 8371f0eca72..cbaa3d748b8 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments07.js] +"use strict"; function f(arguments) { var a = (arguments) => () => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..a329bf6224e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments07.js] ++"use strict"; + function f(arguments) { + var a = (arguments) => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..b4629fa85a8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments07_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments07_ES6.ts(2,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments07_ES6.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = (arguments) => () => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..a23283ae708 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments07_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments07_ES6.ts(2,14): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments07_ES6.ts (2 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = (arguments) => () => arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js index e9ffad32a6d..0b952c6b19f 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments07_ES6.js] +"use strict"; function f(arguments) { var a = (arguments) => () => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..a7f17039581 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments07_ES6.js] ++"use strict"; + function f(arguments) { + var a = (arguments) => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..8900a568d82 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments08.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments08.ts(2,20): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments08.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => (arguments) => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..5510fed9208 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments08.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments08.ts(2,20): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments08.ts (2 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => (arguments) => arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js index 750d98ae785..89337e3c476 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments08.js] +"use strict"; function f(arguments) { var a = () => (arguments) => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..57d7fc54333 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments08.js] ++"use strict"; + function f(arguments) { + var a = () => (arguments) => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..c5874c7ede1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments08_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments08_ES6.ts(2,20): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments08_ES6.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => (arguments) => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..66c4722490b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments08_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments08_ES6.ts(2,20): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments08_ES6.ts (2 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var a = () => (arguments) => arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js index 63b6b875386..7e5f8d3d2be 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js @@ -6,6 +6,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments08_ES6.js] +"use strict"; function f(arguments) { var a = () => (arguments) => arguments; } diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..536cd38efa2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments08_ES6.js] ++"use strict"; + function f(arguments) { + var a = () => (arguments) => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..f9ebcc9eb72 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments11.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments11.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var _arguments = 10; + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..dae4a050d5d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments11.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments11.ts (1 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var _arguments = 10; ++ var a = () => () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js index d6919f26aa8..4849446076e 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js @@ -7,6 +7,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments11.js] +"use strict"; function f(arguments) { var _arguments = 10; var a = () => () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..88a6733f2a8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments11.js] ++"use strict"; + function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..46e4a4b406c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments11_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments11_ES6.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var _arguments = 10; + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5ae90ca06d5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments11_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments11_ES6.ts (1 errors) ==== ++ function f(arguments) { ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ var _arguments = 10; ++ var a = () => () => arguments; ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js index 2d8a1f65a34..4fc5e40566e 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js @@ -7,6 +7,7 @@ function f(arguments) { } //// [emitArrowFunctionWhenUsingArguments11_ES6.js] +"use strict"; function f(arguments) { var _arguments = 10; var a = () => () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..73ef541acb6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments11_ES6.js] ++"use strict"; + function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..0660fdbd992 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments13.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments13.ts (1 errors) ==== + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..0b05300069f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments13.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments13.ts (1 errors) ==== ++ function f() { ++ var _arguments = 10; ++ var a = (arguments) => () => _arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js index 5ca8028ea71..2c84f294f13 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js @@ -7,6 +7,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments13.js] +"use strict"; function f() { var _arguments = 10; var a = (arguments) => () => _arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..ab65d0acb48 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments13.js] ++"use strict"; + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d4cf1e4a0c4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments13_ES6.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments13_ES6.ts (1 errors) ==== + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..8eb802ca221 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments13_ES6.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments13_ES6.ts (1 errors) ==== ++ function f() { ++ var _arguments = 10; ++ var a = (arguments) => () => _arguments; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js index 8182b097389..4e96874003a 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js @@ -7,6 +7,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments13_ES6.js] +"use strict"; function f() { var _arguments = 10; var a = (arguments) => () => _arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..7c3ab4c9441 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments13_ES6.js] ++"use strict"; + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..e9ff05467fd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments14.ts(3,15): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments14.ts (1 errors) ==== + function f() { + if (Math.random()) { + const arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return () => arguments; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..ab7aea46fd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments14.ts(3,15): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments14.ts (1 errors) ==== ++ function f() { ++ if (Math.random()) { ++ const arguments = 100; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ return () => arguments; ++ } ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js index 4150c6c440a..e48890ab9aa 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js @@ -9,6 +9,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments14.js] +"use strict"; function f() { if (Math.random()) { const arguments = 100; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..8e787f0061d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js +@@= skipped -8, +8 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments14.js] ++"use strict"; + function f() { + if (Math.random()) { + const arguments = 100; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..50d057bf727 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments14_ES6.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments14_ES6.ts (1 errors) ==== + function f() { + if (Math.random()) { + let arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return () => arguments; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..0f80b27f2da --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments14_ES6.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments14_ES6.ts (1 errors) ==== ++ function f() { ++ if (Math.random()) { ++ let arguments = 100; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ return () => arguments; ++ } ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js index 1fd80c55f20..730059243dc 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js @@ -9,6 +9,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments14_ES6.js] +"use strict"; function f() { if (Math.random()) { let arguments = 100; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..f829243c6cb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js +@@= skipped -8, +8 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments14_ES6.js] ++"use strict"; + function f() { + if (Math.random()) { + let arguments = 100; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..845275cd0f0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments15.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments15.ts(4,15): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments15.ts (2 errors) ==== + function f() { + var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + const arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return () => arguments; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..6f17b165e8a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments15.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments15.ts(4,15): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments15.ts (2 errors) ==== ++ function f() { ++ var arguments = "hello"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ if (Math.random()) { ++ const arguments = 100; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ return () => arguments; ++ } ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js index 3c7ae3d1d04..949e59af25d 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js @@ -10,6 +10,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments15.js] +"use strict"; function f() { var arguments = "hello"; if (Math.random()) { diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..da05a4a6b1b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments15.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d2168705ae3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments15_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments15_ES6.ts(4,15): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments15_ES6.ts (2 errors) ==== + function f() { + var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + const arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return () => arguments; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..a7cc706f5c9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments15_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments15_ES6.ts(4,15): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments15_ES6.ts (2 errors) ==== ++ function f() { ++ var arguments = "hello"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ if (Math.random()) { ++ const arguments = 100; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ return () => arguments; ++ } ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js index 5927b5a452f..8dae6ba71be 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js @@ -10,6 +10,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments15_ES6.js] +"use strict"; function f() { var arguments = "hello"; if (Math.random()) { diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..e91984b8411 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments15_ES6.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..7f2a9df0afd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments16.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments16.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments16.ts (2 errors) ==== + function f() { + var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..9cf7a633093 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments16.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments16.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments16.ts (2 errors) ==== ++ function f() { ++ var arguments = "hello"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ if (Math.random()) { ++ return () => arguments[0]; ++ } ++ var arguments = "world"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js index 5ac3f2f5b15..a62cf5c08be 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js @@ -10,6 +10,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments16.js] +"use strict"; function f() { var arguments = "hello"; if (Math.random()) { diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..665e62676da --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments16.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..8eca673d862 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments16_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments16_ES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments16_ES6.ts (2 errors) ==== + function f() { + var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5a09885c37c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments16_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments16_ES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments16_ES6.ts (2 errors) ==== ++ function f() { ++ var arguments = "hello"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ if (Math.random()) { ++ return () => arguments[0]; ++ } ++ var arguments = "world"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js index 143355efe1f..9bd1fb8c890 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js @@ -10,6 +10,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments16_ES6.js] +"use strict"; function f() { var arguments = "hello"; if (Math.random()) { diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..dbfd71a4707 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments16_ES6.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..0e70c723c4e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments17.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments17.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments17.ts (2 errors) ==== + function f() { + var { arguments } = { arguments: "hello" }; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..c2f764ef9e3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments17.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments17.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments17.ts (2 errors) ==== ++ function f() { ++ var { arguments } = { arguments: "hello" }; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ if (Math.random()) { ++ return () => arguments[0]; ++ } ++ var arguments = "world"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js index e64cdc282d3..8503cfb7b3b 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js @@ -10,6 +10,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments17.js] +"use strict"; function f() { var { arguments } = { arguments: "hello" }; if (Math.random()) { diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..dae99249d42 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments17.js] ++"use strict"; + function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..457ea8dcd17 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments17_ES6.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments17_ES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments17_ES6.ts (2 errors) ==== + function f() { + var { arguments } = { arguments: "hello" }; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..b4f0ed129e4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments17_ES6.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments17_ES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments17_ES6.ts (2 errors) ==== ++ function f() { ++ var { arguments } = { arguments: "hello" }; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ if (Math.random()) { ++ return () => arguments[0]; ++ } ++ var arguments = "world"; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js index 1abdb2a0c40..893bfb2b40e 100644 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js @@ -10,6 +10,7 @@ function f() { } //// [emitArrowFunctionWhenUsingArguments17_ES6.js] +"use strict"; function f() { var { arguments } = { arguments: "hello" }; if (Math.random()) { diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..7dd00e16b94 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments17_ES6.js] ++"use strict"; + function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt b/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt index b58f4ca58a4..2df64cf3202 100644 --- a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt @@ -1,7 +1,10 @@ +for-of51.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. for-of51.ts(1,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== for-of51.ts (1 errors) ==== +==== for-of51.ts (2 errors) ==== for (let let of []) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff deleted file mode 100644 index bcd3c322feb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.for-of51.errors.txt -+++ new.for-of51.errors.txt -@@= skipped -0, +0 lines =@@ --for-of51.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - for-of51.ts(1,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. - - --==== for-of51.ts (2 errors) ==== -+==== for-of51.ts (1 errors) ==== - for (let let of []) {} -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. - ~~~ - !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d7c645b8643 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt @@ -0,0 +1,9 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +for-of56.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== for-of56.ts (1 errors) ==== + for (var let of []) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..f2c2f7e9167 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,13 @@ +--- old.for-of56(alwaysstrict=false).errors.txt ++++ new.for-of56(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++for-of56.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== for-of56.ts (1 errors) ==== ++ for (var let of []) {} ++ ~~~ ++!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js index 02c44effd6d..53cb67e67e2 100644 --- a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js @@ -4,4 +4,5 @@ for (var let of []) {} //// [for-of56.js] +"use strict"; for (var let of []) { } diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..4d9c28fdb9e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff @@ -0,0 +1,8 @@ +--- old.for-of56(alwaysstrict=false).js ++++ new.for-of56(alwaysstrict=false).js +@@= skipped -3, +3 lines =@@ + for (var let of []) {} + + //// [for-of56.js] ++"use strict"; + for (var let of []) { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..48917bc358d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt @@ -0,0 +1,16 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +generatorTypeCheck38.ts(1,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +generatorTypeCheck38.ts(4,19): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== generatorTypeCheck38.ts (2 errors) ==== + var yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + function* g() { + yield 0; + var v: typeof yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5aabd1b6626 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,20 @@ +--- old.generatorTypeCheck38(alwaysstrict=false).errors.txt ++++ new.generatorTypeCheck38(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++generatorTypeCheck38.ts(1,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++generatorTypeCheck38.ts(4,19): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== generatorTypeCheck38.ts (2 errors) ==== ++ var yield; ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++ function* g() { ++ yield 0; ++ var v: typeof yield; ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js index c682bf95665..8b557f5fd8d 100644 --- a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js @@ -8,6 +8,7 @@ function* g() { } //// [generatorTypeCheck38.js] +"use strict"; var yield; function* g() { yield 0; diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..471bcf7d75c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.generatorTypeCheck38(alwaysstrict=false).js ++++ new.generatorTypeCheck38(alwaysstrict=false).js +@@= skipped -7, +7 lines =@@ + } + + //// [generatorTypeCheck38.js] ++"use strict"; + var yield; + function* g() { + yield 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt b/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt new file mode 100644 index 00000000000..1de82f64ddb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt @@ -0,0 +1,11 @@ +1.ts(2,10): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== 0.ts (0 errors) ==== + export function foo() { return "foo"; } + +==== 1.ts (1 errors) ==== + var p1 = import("./0"); + function arguments() { } // this is allow as the file doesn't have implicit "use strict" + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff deleted file mode 100644 index eb15ef734b7..00000000000 --- a/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.importCallExpressionInScriptContext1.errors.txt -+++ new.importCallExpressionInScriptContext1.errors.txt -@@= skipped -0, +0 lines =@@ --1.ts(2,10): error TS1100: Invalid use of 'arguments' in strict mode. -- -- --==== 0.ts (0 errors) ==== -- export function foo() { return "foo"; } -- --==== 1.ts (1 errors) ==== -- var p1 = import("./0"); -- function arguments() { } // this is allow as the file doesn't have implicit "use strict" -- ~~~~~~~~~ --!!! error TS1100: Invalid use of 'arguments' in strict mode. -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt index 3e231d553b6..652ea2fc945 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidDoWhileBreakStatements.ts(8,4): error TS1116: A 'break' statement can onl invalidDoWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidDoWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidDoWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidDoWhileBreakStatements.ts (6 errors) ==== +==== invalidDoWhileBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -50,6 +51,8 @@ invalidDoWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can on // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; do { diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff deleted file mode 100644 index 7b150a5ba77..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidDoWhileBreakStatements.errors.txt -+++ new.invalidDoWhileBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidDoWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidDoWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidDoWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidDoWhileBreakStatements.ts (7 errors) ==== -+==== invalidDoWhileBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - do { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt index 33a60d7f45f..988053a007f 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidDoWhileContinueStatements.ts(8,4): error TS1115: A 'continue' statement c invalidDoWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidDoWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidDoWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidDoWhileContinueStatements.ts (6 errors) ==== +==== invalidDoWhileContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -50,6 +51,8 @@ invalidDoWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; do { diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff deleted file mode 100644 index e041b2ca55d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidDoWhileContinueStatements.errors.txt -+++ new.invalidDoWhileContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidDoWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidDoWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidDoWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidDoWhileContinueStatements.ts (7 errors) ==== -+==== invalidDoWhileContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - do { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt index 099663ea32f..47fbf6fc206 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidForBreakStatements.ts(8,9): error TS1116: A 'break' statement can only ju invalidForBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidForBreakStatements.ts(32,1): error TS1344: 'A label is not allowed here. invalidForBreakStatements.ts(36,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidForBreakStatements.ts (6 errors) ==== +==== invalidForBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -49,6 +50,8 @@ invalidForBreakStatements.ts(36,5): error TS1116: A 'break' statement can only j } // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for(;;) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff deleted file mode 100644 index a2c9a925c29..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForBreakStatements.errors.txt -+++ new.invalidForBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidForBreakStatements.ts(32,1): error TS1344: 'A label is not allowed here. - invalidForBreakStatements.ts(36,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidForBreakStatements.ts (7 errors) ==== -+==== invalidForBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -47, +46 lines =@@ - } - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for(;;) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt index a13982e633c..146dbe4368b 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidForContinueStatements.ts(8,9): error TS1115: A 'continue' statement can o invalidForContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidForContinueStatements.ts(32,1): error TS1344: 'A label is not allowed here. invalidForContinueStatements.ts(36,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidForContinueStatements.ts (6 errors) ==== +==== invalidForContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -49,6 +50,8 @@ invalidForContinueStatements.ts(36,5): error TS1115: A 'continue' statement can } // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for(;;) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff deleted file mode 100644 index 333bf869e1f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForContinueStatements.errors.txt -+++ new.invalidForContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidForContinueStatements.ts(32,1): error TS1344: 'A label is not allowed here. - invalidForContinueStatements.ts(36,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidForContinueStatements.ts (7 errors) ==== -+==== invalidForContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -47, +46 lines =@@ - } - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for(;;) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt index 373d9bf99df..bac0c88a3d2 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidForInBreakStatements.ts(8,19): error TS1116: A 'break' statement can only invalidForInBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForInBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForInBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidForInBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidForInBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidForInBreakStatements.ts (6 errors) ==== +==== invalidForInBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -50,6 +51,8 @@ invalidForInBreakStatements.ts(37,5): error TS1116: A 'break' statement can only // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for (var x in {}) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff deleted file mode 100644 index fe02f567f1e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForInBreakStatements.errors.txt -+++ new.invalidForInBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForInBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForInBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForInBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidForInBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidForInBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidForInBreakStatements.ts (7 errors) ==== -+==== invalidForInBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for (var x in {}) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt index 71e765d3fa1..7a49045f8ba 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidForInContinueStatements.ts(8,19): error TS1115: A 'continue' statement ca invalidForInContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForInContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForInContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidForInContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidForInContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidForInContinueStatements.ts (6 errors) ==== +==== invalidForInContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -50,6 +51,8 @@ invalidForInContinueStatements.ts(37,5): error TS1115: A 'continue' statement ca // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for (var x in {}) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff deleted file mode 100644 index 1abec442459..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForInContinueStatements.errors.txt -+++ new.invalidForInContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForInContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForInContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForInContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidForInContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidForInContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidForInContinueStatements.ts (7 errors) ==== -+==== invalidForInContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for (var x in {}) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt index b93a32288b2..b022d9f2d45 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidWhileBreakStatements.ts(8,14): error TS1116: A 'break' statement can only invalidWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidWhileBreakStatements.ts (6 errors) ==== +==== invalidWhileBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -50,6 +51,8 @@ invalidWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; while (true) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff deleted file mode 100644 index 913837980f8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidWhileBreakStatements.errors.txt -+++ new.invalidWhileBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidWhileBreakStatements.ts (7 errors) ==== -+==== invalidWhileBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - while (true) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt index e49c679e83f..fed2a6c20ef 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidWhileContinueStatements.ts(8,14): error TS1115: A 'continue' statement ca invalidWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidWhileContinueStatements.ts (6 errors) ==== +==== invalidWhileContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -50,6 +51,8 @@ invalidWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement ca // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; while (true) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff deleted file mode 100644 index a0c93aedf8c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidWhileContinueStatements.errors.txt -+++ new.invalidWhileContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidWhileContinueStatements.ts (7 errors) ==== -+==== invalidWhileContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - while (true) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt index 9ec3413158f..303c4f4a007 100644 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt @@ -1,23 +1,59 @@ +labeledStatementWithLabel.ts(1,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(2,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(3,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(4,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(5,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(6,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(7,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(8,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(9,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(11,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel.ts(12,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel.ts(13,1): error TS1344: 'A label is not allowed here. -==== labeledStatementWithLabel.ts (2 errors) ==== +==== labeledStatementWithLabel.ts (14 errors) ==== label: function fn() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: function* gen() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: async function gen1() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: enum E {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: interface I {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: class C { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: var a = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: let b = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: const c = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: namespace M { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~ !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. label: namespace N {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~ !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. label: type T = {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff deleted file mode 100644 index 77e945d8b0d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff +++ /dev/null @@ -1,65 +0,0 @@ ---- old.labeledStatementWithLabel.errors.txt -+++ new.labeledStatementWithLabel.errors.txt -@@= skipped -0, +0 lines =@@ --labeledStatementWithLabel.ts(1,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(2,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(3,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(4,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(5,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(6,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(7,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(8,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(9,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(11,1): error TS1344: 'A label is not allowed here. - labeledStatementWithLabel.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. --labeledStatementWithLabel.ts(12,1): error TS1344: 'A label is not allowed here. - labeledStatementWithLabel.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. --labeledStatementWithLabel.ts(13,1): error TS1344: 'A label is not allowed here. -- -- --==== labeledStatementWithLabel.ts (14 errors) ==== -+ -+ -+==== labeledStatementWithLabel.ts (2 errors) ==== - label: function fn() { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: function* gen() { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: async function gen1() { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: enum E {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: interface I {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: class C { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: var a = 1; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: let b = 1; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: const c = 1; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - - label: namespace M { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - ~~~~~~~~~ - !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. - label: namespace N {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - ~~~~~~~~~ - !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. - label: type T = {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt index 7b0207d9a76..c332284ea0c 100644 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt @@ -1,23 +1,59 @@ +labeledStatementWithLabel_es2015.ts(1,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(2,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(3,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(4,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(5,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(6,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(7,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(8,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(9,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(11,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel_es2015.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel_es2015.ts(12,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel_es2015.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel_es2015.ts(13,1): error TS1344: 'A label is not allowed here. -==== labeledStatementWithLabel_es2015.ts (2 errors) ==== +==== labeledStatementWithLabel_es2015.ts (14 errors) ==== label: function fn() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: function* gen() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: async function gen1() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: enum E {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: interface I {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: class C { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: var a = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: let b = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: const c = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: namespace M { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~ !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. label: namespace N {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~ !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. label: type T = {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff deleted file mode 100644 index 1d8bcd30b7e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff +++ /dev/null @@ -1,65 +0,0 @@ ---- old.labeledStatementWithLabel_es2015.errors.txt -+++ new.labeledStatementWithLabel_es2015.errors.txt -@@= skipped -0, +0 lines =@@ --labeledStatementWithLabel_es2015.ts(1,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(2,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(3,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(4,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(5,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(6,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(7,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(8,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(9,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel_es2015.ts(11,1): error TS1344: 'A label is not allowed here. - labeledStatementWithLabel_es2015.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. --labeledStatementWithLabel_es2015.ts(12,1): error TS1344: 'A label is not allowed here. - labeledStatementWithLabel_es2015.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. --labeledStatementWithLabel_es2015.ts(13,1): error TS1344: 'A label is not allowed here. -- -- --==== labeledStatementWithLabel_es2015.ts (14 errors) ==== -+ -+ -+==== labeledStatementWithLabel_es2015.ts (2 errors) ==== - label: function fn() { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: function* gen() { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: async function gen1() { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: enum E {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: interface I {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: class C { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: var a = 1; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: let b = 1; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - label: const c = 1; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - - label: namespace M { } -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - ~~~~~~~~~ - !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. - label: namespace N {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - ~~~~~~~~~ - !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. - label: type T = {} -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt b/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt new file mode 100644 index 00000000000..ad5189793ed --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt @@ -0,0 +1,11 @@ +letIdentifierInElementAccess01.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letIdentifierInElementAccess01.ts(2,2): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letIdentifierInElementAccess01.ts (2 errors) ==== + var let: any = {}; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + (let[0] = 100); + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff deleted file mode 100644 index 89d501cfe55..00000000000 --- a/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.letIdentifierInElementAccess01.errors.txt -+++ new.letIdentifierInElementAccess01.errors.txt -@@= skipped -0, +0 lines =@@ --letIdentifierInElementAccess01.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. --letIdentifierInElementAccess01.ts(2,2): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- -- --==== letIdentifierInElementAccess01.ts (2 errors) ==== -- var let: any = {}; -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -- (let[0] = 100); -- ~~~ --!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt index cfd5b716ff9..c2ce9232638 100644 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt @@ -1,3 +1,4 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. asyncGeneratorPropertyIsError.ts(2,15): error TS1005: '(' expected. asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. @@ -8,6 +9,7 @@ nestedFunctionDeclarationNamedAwaitIsError.ts(3,18): error TS1359: Identifier ex nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. nestedFunctionExpressionNamedAwaitIsError.ts(3,28): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. +yieldAsTypeIsStrictError.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldAsTypeIsStrictError.ts(4,16): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. yieldInClassComputedPropertyIsError.ts(2,14): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. yieldInClassComputedPropertyIsError.ts(2,14): error TS2693: 'yield' only refers to a type, but is being used as a value here. @@ -16,6 +18,7 @@ yieldParameterIsError.ts(2,15): error TS1213: Identifier expected. 'yield' is a yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ==== methodIsOk.ts (0 errors) ==== class C1 { async * f() { @@ -149,8 +152,10 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. let x: await; } } -==== yieldAsTypeIsStrictError.ts (1 errors) ==== +==== yieldAsTypeIsStrictError.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. class C20 { async * f() { let x: yield; diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..29c3bba7df7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,35 @@ +--- old.parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. + asyncGeneratorPropertyIsError.ts(2,15): error TS1005: '(' expected. + asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. +@@= skipped -7, +8 lines =@@ + nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + nestedFunctionExpressionNamedAwaitIsError.ts(3,28): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. ++yieldAsTypeIsStrictError.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldAsTypeIsStrictError.ts(4,16): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + yieldInClassComputedPropertyIsError.ts(2,14): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + yieldInClassComputedPropertyIsError.ts(2,14): error TS2693: 'yield' only refers to a type, but is being used as a value here. +@@= skipped -8, +9 lines =@@ + yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== methodIsOk.ts (0 errors) ==== + class C1 { + async * f() { +@@= skipped -133, +134 lines =@@ + let x: await; + } + } +-==== yieldAsTypeIsStrictError.ts (1 errors) ==== ++==== yieldAsTypeIsStrictError.ts (2 errors) ==== + interface yield {} ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + class C20 { + async * f() { + let x: yield; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt index c2ed90eace2..e3f42200f64 100644 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt @@ -1,23 +1,30 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. awaitInParameterInitializerIsError.ts(1,25): error TS2524: 'await' expressions cannot be used in a parameter initializer. awaitMissingValueIsError.ts(2,10): error TS1109: Expression expected. awaitParameterIsError.ts(1,21): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionDeclarationNamedAwaitIsError.ts(2,14): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(3,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldInParameterInitializerIsError.ts(1,25): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldParameterIsError.ts(1,21): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +yieldNameIsOk.ts(1,18): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldParameterIsError.ts(1,21): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ==== functionDeclarationIsOk.ts (0 errors) ==== async function * f1() { } ==== awaitNameIsOk.ts (0 errors) ==== async function * await() { } -==== yieldNameIsOk.ts (0 errors) ==== +==== yieldNameIsOk.ts (1 errors) ==== async function * yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } ==== awaitParameterIsError.ts (1 errors) ==== async function * f4(await) { @@ -27,7 +34,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== yieldParameterIsError.ts (1 errors) ==== async function * f5(yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } ==== awaitInParameterInitializerIsError.ts (1 errors) ==== async function * f6(a = await 1) { @@ -48,14 +55,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. async function * f9() { function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } } ==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== async function * f10() { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; } ==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== @@ -69,7 +76,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. async function * f12() { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; } ==== yieldIsOk.ts (0 errors) ==== @@ -105,10 +112,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. async function * f19() { let x: await; } -==== yieldAsTypeIsOk.ts (0 errors) ==== +==== yieldAsTypeIsOk.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. async function * f20() { let x: yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== async function * f21() { diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..83596c9489b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,89 @@ +--- old.parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + awaitInParameterInitializerIsError.ts(1,25): error TS2524: 'await' expressions cannot be used in a parameter initializer. + awaitMissingValueIsError.ts(2,10): error TS1109: Expression expected. + awaitParameterIsError.ts(1,21): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + nestedFunctionDeclarationNamedAwaitIsError.ts(2,14): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. +-nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +-nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +-nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldAsTypeIsOk.ts(3,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldInParameterInitializerIsError.ts(1,25): error TS2523: 'yield' expressions cannot be used in a parameter initializer. +-yieldParameterIsError.ts(1,21): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++yieldNameIsOk.ts(1,18): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldParameterIsError.ts(1,21): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== functionDeclarationIsOk.ts (0 errors) ==== + async function * f1() { + } + ==== awaitNameIsOk.ts (0 errors) ==== + async function * await() { + } +-==== yieldNameIsOk.ts (0 errors) ==== ++==== yieldNameIsOk.ts (1 errors) ==== + async function * yield() { ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + ==== awaitParameterIsError.ts (1 errors) ==== + async function * f4(await) { +@@= skipped -26, +33 lines =@@ + ==== yieldParameterIsError.ts (1 errors) ==== + async function * f5(yield) { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + ==== awaitInParameterInitializerIsError.ts (1 errors) ==== + async function * f6(a = await 1) { +@@= skipped -21, +21 lines =@@ + async function * f9() { + function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + } + ==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== + async function * f10() { + const x = function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + } + ==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== +@@= skipped -21, +21 lines =@@ + async function * f12() { + const x = function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + } + ==== yieldIsOk.ts (0 errors) ==== +@@= skipped -36, +36 lines =@@ + async function * f19() { + let x: await; + } +-==== yieldAsTypeIsOk.ts (0 errors) ==== ++==== yieldAsTypeIsOk.ts (2 errors) ==== + interface yield {} ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + async function * f20() { + let x: yield; ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== + async function * f21() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt index 87e4127bc88..afe4b4ff5e6 100644 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt @@ -1,17 +1,21 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. awaitInParameterInitializerIsError.ts(1,34): error TS2524: 'await' expressions cannot be used in a parameter initializer. awaitMissingValueIsError.ts(2,10): error TS1109: Expression expected. awaitNameIsError.ts(1,29): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. awaitParameterIsError.ts(1,30): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionDeclarationNamedAwaitIsError.ts(2,14): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(3,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldInParameterInitializerIsError.ts(1,34): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldNameIsError.ts(1,29): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -yieldParameterIsError.ts(1,30): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +yieldNameIsError.ts(1,29): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldParameterIsError.ts(1,30): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ==== functionExpressionIsOk.ts (0 errors) ==== const f1 = async function * f() { }; @@ -23,7 +27,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== yieldNameIsError.ts (1 errors) ==== const f3 = async function * yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; ==== awaitParameterIsError.ts (1 errors) ==== const f4 = async function * (await) { @@ -33,7 +37,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== yieldParameterIsError.ts (1 errors) ==== const f5 = async function * (yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; ==== awaitInParameterInitializerIsError.ts (1 errors) ==== const f6 = async function * (a = await 1) { @@ -54,14 +58,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. const f9 = async function * () { function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } }; ==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== const f10 = async function * () { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; }; ==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== @@ -111,10 +115,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. const f19 = async function * () { let x: await; }; -==== yieldAsTypeIsOk.ts (0 errors) ==== +==== yieldAsTypeIsOk.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. const f20 = async function * () { let x: yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== const f21 = async function *() { diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..3f762170f8b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,79 @@ +--- old.parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + awaitInParameterInitializerIsError.ts(1,34): error TS2524: 'await' expressions cannot be used in a parameter initializer. + awaitMissingValueIsError.ts(2,10): error TS1109: Expression expected. + awaitNameIsError.ts(1,29): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + awaitParameterIsError.ts(1,30): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + nestedFunctionDeclarationNamedAwaitIsError.ts(2,14): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. +-nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. +-nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldAsTypeIsOk.ts(3,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldInParameterInitializerIsError.ts(1,34): error TS2523: 'yield' expressions cannot be used in a parameter initializer. +-yieldNameIsError.ts(1,29): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +-yieldParameterIsError.ts(1,30): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++yieldNameIsError.ts(1,29): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldParameterIsError.ts(1,30): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== functionExpressionIsOk.ts (0 errors) ==== + const f1 = async function * f() { + }; +@@= skipped -22, +26 lines =@@ + ==== yieldNameIsError.ts (1 errors) ==== + const f3 = async function * yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + ==== awaitParameterIsError.ts (1 errors) ==== + const f4 = async function * (await) { +@@= skipped -10, +10 lines =@@ + ==== yieldParameterIsError.ts (1 errors) ==== + const f5 = async function * (yield) { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + ==== awaitInParameterInitializerIsError.ts (1 errors) ==== + const f6 = async function * (a = await 1) { +@@= skipped -21, +21 lines =@@ + const f9 = async function * () { + function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + }; + ==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== + const f10 = async function * () { + const x = function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + }; + ==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== +@@= skipped -57, +57 lines =@@ + const f19 = async function * () { + let x: await; + }; +-==== yieldAsTypeIsOk.ts (0 errors) ==== ++==== yieldAsTypeIsOk.ts (2 errors) ==== + interface yield {} ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + const f20 = async function * () { + let x: yield; ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== + const f21 = async function *() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt index ab637edec9c..5a7a614d324 100644 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt @@ -1,3 +1,4 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. asyncGeneratorPropertyIsError.ts(2,14): error TS1005: '(' expected. asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. @@ -5,14 +6,17 @@ awaitInParameterInitializerIsError.ts(2,19): error TS2524: 'await' expressions c awaitMissingValueIsError.ts(3,14): error TS1109: Expression expected. awaitParameterIsError.ts(2,15): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionDeclarationNamedAwaitIsError.ts(3,18): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. nestedFunctionExpressionNamedAwaitIsError.ts(3,28): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(4,16): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldInParameterInitializerIsError.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldParameterIsError.ts(2,15): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +yieldParameterIsError.ts(2,15): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ==== methodIsOk.ts (0 errors) ==== const o1 = { async * f() { @@ -39,7 +43,7 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. const o5 = { async * f(yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } }; ==== awaitInParameterInitializerIsError.ts (1 errors) ==== @@ -68,7 +72,7 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. async * f() { function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } } }; @@ -77,7 +81,7 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. async * f() { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; } }; @@ -146,11 +150,15 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. let x: await; } }; -==== yieldAsTypeIsOk.ts (0 errors) ==== +==== yieldAsTypeIsOk.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. const o20 = { async * f() { let x: yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } }; ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5d45c73829d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,72 @@ +--- old.parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. + asyncGeneratorPropertyIsError.ts(2,14): error TS1005: '(' expected. + asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. +@@= skipped -4, +5 lines =@@ + awaitMissingValueIsError.ts(3,14): error TS1109: Expression expected. + awaitParameterIsError.ts(2,15): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + nestedFunctionDeclarationNamedAwaitIsError.ts(3,18): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. +-nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + nestedFunctionExpressionNamedAwaitIsError.ts(3,28): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. +-nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++yieldAsTypeIsOk.ts(4,16): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldInParameterInitializerIsError.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. +-yieldParameterIsError.ts(2,15): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++yieldParameterIsError.ts(2,15): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== methodIsOk.ts (0 errors) ==== + const o1 = { + async * f() { +@@= skipped -34, +37 lines =@@ + const o5 = { + async * f(yield) { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + }; + ==== awaitInParameterInitializerIsError.ts (1 errors) ==== +@@= skipped -29, +29 lines =@@ + async * f() { + function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + } + }; +@@= skipped -9, +9 lines =@@ + async * f() { + const x = function yield() { + ~~~~~ +-!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + } + }; +@@= skipped -69, +69 lines =@@ + let x: await; + } + }; +-==== yieldAsTypeIsOk.ts (0 errors) ==== ++==== yieldAsTypeIsOk.ts (2 errors) ==== + interface yield {} ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + const o20 = { + async * f() { + let x: yield; ++ ~~~~~ ++!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + }; + ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt b/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt index 8185dc214a3..71a324b073f 100644 --- a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt @@ -1,9 +1,12 @@ +parserComputedPropertyName37.ts(2,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. parserComputedPropertyName37.ts(2,6): error TS2304: Cannot find name 'public'. -==== parserComputedPropertyName37.ts (1 errors) ==== +==== parserComputedPropertyName37.ts (2 errors) ==== var v = { [public]: 0 ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + ~~~~~~ !!! error TS2304: Cannot find name 'public'. }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff deleted file mode 100644 index 492f4a604a2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.parserComputedPropertyName37.errors.txt -+++ new.parserComputedPropertyName37.errors.txt -@@= skipped -0, +0 lines =@@ --parserComputedPropertyName37.ts(2,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. - parserComputedPropertyName37.ts(2,6): error TS2304: Cannot find name 'public'. - - --==== parserComputedPropertyName37.ts (2 errors) ==== -+==== parserComputedPropertyName37.ts (1 errors) ==== - var v = { - [public]: 0 -- ~~~~~~ --!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. - ~~~~~~ - !!! error TS2304: Cannot find name 'public'. - }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt index 678d49a6ccf..5786ced124b 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt @@ -1,7 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. +parserStatementIsNotAMemberVariableDeclaration1.ts(6,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. -==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== parserStatementIsNotAMemberVariableDeclaration1.ts (2 errors) ==== return { ~~~~~~ !!! error TS1108: A 'return' statement can only be used within a function body. @@ -10,6 +13,8 @@ parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return // 'private' should not be considered a member variable here. private[key] = value; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. } diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff index 489e0c9c7aa..565b32e56b9 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff @@ -2,12 +2,28 @@ +++ new.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt @@= skipped -0, +0 lines =@@ -error TS-1: Pre-emit (1) and post-emit (2) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. - - +- +- -!!! error TS-1: Pre-emit (1) and post-emit (2) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! -!!! related TS-1: The excess diagnostics are: -!!! related TS2304 parserStatementIsNotAMemberVariableDeclaration1.ts:6:5: Cannot find name 'private'. - ==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== +-==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== ++parserStatementIsNotAMemberVariableDeclaration1.ts(6,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== parserStatementIsNotAMemberVariableDeclaration1.ts (2 errors) ==== return { - ~~~~~~ \ No newline at end of file + ~~~~~~ + !!! error TS1108: A 'return' statement can only be used within a function body. +@@= skipped -13, +12 lines =@@ + + // 'private' should not be considered a member variable here. + private[key] = value; ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js index 03e70305b7f..4adbe2d89ab 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js @@ -13,6 +13,7 @@ return { }; //// [parserStatementIsNotAMemberVariableDeclaration1.js] +"use strict"; return { "set": function (key, value) { // 'private' should not be considered a member variable here. diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..ddd8337ec6b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js ++++ new.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js +@@= skipped -12, +12 lines =@@ + }; + + //// [parserStatementIsNotAMemberVariableDeclaration1.js] ++"use strict"; + return { + "set": function (key, value) { + // 'private' should not be considered a member variable here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt b/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt index 4942df4ee04..8dc2950d199 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt @@ -1,10 +1,11 @@ parserStrictMode1.ts(1,1): error TS2304: Cannot find name 'foo1'. parserStrictMode1.ts(2,1): error TS2304: Cannot find name 'foo1'. parserStrictMode1.ts(3,1): error TS2304: Cannot find name 'foo1'. +parserStrictMode1.ts(4,1): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. parserStrictMode1.ts(4,1): error TS2304: Cannot find name 'static'. -==== parserStrictMode1.ts (4 errors) ==== +==== parserStrictMode1.ts (5 errors) ==== foo1(); ~~~~ !!! error TS2304: Cannot find name 'foo1'. @@ -16,4 +17,6 @@ parserStrictMode1.ts(4,1): error TS2304: Cannot find name 'static'. !!! error TS2304: Cannot find name 'foo1'. static(); ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. + ~~~~~~ !!! error TS2304: Cannot find name 'static'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff deleted file mode 100644 index 067b82ade05..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.parserStrictMode1.errors.txt -+++ new.parserStrictMode1.errors.txt -@@= skipped -0, +0 lines =@@ - parserStrictMode1.ts(1,1): error TS2304: Cannot find name 'foo1'. - parserStrictMode1.ts(2,1): error TS2304: Cannot find name 'foo1'. - parserStrictMode1.ts(3,1): error TS2304: Cannot find name 'foo1'. --parserStrictMode1.ts(4,1): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. - parserStrictMode1.ts(4,1): error TS2304: Cannot find name 'static'. - - --==== parserStrictMode1.ts (5 errors) ==== -+==== parserStrictMode1.ts (4 errors) ==== - foo1(); - ~~~~ - !!! error TS2304: Cannot find name 'foo1'. -@@= skipped -15, +14 lines =@@ - ~~~~ - !!! error TS2304: Cannot find name 'foo1'. - static(); -- ~~~~~~ --!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. - ~~~~~~ - !!! error TS2304: Cannot find name 'static'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt b/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt index dc71bb89316..e68ede85aa5 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt @@ -1,7 +1,10 @@ +parserStrictMode3-negative.ts(1,1): error TS1100: Invalid use of 'eval' in strict mode. parserStrictMode3-negative.ts(1,1): error TS2630: Cannot assign to 'eval' because it is a function. -==== parserStrictMode3-negative.ts (1 errors) ==== +==== parserStrictMode3-negative.ts (2 errors) ==== eval = 1; ~~~~ +!!! error TS1100: Invalid use of 'eval' in strict mode. + ~~~~ !!! error TS2630: Cannot assign to 'eval' because it is a function. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff deleted file mode 100644 index 94721f49d3f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.parserStrictMode3-negative.errors.txt -+++ new.parserStrictMode3-negative.errors.txt -@@= skipped -0, +0 lines =@@ --parserStrictMode3-negative.ts(1,1): error TS1100: Invalid use of 'eval' in strict mode. - parserStrictMode3-negative.ts(1,1): error TS2630: Cannot assign to 'eval' because it is a function. - - --==== parserStrictMode3-negative.ts (2 errors) ==== -+==== parserStrictMode3-negative.ts (1 errors) ==== - eval = 1; -- ~~~~ --!!! error TS1100: Invalid use of 'eval' in strict mode. - ~~~~ - !!! error TS2630: Cannot assign to 'eval' because it is a function. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt b/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt index 677972b4c1a..01816267102 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt @@ -1,7 +1,10 @@ +parserStrictMode6-negative.ts(1,1): error TS1100: Invalid use of 'eval' in strict mode. parserStrictMode6-negative.ts(1,1): error TS2630: Cannot assign to 'eval' because it is a function. -==== parserStrictMode6-negative.ts (1 errors) ==== +==== parserStrictMode6-negative.ts (2 errors) ==== eval++; ~~~~ +!!! error TS1100: Invalid use of 'eval' in strict mode. + ~~~~ !!! error TS2630: Cannot assign to 'eval' because it is a function. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff deleted file mode 100644 index 07d8acd79dd..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.parserStrictMode6-negative.errors.txt -+++ new.parserStrictMode6-negative.errors.txt -@@= skipped -0, +0 lines =@@ --parserStrictMode6-negative.ts(1,1): error TS1100: Invalid use of 'eval' in strict mode. - parserStrictMode6-negative.ts(1,1): error TS2630: Cannot assign to 'eval' because it is a function. - - --==== parserStrictMode6-negative.ts (2 errors) ==== -+==== parserStrictMode6-negative.ts (1 errors) ==== - eval++; -- ~~~~ --!!! error TS1100: Invalid use of 'eval' in strict mode. - ~~~~ - !!! error TS2630: Cannot assign to 'eval' because it is a function. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt index fea706378c4..ff1b088ef29 100644 --- a/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt @@ -1,12 +1,15 @@ parserWithStatement1.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts. +parserWithStatement1.d.ts(1,1): error TS1101: 'with' statements are not allowed in strict mode. parserWithStatement1.d.ts(1,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. parserWithStatement1.d.ts(1,7): error TS2304: Cannot find name 'foo'. -==== parserWithStatement1.d.ts (3 errors) ==== +==== parserWithStatement1.d.ts (4 errors) ==== with (foo) { ~~~~ !!! error TS1036: Statements are not allowed in ambient contexts. + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. ~~~ diff --git a/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff new file mode 100644 index 00000000000..c2188854816 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff @@ -0,0 +1,19 @@ +--- old.parserWithStatement1.d.errors.txt ++++ new.parserWithStatement1.d.errors.txt +@@= skipped -0, +0 lines =@@ + parserWithStatement1.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts. ++parserWithStatement1.d.ts(1,1): error TS1101: 'with' statements are not allowed in strict mode. + parserWithStatement1.d.ts(1,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + parserWithStatement1.d.ts(1,7): error TS2304: Cannot find name 'foo'. + + +-==== parserWithStatement1.d.ts (3 errors) ==== ++==== parserWithStatement1.d.ts (4 errors) ==== + with (foo) { + ~~~~ + !!! error TS1036: Statements are not allowed in ambient contexts. ++ ~~~~ ++!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~~~~~~~ + !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. + ~~~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt b/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt index f99a936c2fc..f0d3815b5aa 100644 --- a/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt @@ -1,8 +1,11 @@ +parserWithStatement2.ts(1,1): error TS1101: 'with' statements are not allowed in strict mode. parserWithStatement2.ts(1,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== parserWithStatement2.ts (1 errors) ==== +==== parserWithStatement2.ts (2 errors) ==== with (1) + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. return; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff deleted file mode 100644 index 9042b36a122..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.parserWithStatement2.errors.txt -+++ new.parserWithStatement2.errors.txt -@@= skipped -0, +0 lines =@@ --parserWithStatement2.ts(1,1): error TS1101: 'with' statements are not allowed in strict mode. - parserWithStatement2.ts(1,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== parserWithStatement2.ts (2 errors) ==== -+==== parserWithStatement2.ts (1 errors) ==== - with (1) -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - return; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt index 2a77a294e67..09473d5afed 100644 --- a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt @@ -1,9 +1,12 @@ +withStatements.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. withStatements.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== withStatements.ts (1 errors) ==== +==== withStatements.ts (2 errors) ==== var x = 12; with (x) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. name = 'twelve' diff --git a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff deleted file mode 100644 index 809e62638d6..00000000000 --- a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.withStatements.errors.txt -+++ new.withStatements.errors.txt -@@= skipped -0, +0 lines =@@ --withStatements.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. - withStatements.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - --==== withStatements.ts (2 errors) ==== -+==== withStatements.ts (1 errors) ==== - var x = 12; - with (x) { -- ~~~~ --!!! error TS1101: 'with' statements are not allowed in strict mode. - ~~~~~~~~ - !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - name = 'twelve' \ No newline at end of file diff --git a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js index 1df65ce297a..c0b9e5ceb9b 100644 --- a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js +++ b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js @@ -115,7 +115,7 @@ export { C } from "./c"; //// [/home/src/workspaces/project/lib/index.d.ts.map] *new* {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/index.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/index.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -216,7 +216,6 @@ export { C } from "./c"; ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -227,7 +226,8 @@ export { C } from "./c"; "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ @@ -309,7 +309,7 @@ export interface A { //// [/home/src/workspaces/project/lib/c.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/lib/index.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/a.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/a.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -410,7 +410,6 @@ export interface A { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -421,7 +420,8 @@ export interface A { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ diff --git a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js index 53b1fbdcbc4..7ed45fd9227 100644 --- a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js +++ b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js @@ -107,7 +107,7 @@ export { B } from "./b"; export { C } from "./c"; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/index.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/index.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -208,7 +208,6 @@ export { C } from "./c"; ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -219,7 +218,8 @@ export { C } from "./c"; "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ @@ -296,7 +296,7 @@ export interface A { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/a.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./lib/a.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -397,7 +397,6 @@ export interface A { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -408,7 +407,8 @@ export interface A { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ diff --git a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js index 9a4c981576e..c3416369b2f 100644 --- a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js +++ b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js @@ -106,7 +106,7 @@ export interface C { //// [/home/src/workspaces/project/lib/c.d.ts.map] *new* {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../src/c.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,CAAC;IACd,CAAC,EAAE,CAAC,CAAC;CACR"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","errors":true,"root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"665f99944701507453d40566cb1ae14c-export class B { prop = \"hello\"; }\n\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./lib/b.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"665f99944701507453d40566cb1ae14c-export class B { prop = \"hello\"; }\n\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./lib/b.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -186,7 +186,6 @@ export interface C { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -197,7 +196,8 @@ export interface C { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/b.ts": [ @@ -259,7 +259,7 @@ Found 1 error in tsconfig.json:4 //// [/home/src/workspaces/project/lib/a.d.ts.map] *modified* {"version":3,"file":"a.d.ts","sourceRoot":"","sources":["../src/a.ts"],"names":[],"mappings":"AAAA,qBAAa,CAAC;IAAG,IAAI,SAAW;CAAE;AAGlC,MAAM,WAAW,CAAC;IACd,CAAC,EAAE,CAAC,CAAC;CACR"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","errors":true,"root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d6b87c1d5c5dc8a828f29d0ccdf50a96-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./lib/b.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d6b87c1d5c5dc8a828f29d0ccdf50a96-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./lib/b.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -339,7 +339,6 @@ Found 1 error in tsconfig.json:4 ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -350,7 +349,8 @@ Found 1 error in tsconfig.json:4 "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/b.ts": [ @@ -421,7 +421,7 @@ export interface A { //// [/home/src/workspaces/project/lib/b.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/lib/c.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","errors":true,"root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f2ea1f64003c617e4826031e7133d22d-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B; foo: any;\n}","signature":"1bd611ec5b00f8f076ed030967bcfa3e-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./lib/a.d.ts"} +{"version":"FakeTSVersion","errors":true,"root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f2ea1f64003c617e4826031e7133d22d-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B; foo: any;\n}","signature":"1bd611ec5b00f8f076ed030967bcfa3e-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./lib/a.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -501,7 +501,6 @@ export interface A { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -512,7 +511,8 @@ export interface A { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/b.ts": [ diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js b/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js index 765c2d9609e..d8ace2a42d0 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -112,7 +120,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -245,8 +253,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -270,27 +295,53 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [1]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [2]:: Introduce error but still noEmit @@ -305,7 +356,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -327,15 +378,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -518,6 +575,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -573,7 +645,7 @@ Errors Files ] } ], - "size": 3310 + "size": 3441 } tsconfig.json:: @@ -596,7 +668,7 @@ export class classC { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -605,10 +677,18 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -741,8 +821,25 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -761,53 +858,105 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [5]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [6]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [7]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [8]:: Introduce error and emit @@ -822,7 +971,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -844,12 +993,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -863,7 +1018,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1056,10 +1211,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -1105,12 +1275,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1148,12 +1324,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1191,12 +1373,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1234,12 +1422,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1254,7 +1448,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -1263,8 +1457,16 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1387,37 +1589,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -1448,7 +1659,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -1467,15 +1678,23 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1488,7 +1707,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1621,8 +1840,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: @@ -1635,37 +1871,76 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [16]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [17]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js index 771223527a7..762ffdc188f 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -112,7 +120,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -245,7 +253,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -269,27 +294,53 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [1]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [2]:: Introduce error but still noEmit @@ -304,7 +355,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -326,15 +377,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -517,6 +574,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -545,7 +617,7 @@ Errors Files ] ] ], - "size": 3026 + "size": 3157 } tsconfig.json:: @@ -568,7 +640,7 @@ export class classC { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -577,6 +649,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.d.ts] *rewrite with same content* @@ -584,7 +664,7 @@ Output:: //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -717,7 +797,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -736,53 +833,105 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [5]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [6]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [7]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [8]:: Introduce error and emit @@ -797,7 +946,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -819,12 +968,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -841,7 +996,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1034,9 +1189,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -1082,12 +1252,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1125,12 +1301,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1168,12 +1350,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1211,12 +1399,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1231,7 +1425,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -1240,8 +1434,16 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1364,41 +1566,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -1417,15 +1628,23 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1441,7 +1660,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1574,7 +1793,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -1587,37 +1823,76 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [16]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. +[HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [17]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js index c1d83b61678..643753a068e 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -89,7 +97,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -193,7 +201,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -211,28 +236,54 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [1]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [2]:: Introduce error but still noEmit //// [/home/src/workspaces/project/src/class.ts] *modified* @@ -246,7 +297,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -268,15 +319,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,4,3,5]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -460,6 +517,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -484,7 +556,7 @@ Errors Files 5 ] ], - "size": 2927 + "size": 3058 } tsconfig.json:: @@ -507,7 +579,7 @@ export class classC { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -516,12 +588,20 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -635,7 +715,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -654,53 +751,105 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [5]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [6]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [7]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [8]:: Introduce error and emit @@ -715,7 +864,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -737,12 +886,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { @@ -751,7 +906,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -925,9 +1080,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2702 + "size": 2833 } tsconfig.json:: @@ -973,12 +1143,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1016,12 +1192,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1059,12 +1241,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1102,12 +1290,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1122,7 +1316,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -1131,8 +1325,16 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1246,6 +1448,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -1258,7 +1477,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -1277,15 +1496,23 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { prop = 1; @@ -1293,7 +1520,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1407,7 +1634,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -1418,37 +1662,76 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [16]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [17]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project 'tsconfig.json'... + +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js index 5eb2078875e..b230abdbcb7 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -61,7 +69,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"emitSignatures":[2,3,4,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -168,54 +176,53 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], "emitSignatures": [ @@ -244,7 +251,7 @@ declare const console: { log(msg: any): void; }; "original": 7 } ], - "size": 1880 + "size": 2012 } tsconfig.json:: @@ -262,15 +269,23 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *new* export declare class classC { prop: number; @@ -323,7 +338,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -456,8 +471,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -483,7 +515,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -505,12 +537,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -524,7 +562,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -717,10 +755,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -743,7 +796,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -752,8 +805,16 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -876,37 +937,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -937,7 +1007,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -956,15 +1026,23 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -977,7 +1055,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1110,8 +1188,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js index 074b8c562fe..ff89f3c17ef 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -61,7 +69,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -168,57 +176,56 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], - "size": 1851 + "size": 1983 } tsconfig.json:: @@ -236,15 +243,23 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *new* export declare class classC { prop: number; @@ -297,7 +312,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -430,7 +445,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -456,7 +488,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -478,12 +510,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -500,7 +538,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -693,9 +731,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -718,7 +771,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -727,8 +780,16 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -851,41 +912,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -904,15 +974,23 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -928,7 +1006,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1061,7 +1139,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js index 4187483647f..084caff138e 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -61,7 +69,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -165,6 +173,23 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -197,7 +222,7 @@ declare const console: { log(msg: any): void; }; 7 ] ], - "size": 1790 + "size": 1952 } tsconfig.json:: @@ -215,15 +240,23 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *new* export class classC { prop = 1; @@ -253,7 +286,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -357,7 +390,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -377,7 +427,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -399,12 +449,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { @@ -415,7 +471,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -599,9 +655,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2890 + "size": 3021 } tsconfig.json:: @@ -624,7 +695,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -633,8 +704,16 @@ Output:: [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -748,6 +827,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -760,7 +856,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -779,15 +875,23 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { prop = 1; @@ -795,7 +899,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -909,7 +1013,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-composite.js b/testdata/baselines/reference/tsc/noEmit/changes-composite.js index 171d492eb9d..58d9945d006 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-composite.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-composite.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -105,7 +113,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -238,8 +246,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -263,8 +288,16 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -274,8 +307,16 @@ Signatures:: Edit [1]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -309,15 +350,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -500,6 +547,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -555,7 +617,7 @@ Errors Files ] } ], - "size": 3310 + "size": 3441 } tsconfig.json:: @@ -578,12 +640,20 @@ export class classC { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -716,8 +786,25 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -736,8 +823,16 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -747,8 +842,16 @@ Signatures:: Edit [5]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -758,8 +861,16 @@ Signatures:: Edit [6]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -769,8 +880,16 @@ Signatures:: Edit [7]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -804,12 +923,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -823,7 +948,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1016,10 +1141,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -1058,12 +1198,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1094,12 +1240,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1130,12 +1282,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1166,12 +1324,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1186,10 +1350,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1312,37 +1484,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -1373,7 +1554,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -1392,8 +1573,16 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1406,7 +1595,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1539,8 +1728,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: @@ -1553,8 +1759,16 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -1564,8 +1778,16 @@ Signatures:: Edit [16]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -1575,8 +1797,16 @@ Signatures:: Edit [17]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js b/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js index 48145c72c5a..9dd018d87d5 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -105,7 +113,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -238,7 +246,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -262,8 +287,16 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -273,8 +306,16 @@ Signatures:: Edit [1]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -308,15 +349,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -499,6 +546,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -527,7 +589,7 @@ Errors Files ] ] ], - "size": 3026 + "size": 3157 } tsconfig.json:: @@ -550,8 +612,16 @@ export class classC { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.d.ts] *rewrite with same content* @@ -559,7 +629,7 @@ Output:: //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -692,7 +762,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -711,8 +798,16 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -722,8 +817,16 @@ Signatures:: Edit [5]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -733,8 +836,16 @@ Signatures:: Edit [6]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -744,8 +855,16 @@ Signatures:: Edit [7]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -779,12 +898,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -801,7 +926,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -994,9 +1119,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -1035,12 +1175,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1071,12 +1217,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1107,12 +1259,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1143,12 +1301,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1163,10 +1327,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1289,41 +1461,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -1342,8 +1523,16 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1359,7 +1548,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1492,7 +1681,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -1505,8 +1711,16 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -1516,8 +1730,16 @@ Signatures:: Edit [16]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -1527,8 +1749,16 @@ Signatures:: Edit [17]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-incremental.js b/testdata/baselines/reference/tsc/noEmit/changes-incremental.js index 695f82dac79..2719f96c2f2 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-incremental.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-incremental.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -82,7 +90,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -186,7 +194,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -204,8 +229,16 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -215,8 +248,16 @@ Signatures:: Edit [1]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -250,15 +291,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,4,3,5]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -442,6 +489,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -466,7 +528,7 @@ Errors Files 5 ] ], - "size": 2927 + "size": 3058 } tsconfig.json:: @@ -489,14 +551,22 @@ export class classC { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -610,7 +680,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -629,8 +716,16 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -640,8 +735,16 @@ Signatures:: Edit [5]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -651,8 +754,16 @@ Signatures:: Edit [6]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -662,8 +773,16 @@ Signatures:: Edit [7]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -697,12 +816,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { @@ -711,7 +836,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -885,9 +1010,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2702 + "size": 2833 } tsconfig.json:: @@ -926,12 +1066,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -962,12 +1108,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -998,12 +1150,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1034,12 +1192,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 tsconfig.json:: @@ -1054,10 +1218,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1171,6 +1343,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -1183,7 +1372,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -1202,8 +1391,16 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { prop = 1; @@ -1211,7 +1408,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1325,7 +1522,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -1336,8 +1550,16 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -1347,8 +1569,16 @@ Signatures:: Edit [16]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: @@ -1358,8 +1588,16 @@ Signatures:: Edit [17]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + tsconfig.json:: SemanticDiagnostics:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js index c12e1869fc7..fce7c073d9c 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -54,7 +62,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"emitSignatures":[2,3,4,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -161,54 +169,53 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], "emitSignatures": [ @@ -237,7 +244,7 @@ declare const console: { log(msg: any): void; }; "original": 7 } ], - "size": 1880 + "size": 2012 } tsconfig.json:: @@ -255,8 +262,16 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *new* export declare class classC { prop: number; @@ -309,7 +324,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -442,8 +457,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -484,12 +516,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -503,7 +541,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -696,10 +734,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -722,10 +775,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -848,37 +909,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -909,7 +979,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -928,8 +998,16 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -942,7 +1020,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1075,8 +1153,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js index 760bdcc891c..4f0aac50ace 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -54,7 +62,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -161,57 +169,56 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], - "size": 1851 + "size": 1983 } tsconfig.json:: @@ -229,8 +236,16 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *new* export declare class classC { prop: number; @@ -283,7 +298,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -416,7 +431,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -457,12 +489,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -479,7 +517,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -672,9 +710,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -697,10 +750,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -823,41 +884,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -876,8 +946,16 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -893,7 +971,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1026,7 +1104,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js index 13c3bd37932..737ade219a6 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -54,7 +62,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -158,6 +166,23 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -190,7 +215,7 @@ declare const console: { log(msg: any): void; }; 7 ] ], - "size": 1790 + "size": 1952 } tsconfig.json:: @@ -208,8 +233,16 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *new* export class classC { prop = 1; @@ -239,7 +272,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -343,7 +376,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -378,12 +428,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { @@ -394,7 +450,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -578,9 +634,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2890 + "size": 3021 } tsconfig.json:: @@ -603,10 +674,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -720,6 +799,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -732,7 +828,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -751,8 +847,16 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { prop = 1; @@ -760,7 +864,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -874,7 +978,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json::