From 7631b9efa9e88eff8dbd25b2f4a2ce3f0c95a992 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 19 Jun 2025 21:59:23 -0700 Subject: [PATCH 1/3] Finish implementing sourceFileMayBeEmitted --- internal/compiler/emitter.go | 36 ++++++++++++-- internal/outputpaths/outputpaths.go | 4 +- ...esolveJsonModule_strict_outDir_commonJs.js | 17 +++++++ ...eJsonModule_strict_outDir_commonJs.js.diff | 17 +++++++ .../jsonFileImportChecksCallCorrectlyTwice.js | 24 ++++++++++ ...FileImportChecksCallCorrectlyTwice.js.diff | 24 ++++++++++ ...leResolutionWithSuffixes_one_jsonModule.js | 19 ++++++++ ...olutionWithSuffixes_one_jsonModule.js.diff | 19 ++++++++ .../submodule/compiler/requireOfJsonFile.js | 20 ++++++++ .../compiler/requireOfJsonFile.js.diff | 20 ++++++++ .../compiler/requireOfJsonFileTypes.js | 32 +++++++++++++ .../compiler/requireOfJsonFileTypes.js.diff | 36 ++++++++++---- ...OfJsonFileWithAlwaysStrictWithoutErrors.js | 20 ++++++++ ...nFileWithAlwaysStrictWithoutErrors.js.diff | 20 ++++++++ .../compiler/requireOfJsonFileWithAmd.js | 5 ++ .../compiler/requireOfJsonFileWithAmd.js.diff | 11 +++-- ...quireOfJsonFileWithComputedPropertyName.js | 19 ++++++++ ...OfJsonFileWithComputedPropertyName.js.diff | 19 ++++++++ .../requireOfJsonFileWithDeclaration.js | 20 ++++++++ .../requireOfJsonFileWithDeclaration.js.diff | 20 ++++++++ .../requireOfJsonFileWithEmptyObject.js | 17 +++++++ .../requireOfJsonFileWithEmptyObject.js.diff | 17 +++++++ ...uireOfJsonFileWithEmptyObjectWithErrors.js | 2 + ...fJsonFileWithEmptyObjectWithErrors.js.diff | 6 +-- .../compiler/requireOfJsonFileWithErrors.js | 20 ++++++++ .../requireOfJsonFileWithErrors.js.diff | 20 ++++++++ .../requireOfJsonFileWithModuleEmitNone.js | 20 ++++++++ ...equireOfJsonFileWithModuleEmitNone.js.diff | 20 ++++++++ ...equireOfJsonFileWithModuleEmitUndefined.js | 20 ++++++++ ...eOfJsonFileWithModuleEmitUndefined.js.diff | 20 ++++++++ ...JsonFileWithModuleNodeResolutionEmitAmd.js | 20 ++++++++ ...ileWithModuleNodeResolutionEmitAmd.js.diff | 20 ++++++++ ...nFileWithModuleNodeResolutionEmitEs2015.js | 20 ++++++++ ...WithModuleNodeResolutionEmitEs2015.js.diff | 20 ++++++++ ...nFileWithModuleNodeResolutionEmitEsNext.js | 20 ++++++++ ...WithModuleNodeResolutionEmitEsNext.js.diff | 20 ++++++++ ...sonFileWithModuleNodeResolutionEmitNone.js | 20 ++++++++ ...leWithModuleNodeResolutionEmitNone.js.diff | 20 ++++++++ ...nFileWithModuleNodeResolutionEmitSystem.js | 20 ++++++++ ...WithModuleNodeResolutionEmitSystem.js.diff | 20 ++++++++ ...JsonFileWithModuleNodeResolutionEmitUmd.js | 20 ++++++++ ...ileWithModuleNodeResolutionEmitUmd.js.diff | 20 ++++++++ ...leWithModuleNodeResolutionEmitUndefined.js | 20 ++++++++ ...hModuleNodeResolutionEmitUndefined.js.diff | 20 ++++++++ .../requireOfJsonFileWithNoContent.js | 1 + .../requireOfJsonFileWithNoContent.js.diff | 6 +-- .../requireOfJsonFileWithSourceMap.js | 20 ++++++++ .../requireOfJsonFileWithSourceMap.js.diff | 20 ++++++++ .../requireOfJsonFileWithTraillingComma.js | 20 ++++++++ ...equireOfJsonFileWithTraillingComma.js.diff | 20 ++++++++ .../requireOfJsonFileWithoutAllowJs.js | 20 ++++++++ .../requireOfJsonFileWithoutAllowJs.js.diff | 20 ++++++++ ...requireOfJsonFileWithoutEsModuleInterop.js | 20 ++++++++ ...reOfJsonFileWithoutEsModuleInterop.js.diff | 20 ++++++++ .../requireOfJsonFileWithoutExtension.js | 5 ++ .../requireOfJsonFileWithoutExtension.js.diff | 11 +++-- ...eOfJsonFileWithoutExtensionResolvesToTs.js | 20 ++++++++ ...onFileWithoutExtensionResolvesToTs.js.diff | 20 ++++++++ ...quireOfJsonFileWithoutResolveJsonModule.js | 2 + ...OfJsonFileWithoutResolveJsonModule.js.diff | 7 ++- .../conformance/jsDeclarationsJson.js | 23 +++++++++ .../conformance/jsDeclarationsJson.js.diff | 23 +++++++++ .../conformance/jsDeclarationsPackageJson.js | 47 +++++++++++++++++++ .../jsDeclarationsPackageJson.js.diff | 47 +++++++++++++++++++ ...ModulesResolveJsonModule(module=node16).js | 7 +++ ...esResolveJsonModule(module=node16).js.diff | 17 +++---- ...ModulesResolveJsonModule(module=node18).js | 7 +++ ...esResolveJsonModule(module=node18).js.diff | 17 +++---- ...dulesResolveJsonModule(module=nodenext).js | 7 +++ ...ResolveJsonModule(module=nodenext).js.diff | 17 +++---- 70 files changed, 1229 insertions(+), 59 deletions(-) diff --git a/internal/compiler/emitter.go b/internal/compiler/emitter.go index a01185fea7..fec9b18704 100644 --- a/internal/compiler/emitter.go +++ b/internal/compiler/emitter.go @@ -12,6 +12,7 @@ import ( "github.com/microsoft/typescript-go/internal/stringutil" "github.com/microsoft/typescript-go/internal/transformers" "github.com/microsoft/typescript-go/internal/transformers/declarations" + "github.com/microsoft/typescript-go/internal/tsoptions" "github.com/microsoft/typescript-go/internal/tspath" ) @@ -296,14 +297,29 @@ func (e *emitter) getSourceMappingURL(mapOptions *core.CompilerOptions, sourceMa return stringutil.EncodeURI(sourceMapFile) } -func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host printer.EmitHost, forceDtsEmit bool) bool { - // !!! Js files are emitted only if option is enabled +type SourceFileMayBeEmittedHost interface { + Options() *core.CompilerOptions + GetOutputAndProjectReference(path tspath.Path) *tsoptions.OutputDtsAndProjectReference + IsSourceFileFromExternalLibrary(file *ast.SourceFile) bool + GetCurrentDirectory() string + UseCaseSensitiveFileNames() bool +} + +func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host SourceFileMayBeEmittedHost, forceDtsEmit bool) bool { + // TODO: move this to outputpaths? + + options := host.Options() + // Js files are emitted only if option is enabled + if options.NoEmitForJsFiles.IsTrue() && ast.IsSourceFileJS(sourceFile) { + return false + } // Declaration files are not emitted if sourceFile.IsDeclarationFile { return false } + // Source file from node_modules are not emitted if host.IsSourceFileFromExternalLibrary(sourceFile) { return false } @@ -313,6 +329,7 @@ func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host printer.EmitHost, f return true } + // Check other conditions for file emit // Source files from referenced projects are not emitted if host.GetOutputAndProjectReference(sourceFile.Path()) != nil { return false @@ -323,8 +340,19 @@ func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host printer.EmitHost, f return true } - // !!! Should JSON input files be emitted - return false + // Otherwise if rootDir or composite config file, we know common sourceDir and can check if file would be emitted in same location + if options.RootDir != "" || (options.Composite.IsTrue() && options.ConfigFilePath != "") { + commonDir := tspath.GetNormalizedAbsolutePath(outputpaths.GetCommonSourceDirectory(options, func() []string { return nil }, host.GetCurrentDirectory(), host.UseCaseSensitiveFileNames()), host.GetCurrentDirectory()) + outputPath := outputpaths.GetSourceFilePathInNewDirWorker(sourceFile.FileName(), options.OutDir, host.GetCurrentDirectory(), commonDir, host.UseCaseSensitiveFileNames()) + if tspath.ComparePaths(sourceFile.FileName(), outputPath, tspath.ComparePathsOptions{ + UseCaseSensitiveFileNames: host.UseCaseSensitiveFileNames(), + CurrentDirectory: host.GetCurrentDirectory(), + }) == 0 { + return false + } + } + + return true } func getSourceFilesToEmit(host printer.EmitHost, targetSourceFile *ast.SourceFile, forceDtsEmit bool) []*ast.SourceFile { diff --git a/internal/outputpaths/outputpaths.go b/internal/outputpaths/outputpaths.go index 360c3372d6..60cac7d6e2 100644 --- a/internal/outputpaths/outputpaths.go +++ b/internal/outputpaths/outputpaths.go @@ -123,7 +123,7 @@ func GetDeclarationEmitOutputFilePath(file string, options *core.CompilerOptions var path string if outputDir != nil { - path = getSourceFilePathInNewDirWorker(file, *outputDir, host.GetCurrentDirectory(), host.CommonSourceDirectory(), host.UseCaseSensitiveFileNames()) + path = GetSourceFilePathInNewDirWorker(file, *outputDir, host.GetCurrentDirectory(), host.CommonSourceDirectory(), host.UseCaseSensitiveFileNames()) } else { path = file } @@ -154,7 +154,7 @@ func getOutputPathWithoutChangingExtension(inputFileName string, outputDirectory return inputFileName } -func getSourceFilePathInNewDirWorker(fileName string, newDirPath string, currentDirectory string, commonSourceDirectory string, useCaseSensitiveFileNames bool) string { +func GetSourceFilePathInNewDirWorker(fileName string, newDirPath string, currentDirectory string, commonSourceDirectory string, useCaseSensitiveFileNames bool) string { sourceFilePath := tspath.GetNormalizedAbsolutePath(fileName, currentDirectory) commonDir := tspath.GetCanonicalFileName(commonSourceDirectory, useCaseSensitiveFileNames) canonFile := tspath.GetCanonicalFileName(sourceFilePath, useCaseSensitiveFileNames) diff --git a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js index 3809b01ff4..80a916cc0a 100644 --- a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js +++ b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js @@ -7,6 +7,23 @@ import * as j from "./j.json"; {} +/dist/j.json(1,1): error TS1005: '{' expected. +/dist/j.json(1,2): error TS1136: Property assignment expected. +/dist/j.json(1,4): error TS1012: Unexpected token. +/dist/j.json(2,1): error TS1005: '}' expected. + + +==== /dist/j.json (4 errors) ==== + ({}) + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff index d0cdd52659..e3d063b922 100644 --- a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff @@ -6,6 +6,23 @@ -//// [j.json] -{} ++/dist/j.json(1,1): error TS1005: '{' expected. ++/dist/j.json(1,2): error TS1136: Property assignment expected. ++/dist/j.json(1,4): error TS1012: Unexpected token. ++/dist/j.json(2,1): error TS1005: '}' expected. ++ ++ ++==== /dist/j.json (4 errors) ==== ++ ({}) ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js index bc200fbb9b..d7dc4fb4a1 100644 --- a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js +++ b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js @@ -21,6 +21,30 @@ function fn(arg: Foo[]) { } ] } +dist/data.json(1,1): error TS1005: '{' expected. +dist/data.json(1,2): error TS1136: Property assignment expected. +dist/data.json(8,2): error TS1012: Unexpected token. +dist/data.json(9,1): error TS1005: '}' expected. + + +==== dist/data.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "foo": [ + { + "bool": true, + "str": "123" + } + ] + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [index.js] "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { diff --git a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff index f485ab950b..56baea6c8f 100644 --- a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff +++ b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff @@ -13,6 +13,30 @@ - } - ] -} ++dist/data.json(1,1): error TS1005: '{' expected. ++dist/data.json(1,2): error TS1136: Property assignment expected. ++dist/data.json(8,2): error TS1012: Unexpected token. ++dist/data.json(9,1): error TS1005: '}' expected. ++ ++ ++==== dist/data.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "foo": [ ++ { ++ "bool": true, ++ "str": "123" ++ } ++ ] ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [index.js] "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js index 6dee33c81f..925b6e81d7 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js @@ -13,6 +13,25 @@ import foo from "./foo.json"; console.log(foo.ios); +/bin/foo.ios.json(1,1): error TS1005: '{' expected. +/bin/foo.ios.json(1,2): error TS1136: Property assignment expected. +/bin/foo.ios.json(3,2): error TS1012: Unexpected token. +/bin/foo.ios.json(4,1): error TS1005: '}' expected. + + +==== /bin/foo.ios.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "ios": "platform ios" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [/bin/index.js] "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff index b6a7718aed..dbb6577d9c 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff @@ -8,6 +8,25 @@ -{ - "ios": "platform ios" -} ++/bin/foo.ios.json(1,1): error TS1005: '{' expected. ++/bin/foo.ios.json(1,2): error TS1136: Property assignment expected. ++/bin/foo.ios.json(3,2): error TS1012: Unexpected token. ++/bin/foo.ios.json(4,1): error TS1005: '}' expected. ++ ++ ++==== /bin/foo.ios.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "ios": "platform ios" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [/bin/index.js] "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js index 6150d5a791..ac244466e7 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js @@ -15,6 +15,26 @@ if (x) { "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff index e5933c989d..03a3d1133a 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js index 492f338fc4..ca3bbbf54b 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js @@ -45,6 +45,38 @@ booleanLiteral = g[0]; //// [g.json] [true, false] +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(6,2): error TS1012: Unexpected token. +out/b.json(7,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello", + "c": null, + "d": false + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. +//// [out/c.json] +["a", null, "string"] +//// [out/d.json] +"dConfig" +//// [out/e.json] +-10 +//// [out/f.json] +[-10, 30] +//// [out/g.json] +[true, false] //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff index e29d374bad..e27a97a7e0 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff @@ -11,16 +11,32 @@ - "c": null, - "d": false -} --//// [out/c.json] --["a", null, "string"] --//// [out/d.json] --"dConfig" --//// [out/e.json] ---10 --//// [out/f.json] --[-10, 30] --//// [out/g.json] --[true, false] ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(6,2): error TS1012: Unexpected token. ++out/b.json(7,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello", ++ "c": null, ++ "d": false ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. + //// [out/c.json] + ["a", null, "string"] + //// [out/d.json] +@@= skipped -20, +35 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js index 3ffc0cf0c3..243f9a6d74 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js @@ -15,6 +15,26 @@ if (x) { "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff index ec66905167..f076719c87 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js index e053f51daf..dce6c714a1 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js @@ -15,6 +15,11 @@ if (x) { "b": "hello" } +//// [out/b.json] +({ + "a": true, + "b": "hello" +}) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff index c62a38a5de..9d82a22142 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff @@ -1,14 +1,15 @@ --- old.requireOfJsonFileWithAmd.js +++ new.requireOfJsonFileWithAmd.js -@@= skipped -14, +14 lines =@@ - "b": "hello" +@@= skipped -15, +15 lines =@@ } --//// [out/b.json] + //// [out/b.json] -{ -- "a": true, -- "b": "hello" ++({ + "a": true, + "b": "hello" -} ++}) //// [out/file1.js] -define(["require", "exports", "./b", "./b.json"], function (require, exports, b1, b2) { - "use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js index 0ea44c46d9..86821b8204 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js @@ -13,6 +13,25 @@ if (x) { [a]: 10 } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(3,2): error TS1012: Unexpected token. +out/b.json(4,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + [a]: 10 + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff index 253b294048..86d3cd8068 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff @@ -8,6 +8,25 @@ -{ - [a]: 10 -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(3,2): error TS1012: Unexpected token. ++out/b.json(4,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ [a]: 10 ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js index c7105c1825..2fc20596d6 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js @@ -15,6 +15,26 @@ if (x) { "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff index 9d4216b949..1ca237fbd3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js index cac6e3862e..ab29236b0c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js @@ -12,6 +12,23 @@ if (x) { { } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(1,4): error TS1012: Unexpected token. +out/b.json(2,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({}) + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff index 4cfc8325b6..150d7126bb 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff @@ -6,6 +6,23 @@ -//// [out/b.json] -{} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(1,4): error TS1012: Unexpected token. ++out/b.json(2,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({}) ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js index 4d992bbfde..52a67ccb54 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js @@ -13,6 +13,8 @@ if (x) { { } +//// [out/b.json] +({}) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff index 7793e904dd..4de98d424f 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff @@ -1,11 +1,11 @@ --- old.requireOfJsonFileWithEmptyObjectWithErrors.js +++ new.requireOfJsonFileWithEmptyObjectWithErrors.js -@@= skipped -12, +12 lines =@@ - { +@@= skipped -13, +13 lines =@@ } --//// [out/b.json] + //// [out/b.json] -{} ++({}) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js index 9dffbcbd1c..bf56e461c7 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js @@ -15,6 +15,26 @@ if (x) { "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + 'a': true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff index e0589f9ba3..7c6674be44 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff @@ -9,6 +9,26 @@ - 'a': true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ 'a': true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js index d0d29bdfeb..a6abd25c3f 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff index 4968dee316..4407f09a44 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js index 2a0bf81156..8a6e9506d7 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff index 62a54b4dc2..c645ce23a3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js index 880a564a0b..1100e18d82 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff index ea9f9c4cab..ea176d12bc 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] -define(["require", "exports"], function (require, exports) { - "use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js index 72987e5d5d..e36b38d5b5 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js @@ -9,5 +9,25 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] export {}; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff index 5553e0d7e8..907dbb70b1 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff @@ -9,5 +9,25 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js index aaf94339a0..36b105759d 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js @@ -9,5 +9,25 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] export {}; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff index a63fc14771..6abad8c45e 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff @@ -9,5 +9,25 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js index d8fa176be3..855a110fed 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff index bf0e8a6edc..269a7194ef 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js index f79cda3d88..3b208c17d2 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff index 311d53e904..31844991c2 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] -System.register([], function (exports_1, context_1) { - "use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js index b0efb71d94..1a8d67754f 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff index c4e9286afb..7785557845 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] -(function (factory) { - if (typeof module === "object" && typeof module.exports === "object") { diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js index 70f7907013..2d9b2992f8 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js @@ -9,6 +9,26 @@ import * as b from './b.json'; "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff index edeaa3aa8a..4ebf3f6653 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js index 719ee0b40c..fc62be1bff 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js @@ -12,6 +12,7 @@ if (x) { //// [b.json] +//// [out/b.json] //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff index 63396fbcb4..080ef967b2 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff @@ -1,10 +1,6 @@ --- old.requireOfJsonFileWithNoContent.js +++ new.requireOfJsonFileWithNoContent.js -@@= skipped -11, +11 lines =@@ - //// [b.json] - - --//// [out/b.json] +@@= skipped -15, +15 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js index 6558b86562..fdeeed891c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js @@ -15,6 +15,26 @@ if (x) { "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff index a94fac3f62..fa149b2d19 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js index fa92110dda..8dbf813769 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js @@ -15,6 +15,26 @@ if (x) { "b": "hello", } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff index 8f82ca06a5..8a1344c1b1 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js index e388ff8fa7..700df54355 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js @@ -15,6 +15,26 @@ if (x) { "b": "hello" } +out/b.json(1,1): error TS1005: '{' expected. +out/b.json(1,2): error TS1136: Property assignment expected. +out/b.json(4,2): error TS1012: Unexpected token. +out/b.json(5,1): error TS1005: '}' expected. + + +==== out/b.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff index 8e6d84cf4a..9593792fea 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/b.json(1,1): error TS1005: '{' expected. ++out/b.json(1,2): error TS1136: Property assignment expected. ++out/b.json(4,2): error TS1012: Unexpected token. ++out/b.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/b.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js index 32e62a62a4..78123edd97 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js @@ -9,6 +9,26 @@ import * as test from "./test.json" "b": "hello" } +out/test.json(1,1): error TS1005: '{' expected. +out/test.json(1,2): error TS1136: Property assignment expected. +out/test.json(4,2): error TS1012: Unexpected token. +out/test.json(5,1): error TS1005: '}' expected. + + +==== out/test.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff index 1b50821be6..eb45f20f8c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/test.json(1,1): error TS1005: '{' expected. ++out/test.json(1,2): error TS1136: Property assignment expected. ++out/test.json(4,2): error TS1012: Unexpected token. ++out/test.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/test.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js index 9666a920b9..19e37c46d3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js @@ -15,6 +15,11 @@ if (x) { "b": "hello" } +//// [out/b.json] +({ + "a": true, + "b": "hello" +}) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff index 6dd37976ab..d567e248eb 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff @@ -1,14 +1,15 @@ --- old.requireOfJsonFileWithoutExtension.js +++ new.requireOfJsonFileWithoutExtension.js -@@= skipped -14, +14 lines =@@ - "b": "hello" +@@= skipped -15, +15 lines =@@ } --//// [out/b.json] + //// [out/b.json] -{ -- "a": true, -- "b": "hello" ++({ + "a": true, + "b": "hello" -} ++}) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js index f3bda962af..f923e84209 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js @@ -27,6 +27,26 @@ export = { a: true, b: "hello" }; //// [out/c.js] "use strict"; module.exports = { a: true, b: "hello" }; +out/c.json(1,1): error TS1005: '{' expected. +out/c.json(1,2): error TS1136: Property assignment expected. +out/c.json(4,2): error TS1012: Unexpected token. +out/c.json(5,1): error TS1005: '}' expected. + + +==== out/c.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "a": true, + "b": "hello" + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff index 87c8912fae..55ad7ca81f 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff @@ -9,6 +9,26 @@ - "a": true, - "b": "hello" -} ++out/c.json(1,1): error TS1005: '{' expected. ++out/c.json(1,2): error TS1136: Property assignment expected. ++out/c.json(4,2): error TS1012: Unexpected token. ++out/c.json(5,1): error TS1005: '}' expected. ++ ++ ++==== out/c.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "a": true, ++ "b": "hello" ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js index 6acd4e0f6b..1614b443b3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js @@ -12,6 +12,8 @@ if (x) { //// [b.json] contents Not read +//// [out/b.json] +({ contents, Not, read }) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff index 144f05cf5c..8cb87ab230 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff @@ -1,6 +1,11 @@ --- old.requireOfJsonFileWithoutResolveJsonModule.js +++ new.requireOfJsonFileWithoutResolveJsonModule.js -@@= skipped -14, +14 lines =@@ +@@= skipped -11, +11 lines =@@ + //// [b.json] + contents Not read + ++//// [out/b.json] ++({ contents, Not, read }) //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js index a085eaf616..23eaa7fd42 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js @@ -12,6 +12,29 @@ module.exports = j; } } +out/obj.json(1,1): error TS1005: '{' expected. +out/obj.json(1,2): error TS1136: Property assignment expected. +out/obj.json(7,2): error TS1012: Unexpected token. +out/obj.json(8,1): error TS1005: '}' expected. + + +==== out/obj.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "x": 12, + "y": 12, + "obj": { + "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] + } + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [index.js] const j = require("./obj.json"); export = j; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff index 1776dfd73c..c21f4aef8a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff @@ -12,6 +12,29 @@ - "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] - } -} ++out/obj.json(1,1): error TS1005: '{' expected. ++out/obj.json(1,2): error TS1136: Property assignment expected. ++out/obj.json(7,2): error TS1012: Unexpected token. ++out/obj.json(8,1): error TS1005: '}' expected. ++ ++ ++==== out/obj.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "x": 12, ++ "y": 12, ++ "obj": { ++ "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] ++ } ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [index.js] const j = require("./obj.json"); +export = j; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js index ab138e272a..68e07744c8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js @@ -37,6 +37,53 @@ module.exports = j; } +out/package.json(1,1): error TS1005: '{' expected. +out/package.json(1,2): error TS1136: Property assignment expected. +out/package.json(31,2): error TS1012: Unexpected token. +out/package.json(32,1): error TS1005: '}' expected. + + +==== out/package.json (4 errors) ==== + ({ + ~ +!!! error TS1005: '{' expected. + ~ +!!! error TS1136: Property assignment expected. + "name": "pkg", + "version": "0.1.0", + "description": "A package", + "main": "./dist/index.js", + "bin": { + "cli": "./bin/cli.js" + }, + "engines": { + "node": ">=0" + }, + "scripts": { + "scriptname": "run && run again" + }, + "devDependencies": { + "@ns/dep": "0.1.2" + }, + "dependencies": { + "dep": "1.2.3" + }, + "repository": "microsoft/TypeScript", + "keywords": [ + "kw" + ], + "author": "Auth", + "license": "See Licensce", + "homepage": "https://site", + "config": { + "o": ["a"] + } + }) + ~ +!!! error TS1012: Unexpected token. + + +!!! error TS1005: '}' expected. //// [index.js] const j = require("./package.json"); export = j; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff index 5f87a1783e..9da7d9647b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff @@ -36,6 +36,53 @@ - "o": ["a"] - } -} ++out/package.json(1,1): error TS1005: '{' expected. ++out/package.json(1,2): error TS1136: Property assignment expected. ++out/package.json(31,2): error TS1012: Unexpected token. ++out/package.json(32,1): error TS1005: '}' expected. ++ ++ ++==== out/package.json (4 errors) ==== ++ ({ ++ ~ ++!!! error TS1005: '{' expected. ++ ~ ++!!! error TS1136: Property assignment expected. ++ "name": "pkg", ++ "version": "0.1.0", ++ "description": "A package", ++ "main": "./dist/index.js", ++ "bin": { ++ "cli": "./bin/cli.js" ++ }, ++ "engines": { ++ "node": ">=0" ++ }, ++ "scripts": { ++ "scriptname": "run && run again" ++ }, ++ "devDependencies": { ++ "@ns/dep": "0.1.2" ++ }, ++ "dependencies": { ++ "dep": "1.2.3" ++ }, ++ "repository": "microsoft/TypeScript", ++ "keywords": [ ++ "kw" ++ ], ++ "author": "Auth", ++ "license": "See Licensce", ++ "homepage": "https://site", ++ "config": { ++ "o": ["a"] ++ } ++ }) ++ ~ ++!!! error TS1012: Unexpected token. ++ ++ ++!!! error TS1005: '}' expected. //// [index.js] const j = require("./package.json"); +export = j; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js index 50681cbe98..4efb08d371 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js @@ -26,6 +26,13 @@ export const name2 = ns.default.name; "default": "misedirection" } +//// [package.json] +({ + "name": "pkg", + "version": "0.0.1", + "type": "module", + "default": "misedirection" +}) //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff index e9b25ac944..807a2fb944 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff @@ -1,20 +1,21 @@ --- old.nodeModulesResolveJsonModule(module=node16).js +++ new.nodeModulesResolveJsonModule(module=node16).js -@@= skipped -25, +25 lines =@@ - "default": "misedirection" +@@= skipped -26, +26 lines =@@ } --//// [package.json] + //// [package.json] -{ -- "name": "pkg", -- "version": "0.0.1", -- "type": "module", -- "default": "misedirection" ++({ + "name": "pkg", + "version": "0.0.1", + "type": "module", + "default": "misedirection" -} ++}) //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; -@@= skipped -83, +76 lines =@@ +@@= skipped -82, +82 lines =@@ name: string; version: string; type: string; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js index 87a4cfeb47..70e884b6a1 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js @@ -26,6 +26,13 @@ export const name2 = ns.default.name; "default": "misedirection" } +//// [package.json] +({ + "name": "pkg", + "version": "0.0.1", + "type": "module", + "default": "misedirection" +}) //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff index 3e647c09ed..3d00e35078 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff @@ -1,20 +1,21 @@ --- old.nodeModulesResolveJsonModule(module=node18).js +++ new.nodeModulesResolveJsonModule(module=node18).js -@@= skipped -25, +25 lines =@@ - "default": "misedirection" +@@= skipped -26, +26 lines =@@ } --//// [package.json] + //// [package.json] -{ -- "name": "pkg", -- "version": "0.0.1", -- "type": "module", -- "default": "misedirection" ++({ + "name": "pkg", + "version": "0.0.1", + "type": "module", + "default": "misedirection" -} ++}) //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; -@@= skipped -15, +8 lines =@@ +@@= skipped -14, +14 lines =@@ export const name2 = ns.default.name; //// [index.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js index 50681cbe98..4efb08d371 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js @@ -26,6 +26,13 @@ export const name2 = ns.default.name; "default": "misedirection" } +//// [package.json] +({ + "name": "pkg", + "version": "0.0.1", + "type": "module", + "default": "misedirection" +}) //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff index a7ab3e7431..3466c6fad8 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff @@ -1,20 +1,21 @@ --- old.nodeModulesResolveJsonModule(module=nodenext).js +++ new.nodeModulesResolveJsonModule(module=nodenext).js -@@= skipped -25, +25 lines =@@ - "default": "misedirection" +@@= skipped -26, +26 lines =@@ } --//// [package.json] + //// [package.json] -{ -- "name": "pkg", -- "version": "0.0.1", -- "type": "module", -- "default": "misedirection" ++({ + "name": "pkg", + "version": "0.0.1", + "type": "module", + "default": "misedirection" -} ++}) //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; -@@= skipped -83, +76 lines =@@ +@@= skipped -82, +82 lines =@@ name: string; version: string; type: string; From 7c8937aad3c0b435aacaf2a3d5a3b59b1e559268 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 19 Jun 2025 23:41:08 -0700 Subject: [PATCH 2/3] Hack in JSON fix --- internal/printer/printer.go | 5 +- ...esolveJsonModule_strict_outDir_commonJs.js | 19 +---- ...eJsonModule_strict_outDir_commonJs.js.diff | 28 ------- .../jsonFileImportChecksCallCorrectlyTwice.js | 33 ++------ ...FileImportChecksCallCorrectlyTwice.js.diff | 41 +-------- ...leResolutionWithSuffixes_one_jsonModule.js | 23 +---- ...olutionWithSuffixes_one_jsonModule.js.diff | 31 +------ .../submodule/compiler/requireOfJsonFile.js | 25 ++---- .../compiler/requireOfJsonFile.js.diff | 30 +------ .../compiler/requireOfJsonFileTypes.js | 29 ++----- .../compiler/requireOfJsonFileTypes.js.diff | 38 +-------- ...OfJsonFileWithAlwaysStrictWithoutErrors.js | 25 ++---- ...nFileWithAlwaysStrictWithoutErrors.js.diff | 30 +------ .../compiler/requireOfJsonFileWithAmd.js | 4 +- .../compiler/requireOfJsonFileWithAmd.js.diff | 11 +-- ...quireOfJsonFileWithComputedPropertyName.js | 23 +---- ...OfJsonFileWithComputedPropertyName.js.diff | 28 +------ .../requireOfJsonFileWithDeclaration.js | 25 ++---- .../requireOfJsonFileWithDeclaration.js.diff | 30 +------ .../requireOfJsonFileWithEmptyObject.js | 19 +---- .../requireOfJsonFileWithEmptyObject.js.diff | 24 +----- ...uireOfJsonFileWithEmptyObjectWithErrors.js | 2 +- ...fJsonFileWithEmptyObjectWithErrors.js.diff | 7 +- .../compiler/requireOfJsonFileWithErrors.js | 25 ++---- .../requireOfJsonFileWithErrors.js.diff | 30 +------ .../requireOfJsonFileWithModuleEmitNone.js | 25 ++---- ...equireOfJsonFileWithModuleEmitNone.js.diff | 34 -------- ...equireOfJsonFileWithModuleEmitUndefined.js | 25 ++---- ...eOfJsonFileWithModuleEmitUndefined.js.diff | 34 -------- ...JsonFileWithModuleNodeResolutionEmitAmd.js | 25 ++---- ...ileWithModuleNodeResolutionEmitAmd.js.diff | 28 +------ ...nFileWithModuleNodeResolutionEmitEs2015.js | 25 ++---- ...WithModuleNodeResolutionEmitEs2015.js.diff | 33 -------- ...nFileWithModuleNodeResolutionEmitEsNext.js | 25 ++---- ...WithModuleNodeResolutionEmitEsNext.js.diff | 33 -------- ...sonFileWithModuleNodeResolutionEmitNone.js | 25 ++---- ...leWithModuleNodeResolutionEmitNone.js.diff | 34 -------- ...nFileWithModuleNodeResolutionEmitSystem.js | 25 ++---- ...WithModuleNodeResolutionEmitSystem.js.diff | 28 +------ ...JsonFileWithModuleNodeResolutionEmitUmd.js | 25 ++---- ...ileWithModuleNodeResolutionEmitUmd.js.diff | 28 +------ ...leWithModuleNodeResolutionEmitUndefined.js | 25 ++---- ...hModuleNodeResolutionEmitUndefined.js.diff | 34 -------- .../requireOfJsonFileWithSourceMap.js | 25 ++---- .../requireOfJsonFileWithSourceMap.js.diff | 30 +------ .../requireOfJsonFileWithTraillingComma.js | 25 ++---- ...equireOfJsonFileWithTraillingComma.js.diff | 30 +------ .../requireOfJsonFileWithoutAllowJs.js | 25 ++---- .../requireOfJsonFileWithoutAllowJs.js.diff | 30 +------ ...requireOfJsonFileWithoutEsModuleInterop.js | 25 ++---- ...reOfJsonFileWithoutEsModuleInterop.js.diff | 34 -------- .../requireOfJsonFileWithoutExtension.js | 4 +- .../requireOfJsonFileWithoutExtension.js.diff | 11 +-- ...eOfJsonFileWithoutExtensionResolvesToTs.js | 25 ++---- ...onFileWithoutExtensionResolvesToTs.js.diff | 30 +------ ...quireOfJsonFileWithoutResolveJsonModule.js | 2 +- ...OfJsonFileWithoutResolveJsonModule.js.diff | 2 +- .../conformance/jsDeclarationsJson.js | 31 ++----- .../conformance/jsDeclarationsJson.js.diff | 35 +------- .../conformance/jsDeclarationsPackageJson.js | 79 +++++++----------- .../jsDeclarationsPackageJson.js.diff | 83 +------------------ ...ModulesResolveJsonModule(module=node16).js | 4 +- ...esResolveJsonModule(module=node16).js.diff | 17 +--- ...ModulesResolveJsonModule(module=node18).js | 4 +- ...esResolveJsonModule(module=node18).js.diff | 17 +--- ...dulesResolveJsonModule(module=nodenext).js | 4 +- ...ResolveJsonModule(module=nodenext).js.diff | 17 +--- 67 files changed, 200 insertions(+), 1485 deletions(-) delete mode 100644 testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff diff --git a/internal/printer/printer.go b/internal/printer/printer.go index 2744cfa39b..1c2dc02084 100644 --- a/internal/printer/printer.go +++ b/internal/printer/printer.go @@ -3175,7 +3175,10 @@ func (p *Printer) emitEmptyStatement(node *ast.EmptyStatement, isEmbeddedStateme func (p *Printer) emitExpressionStatement(node *ast.ExpressionStatement) { state := p.enterNode(node.AsNode()) - if isImmediatelyInvokedFunctionExpressionOrArrowFunction(node.Expression) { + if p.currentSourceFile != nil && p.currentSourceFile.ScriptKind == core.ScriptKindJSON { + // !!! In strada, this was handled by an undefined parenthesizerRule, so this is a hack. + p.emitExpression(node.Expression, ast.OperatorPrecedenceComma) + } else if isImmediatelyInvokedFunctionExpressionOrArrowFunction(node.Expression) { // !!! introduce parentheses around callee p.emitExpression(node.Expression, ast.OperatorPrecedenceParentheses) } else { diff --git a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js index 80a916cc0a..1491c33c45 100644 --- a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js +++ b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js @@ -7,23 +7,8 @@ import * as j from "./j.json"; {} -/dist/j.json(1,1): error TS1005: '{' expected. -/dist/j.json(1,2): error TS1136: Property assignment expected. -/dist/j.json(1,4): error TS1012: Unexpected token. -/dist/j.json(2,1): error TS1005: '}' expected. - - -==== /dist/j.json (4 errors) ==== - ({}) - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [j.json] +{} //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff b/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff deleted file mode 100644 index e3d063b922..0000000000 --- a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff +++ /dev/null @@ -1,28 +0,0 @@ ---- old.isolatedModules_resolveJsonModule_strict_outDir_commonJs.js -+++ new.isolatedModules_resolveJsonModule_strict_outDir_commonJs.js -@@= skipped -6, +6 lines =@@ - {} - - --//// [j.json] --{} -+/dist/j.json(1,1): error TS1005: '{' expected. -+/dist/j.json(1,2): error TS1136: Property assignment expected. -+/dist/j.json(1,4): error TS1012: Unexpected token. -+/dist/j.json(2,1): error TS1005: '}' expected. -+ -+ -+==== /dist/j.json (4 errors) ==== -+ ({}) -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [a.js] - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js index d7dc4fb4a1..33a9e439d9 100644 --- a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js +++ b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js @@ -21,30 +21,15 @@ function fn(arg: Foo[]) { } ] } -dist/data.json(1,1): error TS1005: '{' expected. -dist/data.json(1,2): error TS1136: Property assignment expected. -dist/data.json(8,2): error TS1012: Unexpected token. -dist/data.json(9,1): error TS1005: '}' expected. - - -==== dist/data.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "foo": [ - { - "bool": true, - "str": "123" - } - ] - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [data.json] +{ + "foo": [ + { + "bool": true, + "str": "123" + } + ] +} //// [index.js] "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { diff --git a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff index 56baea6c8f..dd8de95162 100644 --- a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff +++ b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff @@ -1,45 +1,6 @@ --- old.jsonFileImportChecksCallCorrectlyTwice.js +++ new.jsonFileImportChecksCallCorrectlyTwice.js -@@= skipped -20, +20 lines =@@ - ] - } - --//// [data.json] --{ -- "foo": [ -- { -- "bool": true, -- "str": "123" -- } -- ] --} -+dist/data.json(1,1): error TS1005: '{' expected. -+dist/data.json(1,2): error TS1136: Property assignment expected. -+dist/data.json(8,2): error TS1012: Unexpected token. -+dist/data.json(9,1): error TS1005: '}' expected. -+ -+ -+==== dist/data.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "foo": [ -+ { -+ "bool": true, -+ "str": "123" -+ } -+ ] -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [index.js] - "use strict"; - var __importDefault = (this && this.__importDefault) || function (mod) { +@@= skipped -35, +35 lines =@@ return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js index 925b6e81d7..a22779d268 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js @@ -13,25 +13,10 @@ import foo from "./foo.json"; console.log(foo.ios); -/bin/foo.ios.json(1,1): error TS1005: '{' expected. -/bin/foo.ios.json(1,2): error TS1136: Property assignment expected. -/bin/foo.ios.json(3,2): error TS1012: Unexpected token. -/bin/foo.ios.json(4,1): error TS1005: '}' expected. - - -==== /bin/foo.ios.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "ios": "platform ios" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [/bin/foo.ios.json] +{ + "ios": "platform ios" +} //// [/bin/index.js] "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff index dbb6577d9c..a468c3ba06 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js.diff @@ -1,35 +1,6 @@ --- old.moduleResolutionWithSuffixes_one_jsonModule.js +++ new.moduleResolutionWithSuffixes_one_jsonModule.js -@@= skipped -12, +12 lines =@@ - import foo from "./foo.json"; - console.log(foo.ios); - --//// [/bin/foo.ios.json] --{ -- "ios": "platform ios" --} -+/bin/foo.ios.json(1,1): error TS1005: '{' expected. -+/bin/foo.ios.json(1,2): error TS1136: Property assignment expected. -+/bin/foo.ios.json(3,2): error TS1012: Unexpected token. -+/bin/foo.ios.json(4,1): error TS1005: '}' expected. -+ -+ -+==== /bin/foo.ios.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "ios": "platform ios" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [/bin/index.js] - "use strict"; - var __importDefault = (this && this.__importDefault) || function (mod) { +@@= skipped -22, +22 lines =@@ return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js index ac244466e7..02e3cbaa71 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js @@ -15,26 +15,11 @@ if (x) { "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff index 03a3d1133a..ddeb666554 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFile.js +++ new.requireOfJsonFile.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js index ca3bbbf54b..125bb181e3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js @@ -45,28 +45,13 @@ booleanLiteral = g[0]; //// [g.json] [true, false] -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(6,2): error TS1012: Unexpected token. -out/b.json(7,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello", - "c": null, - "d": false - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello", + "c": null, + "d": false +} //// [out/c.json] ["a", null, "string"] //// [out/d.json] diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff index e27a97a7e0..3aca303187 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff @@ -1,42 +1,6 @@ --- old.requireOfJsonFileTypes.js +++ new.requireOfJsonFileTypes.js -@@= skipped -44, +44 lines =@@ - //// [g.json] - [true, false] - --//// [out/b.json] --{ -- "a": true, -- "b": "hello", -- "c": null, -- "d": false --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(6,2): error TS1012: Unexpected token. -+out/b.json(7,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello", -+ "c": null, -+ "d": false -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/c.json] - ["a", null, "string"] - //// [out/d.json] -@@= skipped -20, +35 lines =@@ +@@= skipped -64, +64 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js index 243f9a6d74..a80c3ddb58 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js @@ -15,26 +15,11 @@ if (x) { "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [b.json] +{ + "a": true, + "b": "hello" +} //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff index f076719c87..21432485bc 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithAlwaysStrictWithoutErrors.js +++ new.requireOfJsonFileWithAlwaysStrictWithoutErrors.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js index dce6c714a1..8fd9c49531 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js @@ -16,10 +16,10 @@ if (x) { } //// [out/b.json] -({ +{ "a": true, "b": "hello" -}) +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff index 9d82a22142..90490724e9 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff @@ -1,15 +1,8 @@ --- old.requireOfJsonFileWithAmd.js +++ new.requireOfJsonFileWithAmd.js -@@= skipped -15, +15 lines =@@ - } - - //// [out/b.json] --{ -+({ - "a": true, +@@= skipped -20, +20 lines =@@ "b": "hello" --} -+}) + } //// [out/file1.js] -define(["require", "exports", "./b", "./b.json"], function (require, exports, b1, b2) { - "use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js index 86821b8204..cb2f6147df 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js @@ -13,25 +13,10 @@ if (x) { [a]: 10 } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(3,2): error TS1012: Unexpected token. -out/b.json(4,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - [a]: 10 - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [b.json] +{ + [a]: 10 +} //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff index 86d3cd8068..771a575fc2 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff @@ -1,32 +1,6 @@ --- old.requireOfJsonFileWithComputedPropertyName.js +++ new.requireOfJsonFileWithComputedPropertyName.js -@@= skipped -12, +12 lines =@@ - [a]: 10 - } - --//// [b.json] --{ -- [a]: 10 --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(3,2): error TS1012: Unexpected token. -+out/b.json(4,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ [a]: 10 -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -19, +19 lines =@@ //// [file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js index 2fc20596d6..f477036583 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js @@ -15,26 +15,11 @@ if (x) { "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff index 1ca237fbd3..0966ed7a03 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithDeclaration.js +++ new.requireOfJsonFileWithDeclaration.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js index ab29236b0c..c238dc492d 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js @@ -12,23 +12,8 @@ if (x) { { } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(1,4): error TS1012: Unexpected token. -out/b.json(2,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({}) - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff index 150d7126bb..81f700ec24 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff @@ -1,28 +1,6 @@ --- old.requireOfJsonFileWithEmptyObject.js +++ new.requireOfJsonFileWithEmptyObject.js -@@= skipped -11, +11 lines =@@ - { - } - --//// [out/b.json] --{} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(1,4): error TS1012: Unexpected token. -+out/b.json(2,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({}) -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -16, +16 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js index 52a67ccb54..25ccf73650 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js @@ -14,7 +14,7 @@ if (x) { } //// [out/b.json] -({}) +{} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff index 4de98d424f..ee67f30174 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff @@ -1,11 +1,6 @@ --- old.requireOfJsonFileWithEmptyObjectWithErrors.js +++ new.requireOfJsonFileWithEmptyObjectWithErrors.js -@@= skipped -13, +13 lines =@@ - } - - //// [out/b.json] --{} -+({}) +@@= skipped -17, +17 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js index bf56e461c7..d7bdb1fdeb 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js @@ -15,26 +15,11 @@ if (x) { "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - 'a': true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + 'a': true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff index 7c6674be44..37cc45a7ac 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithErrors.js +++ new.requireOfJsonFileWithErrors.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- 'a': true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ 'a': true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js index a6abd25c3f..f99ccbf6a5 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff deleted file mode 100644 index 4407f09a44..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff +++ /dev/null @@ -1,34 +0,0 @@ ---- old.requireOfJsonFileWithModuleEmitNone.js -+++ new.requireOfJsonFileWithModuleEmitNone.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js index 8a6e9506d7..26266baf0c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff deleted file mode 100644 index c645ce23a3..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff +++ /dev/null @@ -1,34 +0,0 @@ ---- old.requireOfJsonFileWithModuleEmitUndefined.js -+++ new.requireOfJsonFileWithModuleEmitUndefined.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js index 1100e18d82..3ffccdd75c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff index ea176d12bc..51e2308683 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff @@ -1,34 +1,8 @@ --- old.requireOfJsonFileWithModuleNodeResolutionEmitAmd.js +++ new.requireOfJsonFileWithModuleNodeResolutionEmitAmd.js -@@= skipped -8, +8 lines =@@ +@@= skipped -14, +14 lines =@@ "b": "hello" } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. //// [out/file1.js] -define(["require", "exports"], function (require, exports) { - "use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js index e36b38d5b5..60bb84c2b3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js @@ -9,25 +9,10 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] export {}; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff deleted file mode 100644 index 907dbb70b1..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js index 36b105759d..2f37693eed 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js @@ -9,25 +9,10 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] export {}; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff deleted file mode 100644 index 6abad8c45e..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js index 855a110fed..897a14fb51 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff deleted file mode 100644 index 269a7194ef..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff +++ /dev/null @@ -1,34 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitNone.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitNone.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js index 3b208c17d2..2374e3a3eb 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff index 31844991c2..68db60d41b 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff @@ -1,34 +1,8 @@ --- old.requireOfJsonFileWithModuleNodeResolutionEmitSystem.js +++ new.requireOfJsonFileWithModuleNodeResolutionEmitSystem.js -@@= skipped -8, +8 lines =@@ +@@= skipped -14, +14 lines =@@ "b": "hello" } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. //// [out/file1.js] -System.register([], function (exports_1, context_1) { - "use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js index 1a8d67754f..5d4aefac27 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff index 7785557845..83cf041e18 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff @@ -1,34 +1,8 @@ --- old.requireOfJsonFileWithModuleNodeResolutionEmitUmd.js +++ new.requireOfJsonFileWithModuleNodeResolutionEmitUmd.js -@@= skipped -8, +8 lines =@@ +@@= skipped -14, +14 lines =@@ "b": "hello" } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. //// [out/file1.js] -(function (factory) { - if (typeof module === "object" && typeof module.exports === "object") { diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js index 2d9b2992f8..4943fbca64 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js @@ -9,26 +9,11 @@ import * as b from './b.json'; "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff deleted file mode 100644 index 4ebf3f6653..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff +++ /dev/null @@ -1,34 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js index fdeeed891c..5810cf1af9 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js @@ -15,26 +15,11 @@ if (x) { "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff index fa149b2d19..4d53f90af5 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithSourceMap.js +++ new.requireOfJsonFileWithSourceMap.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js index 8dbf813769..e5ae0b4a00 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js @@ -15,26 +15,11 @@ if (x) { "b": "hello", } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff index 8a1344c1b1..35b340849d 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithTraillingComma.js +++ new.requireOfJsonFileWithTraillingComma.js -@@= skipped -14, +14 lines =@@ - "b": "hello", - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js index 700df54355..49a20c74fd 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js @@ -15,26 +15,11 @@ if (x) { "b": "hello" } -out/b.json(1,1): error TS1005: '{' expected. -out/b.json(1,2): error TS1136: Property assignment expected. -out/b.json(4,2): error TS1012: Unexpected token. -out/b.json(5,1): error TS1005: '}' expected. - - -==== out/b.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/b.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff index 9593792fea..164deacf68 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithoutAllowJs.js +++ new.requireOfJsonFileWithoutAllowJs.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} -+out/b.json(1,1): error TS1005: '{' expected. -+out/b.json(1,2): error TS1136: Property assignment expected. -+out/b.json(4,2): error TS1012: Unexpected token. -+out/b.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/b.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js index 78123edd97..ea5ac25b1b 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js @@ -9,26 +9,11 @@ import * as test from "./test.json" "b": "hello" } -out/test.json(1,1): error TS1005: '{' expected. -out/test.json(1,2): error TS1136: Property assignment expected. -out/test.json(4,2): error TS1012: Unexpected token. -out/test.json(5,1): error TS1005: '}' expected. - - -==== out/test.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/test.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff deleted file mode 100644 index eb45f20f8c..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff +++ /dev/null @@ -1,34 +0,0 @@ ---- old.requireOfJsonFileWithoutEsModuleInterop.js -+++ new.requireOfJsonFileWithoutEsModuleInterop.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/test.json] --{ -- "a": true, -- "b": "hello" --} -+out/test.json(1,1): error TS1005: '{' expected. -+out/test.json(1,2): error TS1136: Property assignment expected. -+out/test.json(4,2): error TS1012: Unexpected token. -+out/test.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/test.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. - //// [out/file1.js] - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js index 19e37c46d3..a580bb1f89 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js @@ -16,10 +16,10 @@ if (x) { } //// [out/b.json] -({ +{ "a": true, "b": "hello" -}) +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff index d567e248eb..5d72e26298 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff @@ -1,15 +1,6 @@ --- old.requireOfJsonFileWithoutExtension.js +++ new.requireOfJsonFileWithoutExtension.js -@@= skipped -15, +15 lines =@@ - } - - //// [out/b.json] --{ -+({ - "a": true, - "b": "hello" --} -+}) +@@= skipped -22, +22 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js index f923e84209..567553cf14 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js @@ -27,26 +27,11 @@ export = { a: true, b: "hello" }; //// [out/c.js] "use strict"; module.exports = { a: true, b: "hello" }; -out/c.json(1,1): error TS1005: '{' expected. -out/c.json(1,2): error TS1136: Property assignment expected. -out/c.json(4,2): error TS1012: Unexpected token. -out/c.json(5,1): error TS1005: '}' expected. - - -==== out/c.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "a": true, - "b": "hello" - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [out/c.json] +{ + "a": true, + "b": "hello" +} //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff index 55ad7ca81f..1435ba9384 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff @@ -1,34 +1,6 @@ --- old.requireOfJsonFileWithoutExtensionResolvesToTs.js +++ new.requireOfJsonFileWithoutExtensionResolvesToTs.js -@@= skipped -26, +26 lines =@@ - //// [out/c.js] - "use strict"; - module.exports = { a: true, b: "hello" }; --//// [out/c.json] --{ -- "a": true, -- "b": "hello" --} -+out/c.json(1,1): error TS1005: '{' expected. -+out/c.json(1,2): error TS1136: Property assignment expected. -+out/c.json(4,2): error TS1012: Unexpected token. -+out/c.json(5,1): error TS1005: '}' expected. -+ -+ -+==== out/c.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "a": true, -+ "b": "hello" -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. +@@= skipped -34, +34 lines =@@ //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js index 1614b443b3..16f3cba5be 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js @@ -13,7 +13,7 @@ if (x) { contents Not read //// [out/b.json] -({ contents, Not, read }) +{ contents, Not, read } //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff index 8cb87ab230..8663a3403b 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff @@ -5,7 +5,7 @@ contents Not read +//// [out/b.json] -+({ contents, Not, read }) ++{ contents, Not, read } //// [out/file1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js index 23eaa7fd42..3605ea78b3 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js @@ -12,29 +12,14 @@ module.exports = j; } } -out/obj.json(1,1): error TS1005: '{' expected. -out/obj.json(1,2): error TS1136: Property assignment expected. -out/obj.json(7,2): error TS1012: Unexpected token. -out/obj.json(8,1): error TS1005: '}' expected. - - -==== out/obj.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "x": 12, - "y": 12, - "obj": { - "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] - } - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [obj.json] +{ + "x": 12, + "y": 12, + "obj": { + "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] + } +} //// [index.js] const j = require("./obj.json"); export = j; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff index c21f4aef8a..04cc8ac34b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff @@ -1,40 +1,7 @@ --- old.jsDeclarationsJson.js +++ new.jsDeclarationsJson.js -@@= skipped -11, +11 lines =@@ - } +@@= skipped -21, +21 lines =@@ } - --//// [obj.json] --{ -- "x": 12, -- "y": 12, -- "obj": { -- "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] -- } --} -+out/obj.json(1,1): error TS1005: '{' expected. -+out/obj.json(1,2): error TS1136: Property assignment expected. -+out/obj.json(7,2): error TS1012: Unexpected token. -+out/obj.json(8,1): error TS1005: '}' expected. -+ -+ -+==== out/obj.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "x": 12, -+ "y": 12, -+ "obj": { -+ "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] -+ } -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. //// [index.js] const j = require("./obj.json"); +export = j; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js index 68e07744c8..327dcac8ff 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js @@ -37,53 +37,38 @@ module.exports = j; } -out/package.json(1,1): error TS1005: '{' expected. -out/package.json(1,2): error TS1136: Property assignment expected. -out/package.json(31,2): error TS1012: Unexpected token. -out/package.json(32,1): error TS1005: '}' expected. - - -==== out/package.json (4 errors) ==== - ({ - ~ -!!! error TS1005: '{' expected. - ~ -!!! error TS1136: Property assignment expected. - "name": "pkg", - "version": "0.1.0", - "description": "A package", - "main": "./dist/index.js", - "bin": { - "cli": "./bin/cli.js" - }, - "engines": { - "node": ">=0" - }, - "scripts": { - "scriptname": "run && run again" - }, - "devDependencies": { - "@ns/dep": "0.1.2" - }, - "dependencies": { - "dep": "1.2.3" - }, - "repository": "microsoft/TypeScript", - "keywords": [ - "kw" - ], - "author": "Auth", - "license": "See Licensce", - "homepage": "https://site", - "config": { - "o": ["a"] - } - }) - ~ -!!! error TS1012: Unexpected token. - - -!!! error TS1005: '}' expected. +//// [package.json] +{ + "name": "pkg", + "version": "0.1.0", + "description": "A package", + "main": "./dist/index.js", + "bin": { + "cli": "./bin/cli.js" + }, + "engines": { + "node": ">=0" + }, + "scripts": { + "scriptname": "run && run again" + }, + "devDependencies": { + "@ns/dep": "0.1.2" + }, + "dependencies": { + "dep": "1.2.3" + }, + "repository": "microsoft/TypeScript", + "keywords": [ + "kw" + ], + "author": "Auth", + "license": "See Licensce", + "homepage": "https://site", + "config": { + "o": ["a"] + } +} //// [index.js] const j = require("./package.json"); export = j; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff index 9da7d9647b..d56451e7a8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff @@ -1,88 +1,7 @@ --- old.jsDeclarationsPackageJson.js +++ new.jsDeclarationsPackageJson.js -@@= skipped -36, +36 lines =@@ +@@= skipped -70, +70 lines =@@ } - - --//// [package.json] --{ -- "name": "pkg", -- "version": "0.1.0", -- "description": "A package", -- "main": "./dist/index.js", -- "bin": { -- "cli": "./bin/cli.js" -- }, -- "engines": { -- "node": ">=0" -- }, -- "scripts": { -- "scriptname": "run && run again" -- }, -- "devDependencies": { -- "@ns/dep": "0.1.2" -- }, -- "dependencies": { -- "dep": "1.2.3" -- }, -- "repository": "microsoft/TypeScript", -- "keywords": [ -- "kw" -- ], -- "author": "Auth", -- "license": "See Licensce", -- "homepage": "https://site", -- "config": { -- "o": ["a"] -- } --} -+out/package.json(1,1): error TS1005: '{' expected. -+out/package.json(1,2): error TS1136: Property assignment expected. -+out/package.json(31,2): error TS1012: Unexpected token. -+out/package.json(32,1): error TS1005: '}' expected. -+ -+ -+==== out/package.json (4 errors) ==== -+ ({ -+ ~ -+!!! error TS1005: '{' expected. -+ ~ -+!!! error TS1136: Property assignment expected. -+ "name": "pkg", -+ "version": "0.1.0", -+ "description": "A package", -+ "main": "./dist/index.js", -+ "bin": { -+ "cli": "./bin/cli.js" -+ }, -+ "engines": { -+ "node": ">=0" -+ }, -+ "scripts": { -+ "scriptname": "run && run again" -+ }, -+ "devDependencies": { -+ "@ns/dep": "0.1.2" -+ }, -+ "dependencies": { -+ "dep": "1.2.3" -+ }, -+ "repository": "microsoft/TypeScript", -+ "keywords": [ -+ "kw" -+ ], -+ "author": "Auth", -+ "license": "See Licensce", -+ "homepage": "https://site", -+ "config": { -+ "o": ["a"] -+ } -+ }) -+ ~ -+!!! error TS1012: Unexpected token. -+ -+ -+!!! error TS1005: '}' expected. //// [index.js] const j = require("./package.json"); +export = j; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js index 4efb08d371..f310acacc7 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js @@ -27,12 +27,12 @@ export const name2 = ns.default.name; } //// [package.json] -({ +{ "name": "pkg", "version": "0.0.1", "type": "module", "default": "misedirection" -}) +} //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff index 807a2fb944..e549926d35 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node16).js.diff @@ -1,21 +1,6 @@ --- old.nodeModulesResolveJsonModule(module=node16).js +++ new.nodeModulesResolveJsonModule(module=node16).js -@@= skipped -26, +26 lines =@@ - } - - //// [package.json] --{ -+({ - "name": "pkg", - "version": "0.0.1", - "type": "module", - "default": "misedirection" --} -+}) - //// [index.js] - import pkg from "./package.json" with { type: "json" }; - export const name = pkg.name; -@@= skipped -82, +82 lines =@@ +@@= skipped -108, +108 lines =@@ name: string; version: string; type: string; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js index 70e884b6a1..7b856c56e4 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js @@ -27,12 +27,12 @@ export const name2 = ns.default.name; } //// [package.json] -({ +{ "name": "pkg", "version": "0.0.1", "type": "module", "default": "misedirection" -}) +} //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff index 3d00e35078..d4bae8dd80 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=node18).js.diff @@ -1,21 +1,6 @@ --- old.nodeModulesResolveJsonModule(module=node18).js +++ new.nodeModulesResolveJsonModule(module=node18).js -@@= skipped -26, +26 lines =@@ - } - - //// [package.json] --{ -+({ - "name": "pkg", - "version": "0.0.1", - "type": "module", - "default": "misedirection" --} -+}) - //// [index.js] - import pkg from "./package.json" with { type: "json" }; - export const name = pkg.name; -@@= skipped -14, +14 lines =@@ +@@= skipped -40, +40 lines =@@ export const name2 = ns.default.name; //// [index.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js index 4efb08d371..f310acacc7 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js @@ -27,12 +27,12 @@ export const name2 = ns.default.name; } //// [package.json] -({ +{ "name": "pkg", "version": "0.0.1", "type": "module", "default": "misedirection" -}) +} //// [index.js] import pkg from "./package.json" with { type: "json" }; export const name = pkg.name; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff index 3466c6fad8..a2eb6240f1 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesResolveJsonModule(module=nodenext).js.diff @@ -1,21 +1,6 @@ --- old.nodeModulesResolveJsonModule(module=nodenext).js +++ new.nodeModulesResolveJsonModule(module=nodenext).js -@@= skipped -26, +26 lines =@@ - } - - //// [package.json] --{ -+({ - "name": "pkg", - "version": "0.0.1", - "type": "module", - "default": "misedirection" --} -+}) - //// [index.js] - import pkg from "./package.json" with { type: "json" }; - export const name = pkg.name; -@@= skipped -82, +82 lines =@@ +@@= skipped -108, +108 lines =@@ name: string; version: string; type: string; From 75023e3f45d981e9644986302963756630a9fa5c Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 20 Jun 2025 11:13:36 -0700 Subject: [PATCH 3/3] Fix missing case --- internal/compiler/emitter.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/compiler/emitter.go b/internal/compiler/emitter.go index fec9b18704..0e2ad07f68 100644 --- a/internal/compiler/emitter.go +++ b/internal/compiler/emitter.go @@ -340,6 +340,11 @@ func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host SourceFileMayBeEmit return true } + // Json file is not emitted if outDir is not specified + if options.OutDir == "" { + return false + } + // Otherwise if rootDir or composite config file, we know common sourceDir and can check if file would be emitted in same location if options.RootDir != "" || (options.Composite.IsTrue() && options.ConfigFilePath != "") { commonDir := tspath.GetNormalizedAbsolutePath(outputpaths.GetCommonSourceDirectory(options, func() []string { return nil }, host.GetCurrentDirectory(), host.UseCaseSensitiveFileNames()), host.GetCurrentDirectory())