diff --git a/internal/compiler/emitter.go b/internal/compiler/emitter.go index a01185fea7..0e2ad07f68 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,24 @@ func sourceFileMayBeEmitted(sourceFile *ast.SourceFile, host printer.EmitHost, f return true } - // !!! Should JSON input files be emitted - return false + // 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()) + 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/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 3809b01ff4..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,6 +7,8 @@ import * as j from "./j.json"; {} +//// [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 d0cdd52659..0000000000 --- a/testdata/baselines/reference/submodule/compiler/isolatedModules_resolveJsonModule_strict_outDir_commonJs.js.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- old.isolatedModules_resolveJsonModule_strict_outDir_commonJs.js -+++ new.isolatedModules_resolveJsonModule_strict_outDir_commonJs.js -@@= skipped -6, +6 lines =@@ - {} - - --//// [j.json] --{} - //// [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..33a9e439d9 100644 --- a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js +++ b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js @@ -21,6 +21,15 @@ function fn(arg: Foo[]) { } ] } +//// [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 f485ab950b..dd8de95162 100644 --- a/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff +++ b/testdata/baselines/reference/submodule/compiler/jsonFileImportChecksCallCorrectlyTwice.js.diff @@ -1,21 +1,6 @@ --- old.jsonFileImportChecksCallCorrectlyTwice.js +++ new.jsonFileImportChecksCallCorrectlyTwice.js -@@= skipped -20, +20 lines =@@ - ] - } - --//// [data.json] --{ -- "foo": [ -- { -- "bool": true, -- "str": "123" -- } -- ] --} - //// [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 6dee33c81f..a22779d268 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsonModule.js @@ -13,6 +13,10 @@ import foo from "./foo.json"; console.log(foo.ios); +//// [/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 b6a7718aed..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,16 +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/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 6150d5a791..02e3cbaa71 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.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/requireOfJsonFile.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff index e5933c989d..ddeb666554 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFile.js +++ new.requireOfJsonFile.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [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/requireOfJsonFileTypes.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js index 492f338fc4..125bb181e3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js @@ -45,6 +45,23 @@ booleanLiteral = g[0]; //// [g.json] [true, false] +//// [out/b.json] +{ + "a": true, + "b": "hello", + "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/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..3aca303187 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff @@ -1,26 +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/c.json] --["a", null, "string"] --//// [out/d.json] --"dConfig" --//// [out/e.json] ---10 --//// [out/f.json] --[-10, 30] --//// [out/g.json] --[true, false] +@@= 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 3ffc0cf0c3..a80c3ddb58 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js @@ -15,6 +15,11 @@ if (x) { "b": "hello" } +//// [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 ec66905167..21432485bc 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithAlwaysStrictWithoutErrors.js +++ new.requireOfJsonFileWithAlwaysStrictWithoutErrors.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [b.json] --{ -- "a": true, -- "b": "hello" --} +@@= 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 e053f51daf..8fd9c49531 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..90490724e9 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff @@ -1,14 +1,8 @@ --- old.requireOfJsonFileWithAmd.js +++ new.requireOfJsonFileWithAmd.js -@@= skipped -14, +14 lines =@@ +@@= skipped -20, +20 lines =@@ "b": "hello" } - --//// [out/b.json] --{ -- "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..cb2f6147df 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js @@ -13,6 +13,10 @@ if (x) { [a]: 10 } +//// [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 253b294048..771a575fc2 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithComputedPropertyName.js.diff @@ -1,13 +1,6 @@ --- old.requireOfJsonFileWithComputedPropertyName.js +++ new.requireOfJsonFileWithComputedPropertyName.js -@@= skipped -12, +12 lines =@@ - [a]: 10 - } - --//// [b.json] --{ -- [a]: 10 --} +@@= 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 c7105c1825..f477036583 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.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/requireOfJsonFileWithDeclaration.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff index 9d4216b949..0966ed7a03 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithDeclaration.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithDeclaration.js +++ new.requireOfJsonFileWithDeclaration.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [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/requireOfJsonFileWithEmptyObject.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js index cac6e3862e..c238dc492d 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js @@ -12,6 +12,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/requireOfJsonFileWithEmptyObject.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff index 4cfc8325b6..81f700ec24 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff @@ -1,11 +1,6 @@ --- old.requireOfJsonFileWithEmptyObject.js +++ new.requireOfJsonFileWithEmptyObject.js -@@= skipped -11, +11 lines =@@ - { - } - --//// [out/b.json] --{} +@@= 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 4d992bbfde..25ccf73650 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..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 -12, +12 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 9dffbcbd1c..d7bdb1fdeb 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.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/requireOfJsonFileWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff index e0589f9ba3..37cc45a7ac 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithErrors.js +++ new.requireOfJsonFileWithErrors.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [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/requireOfJsonFileWithModuleEmitNone.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js index d0d29bdfeb..f99ccbf6a5 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleEmitNone.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff deleted file mode 100644 index 4968dee316..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitNone.js.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.requireOfJsonFileWithModuleEmitNone.js -+++ new.requireOfJsonFileWithModuleEmitNone.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..26266baf0c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleEmitUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff deleted file mode 100644 index 62a54b4dc2..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleEmitUndefined.js.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.requireOfJsonFileWithModuleEmitUndefined.js -+++ new.requireOfJsonFileWithModuleEmitUndefined.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..3ffccdd75c 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff index ea9f9c4cab..51e2308683 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitAmd.js.diff @@ -1,14 +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/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..60bb84c2b3 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js @@ -9,5 +9,10 @@ import * as b from './b.json'; "b": "hello" } +//// [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 5553e0d7e8..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitEs2015.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..2f37693eed 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js @@ -9,5 +9,10 @@ import * as b from './b.json'; "b": "hello" } +//// [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 a63fc14771..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitEsNext.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..897a14fb51 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff deleted file mode 100644 index bf0e8a6edc..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitNone.js.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitNone.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitNone.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..2374e3a3eb 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff index 311d53e904..68db60d41b 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitSystem.js.diff @@ -1,14 +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/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..5d4aefac27 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff index c4e9286afb..83cf041e18 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUmd.js.diff @@ -1,14 +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/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..4943fbca64 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js @@ -9,6 +9,11 @@ import * as b from './b.json'; "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/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff deleted file mode 100644 index edeaa3aa8a..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js -+++ new.requireOfJsonFileWithModuleNodeResolutionEmitUndefined.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/b.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..5810cf1af9 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.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/requireOfJsonFileWithSourceMap.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff index a94fac3f62..4d53f90af5 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithSourceMap.js +++ new.requireOfJsonFileWithSourceMap.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [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/requireOfJsonFileWithTraillingComma.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js index fa92110dda..e5ae0b4a00 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.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/requireOfJsonFileWithTraillingComma.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff index 8f82ca06a5..35b340849d 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithTraillingComma.js +++ new.requireOfJsonFileWithTraillingComma.js -@@= skipped -14, +14 lines =@@ - "b": "hello", - } - --//// [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/requireOfJsonFileWithoutAllowJs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js index e388ff8fa7..49a20c74fd 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.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/requireOfJsonFileWithoutAllowJs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff index 8e6d84cf4a..164deacf68 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutAllowJs.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithoutAllowJs.js +++ new.requireOfJsonFileWithoutAllowJs.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [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/requireOfJsonFileWithoutEsModuleInterop.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js index 32e62a62a4..ea5ac25b1b 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js @@ -9,6 +9,11 @@ import * as test from "./test.json" "b": "hello" } +//// [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 1b50821be6..0000000000 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutEsModuleInterop.js.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.requireOfJsonFileWithoutEsModuleInterop.js -+++ new.requireOfJsonFileWithoutEsModuleInterop.js -@@= skipped -8, +8 lines =@@ - "b": "hello" - } - --//// [out/test.json] --{ -- "a": true, -- "b": "hello" --} - //// [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..a580bb1f89 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..5d72e26298 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff @@ -1,14 +1,6 @@ --- old.requireOfJsonFileWithoutExtension.js +++ new.requireOfJsonFileWithoutExtension.js -@@= skipped -14, +14 lines =@@ - "b": "hello" - } - --//// [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 f3bda962af..567553cf14 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js @@ -27,6 +27,11 @@ export = { a: true, b: "hello" }; //// [out/c.js] "use strict"; module.exports = { a: true, b: "hello" }; +//// [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 87c8912fae..1435ba9384 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff @@ -1,14 +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" --} +@@= 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 6acd4e0f6b..16f3cba5be 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..8663a3403b 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..3605ea78b3 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js @@ -12,6 +12,14 @@ module.exports = j; } } +//// [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 1776dfd73c..04cc8ac34b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff @@ -1,17 +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 }] -- } --} //// [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..327dcac8ff 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js @@ -37,6 +37,38 @@ module.exports = j; } +//// [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 5f87a1783e..d56451e7a8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff @@ -1,41 +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"] -- } --} //// [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..f310acacc7 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..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,20 +1,6 @@ --- old.nodeModulesResolveJsonModule(module=node16).js +++ new.nodeModulesResolveJsonModule(module=node16).js -@@= skipped -25, +25 lines =@@ - "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; -@@= skipped -83, +76 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 87a4cfeb47..7b856c56e4 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..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,20 +1,6 @@ --- old.nodeModulesResolveJsonModule(module=node18).js +++ new.nodeModulesResolveJsonModule(module=node18).js -@@= skipped -25, +25 lines =@@ - "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; -@@= skipped -15, +8 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 50681cbe98..f310acacc7 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..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,20 +1,6 @@ --- old.nodeModulesResolveJsonModule(module=nodenext).js +++ new.nodeModulesResolveJsonModule(module=nodenext).js -@@= skipped -25, +25 lines =@@ - "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; -@@= skipped -83, +76 lines =@@ +@@= skipped -108, +108 lines =@@ name: string; version: string; type: string;