TestJsconfigJsonBaseUrl
---------- /Users/user/project/out.js ----------
// Users/user/project/src/lib/util.js
var require_util = __commonJS({
  "Users/user/project/src/lib/util.js"(exports, module) {
    module.exports = function() {
      return 123;
    };
  }
});

// Users/user/project/src/app/entry.js
var import_util = __toESM(require_util());
console.log((0, import_util.default)());

================================================================================
TestTsConfigAlwaysStrictTrueEmitDirectiveBundleCJS
---------- /Users/user/project/out/implicit.js ----------
"use strict";

// Users/user/project/src/implicit.ts
console.log('this file should start with "use strict"');

---------- /Users/user/project/out/explicit.js ----------
"use strict";

// Users/user/project/src/explicit.ts
console.log('this file should start with "use strict"');

================================================================================
TestTsConfigAlwaysStrictTrueEmitDirectiveBundleESM
---------- /Users/user/project/out/implicit.js ----------
// Users/user/project/src/implicit.ts
console.log('this file should not start with "use strict"');

---------- /Users/user/project/out/explicit.js ----------
// Users/user/project/src/explicit.ts
console.log('this file should not start with "use strict"');

================================================================================
TestTsConfigAlwaysStrictTrueEmitDirectiveBundleIIFE
---------- /Users/user/project/out/implicit.js ----------
"use strict";
(() => {
  // Users/user/project/src/implicit.ts
  console.log('this file should start with "use strict"');
})();

---------- /Users/user/project/out/explicit.js ----------
"use strict";
(() => {
  // Users/user/project/src/explicit.ts
  console.log('this file should start with "use strict"');
})();

================================================================================
TestTsConfigAlwaysStrictTrueEmitDirectiveFormat
---------- /Users/user/project/out/implicit.js ----------
"use strict";
console.log('this file should start with "use strict"');

---------- /Users/user/project/out/explicit.js ----------
"use strict";
console.log('this file should start with "use strict"');

================================================================================
TestTsConfigAlwaysStrictTrueEmitDirectivePassThrough
---------- /Users/user/project/out/implicit.js ----------
"use strict";
console.log('this file should start with "use strict"');

---------- /Users/user/project/out/explicit.js ----------
"use strict";
console.log('this file should start with "use strict"');

================================================================================
TestTsConfigBaseURLExtendsPaths
---------- /Users/user/project/out.js ----------
// Users/user/project/lib/foo.ts
var foo = 123;

// Users/user/project/src/entry.ts
console.log(foo);

================================================================================
TestTsConfigExtendsArray
---------- /Users/user/project/out/main.js ----------
console.log(/* @__PURE__ */ h(frag, null, /* @__PURE__ */ h("div", null)));

================================================================================
TestTsConfigExtendsArrayNested
---------- /Users/user/project/out/main.js ----------
import { foo } from "foo";
export class Foo {
  constructor() {
    this.render = () => /* @__PURE__ */ b(bBase, null, /* @__PURE__ */ b("div", null));
  }
}

================================================================================
TestTsConfigExtendsDotDotWithSlash
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ React.createElement("div", null));

================================================================================
TestTsConfigExtendsDotDotWithoutSlash
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ success("div", null));

================================================================================
TestTsConfigExtendsDotWithSlash
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ React.createElement("div", null));

================================================================================
TestTsConfigExtendsDotWithoutSlash
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ success("div", null));

================================================================================
TestTsConfigExtendsWithExports
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ success("div", null));

================================================================================
TestTsConfigExtendsWithExportsRequire
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ success("div", null));

================================================================================
TestTsConfigExtendsWithExportsStar
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ success("div", null));

================================================================================
TestTsConfigExtendsWithExportsStarTrailing
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.tsx
console.log(/* @__PURE__ */ success("div", null));

================================================================================
TestTsConfigIgnoreInsideNodeModules
---------- /Users/user/project/out/main.js ----------
// Users/user/project/node_modules/pkg/index.js
var foo = "foo";
var bar = "bar";

// Users/user/project/node_modules/js-pkg/index.js
var foo2 = foo;

// Users/user/project/node_modules/ts-pkg/index.ts
var bar2 = bar;

// Users/user/project/shim.ts
var foo3 = "shimFoo";
var bar3 = "shimBar";

// Users/user/project/src/main.ts
if (foo2 !== "foo")
  throw "fail: foo";
if (bar2 !== "bar")
  throw "fail: bar";
if (foo3 !== "shimFoo")
  throw "fail: shimFoo";
if (bar3 !== "shimBar")
  throw "fail: shimBar";

================================================================================
TestTsConfigJSX
---------- /Users/user/project/out.js ----------
// Users/user/project/entry.tsx
console.log(/* @__PURE__ */ R.c(R.F, null, /* @__PURE__ */ R.c("div", null), /* @__PURE__ */ R.c("div", null)));

================================================================================
TestTsConfigNestedJSX
---------- /Users/user/project/out.js ----------
// Users/user/project/factory/index.tsx
var factory_default = /* @__PURE__ */ h(React.Fragment, null, /* @__PURE__ */ h("div", null), /* @__PURE__ */ h("div", null));

// Users/user/project/fragment/index.tsx
var fragment_default = /* @__PURE__ */ React.createElement(a.b, null, /* @__PURE__ */ React.createElement("div", null), /* @__PURE__ */ React.createElement("div", null));

// Users/user/project/both/index.tsx
var both_default = /* @__PURE__ */ R.c(R.F, null, /* @__PURE__ */ R.c("div", null), /* @__PURE__ */ R.c("div", null));

// Users/user/project/entry.ts
console.log(factory_default, fragment_default, both_default);

================================================================================
TestTsConfigPaths
---------- /Users/user/project/out.js ----------
// Users/user/project/baseurl_dot/test0-success.ts
var test0_success_default = "test0-success";

// Users/user/project/baseurl_dot/test1-success.ts
var test1_success_default = "test1-success";

// Users/user/project/baseurl_dot/test2-success/foo.ts
var foo_default = "test2-success";

// Users/user/project/baseurl_dot/test3-success.ts
var test3_success_default = "test3-success";

// Users/user/project/baseurl_dot/test4-first/foo.ts
var foo_default2 = "test4-success";

// Users/user/project/baseurl_dot/test5-second/foo.ts
var foo_default3 = "test5-success";

// Users/user/project/baseurl_dot/actual/test.ts
var test_default = "absolute-success";

// Users/user/project/baseurl_dot/index.ts
var baseurl_dot_default = {
  test0: test0_success_default,
  test1: test1_success_default,
  test2: foo_default,
  test3: test3_success_default,
  test4: foo_default2,
  test5: foo_default3,
  absoluteIn: test_default,
  absoluteInStar: test_default,
  absoluteOut: test_default,
  absoluteOutStar: test_default
};

// Users/user/project/baseurl_nested/nested/test0-success.ts
var test0_success_default2 = "test0-success";

// Users/user/project/baseurl_nested/nested/test1-success.ts
var test1_success_default2 = "test1-success";

// Users/user/project/baseurl_nested/nested/test2-success/foo.ts
var foo_default4 = "test2-success";

// Users/user/project/baseurl_nested/nested/test3-success.ts
var test3_success_default2 = "test3-success";

// Users/user/project/baseurl_nested/nested/test4-first/foo.ts
var foo_default5 = "test4-success";

// Users/user/project/baseurl_nested/nested/test5-second/foo.ts
var foo_default6 = "test5-success";

// Users/user/project/baseurl_nested/nested/actual/test.ts
var test_default2 = "absolute-success";

// Users/user/project/baseurl_nested/index.ts
var baseurl_nested_default = {
  test0: test0_success_default2,
  test1: test1_success_default2,
  test2: foo_default4,
  test3: test3_success_default2,
  test4: foo_default5,
  test5: foo_default6,
  absoluteIn: test_default2,
  absoluteInStar: test_default2,
  absoluteOut: test_default2,
  absoluteOutStar: test_default2
};

// Users/user/project/entry.ts
console.log(baseurl_dot_default, baseurl_nested_default);

================================================================================
TestTsConfigPathsExtendsBaseURL
---------- /Users/user/project/out.js ----------
// Users/user/project/base/test/lib/foo.ts
var foo = 123;

// Users/user/project/src/entry.ts
console.log(foo);

================================================================================
TestTsConfigPathsInNodeModulesIssue2386
---------- /Users/user/project/out.js ----------
// Users/user/project/node_modules/wow/dist/first.js
var first_default = "dist";

// Users/user/project/node_modules/wow/dist/next.js
var next_default = first_default;

// Users/user/project/main.js
console.log(first_default, next_default);

================================================================================
TestTsConfigPathsNoBaseURL
---------- /Users/user/project/out.js ----------
// Users/user/project/simple/test0-success.ts
var test0_success_default = "test0-success";

// Users/user/project/simple/test1-success.ts
var test1_success_default = "test1-success";

// Users/user/project/simple/test2-success/foo.ts
var foo_default = "test2-success";

// Users/user/project/simple/test3-success.ts
var test3_success_default = "test3-success";

// Users/user/project/simple/test4-first/foo.ts
var foo_default2 = "test4-success";

// Users/user/project/simple/test5-second/foo.ts
var foo_default3 = "test5-success";

// Users/user/project/simple/actual/test.ts
var test_default = "absolute-success";

// Users/user/project/simple/index.ts
var simple_default = {
  test0: test0_success_default,
  test1: test1_success_default,
  test2: foo_default,
  test3: test3_success_default,
  test4: foo_default2,
  test5: foo_default3,
  absolute: test_default
};

// Users/user/project/extended/nested/test0-success.ts
var test0_success_default2 = "test0-success";

// Users/user/project/extended/nested/test1-success.ts
var test1_success_default2 = "test1-success";

// Users/user/project/extended/nested/test2-success/foo.ts
var foo_default4 = "test2-success";

// Users/user/project/extended/nested/test3-success.ts
var test3_success_default2 = "test3-success";

// Users/user/project/extended/nested/test4-first/foo.ts
var foo_default5 = "test4-success";

// Users/user/project/extended/nested/test5-second/foo.ts
var foo_default6 = "test5-success";

// Users/user/project/extended/nested/actual/test.ts
var test_default2 = "absolute-success";

// Users/user/project/extended/index.ts
var extended_default = {
  test0: test0_success_default2,
  test1: test1_success_default2,
  test2: foo_default4,
  test3: test3_success_default2,
  test4: foo_default5,
  test5: foo_default6,
  absolute: test_default2
};

// Users/user/project/entry.ts
console.log(simple_default, extended_default);

================================================================================
TestTsConfigPathsOverriddenBaseURL
---------- /Users/user/project/out.js ----------
// Users/user/project/src/test.ts
var test_default = 123;

// Users/user/project/src/entry.ts
console.log(test_default);

================================================================================
TestTsConfigPathsOverriddenBaseURLDifferentDir
---------- /Users/user/project/out.js ----------
// Users/user/project/src/test.ts
var test_default = 123;

// Users/user/project/src/entry.ts
console.log(test_default);

================================================================================
TestTsConfigPathsTypeOnly
---------- /Users/user/project/out.js ----------
// Users/user/project/node_modules/fib/index.js
function fib(input) {
  if (input < 2) {
    return input;
  }
  return fib(input - 1) + fib(input - 2);
}

// Users/user/project/entry.ts
console.log(fib(10));

================================================================================
TestTsConfigPreserveJSX
---------- /Users/user/project/out.js ----------
// Users/user/project/entry.tsx
console.log(/* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", null), /* @__PURE__ */ React.createElement("div", null)));

================================================================================
TestTsConfigPreserveJSXAutomatic
---------- /Users/user/project/out.js ----------
// Users/user/project/entry.tsx
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
console.log(/* @__PURE__ */ jsxs(Fragment, { children: [
  /* @__PURE__ */ jsx("div", {}),
  /* @__PURE__ */ jsx("div", {})
] }));

================================================================================
TestTsConfigReactJSX
---------- /Users/user/project/out.js ----------
// Users/user/project/entry.tsx
import { Fragment, jsx, jsxs } from "notreact/jsx-runtime";
console.log(/* @__PURE__ */ jsxs(Fragment, { children: [
  /* @__PURE__ */ jsx("div", {}),
  /* @__PURE__ */ jsx("div", {})
] }));

================================================================================
TestTsConfigReactJSXDev
---------- /Users/user/project/out.js ----------
// Users/user/project/entry.tsx
import { Fragment, jsxDEV } from "react/jsx-dev-runtime";
console.log(/* @__PURE__ */ jsxDEV(Fragment, { children: [
  /* @__PURE__ */ jsxDEV("div", {}, void 0, false, {
    fileName: "Users/user/project/entry.tsx",
    lineNumber: 2,
    columnNumber: 19
  }, this),
  /* @__PURE__ */ jsxDEV("div", {}, void 0, false, {
    fileName: "Users/user/project/entry.tsx",
    lineNumber: 2,
    columnNumber: 25
  }, this)
] }, void 0, true, {
  fileName: "Users/user/project/entry.tsx",
  lineNumber: 2,
  columnNumber: 17
}, this));

================================================================================
TestTsConfigReactJSXWithDevInMainConfig
---------- /Users/user/project/out.js ----------
// Users/user/project/entry.tsx
import { Fragment, jsxDEV } from "react/jsx-dev-runtime";
console.log(/* @__PURE__ */ jsxDEV(Fragment, { children: [
  /* @__PURE__ */ jsxDEV("div", {}, void 0, false, {
    fileName: "Users/user/project/entry.tsx",
    lineNumber: 2,
    columnNumber: 19
  }, this),
  /* @__PURE__ */ jsxDEV("div", {}, void 0, false, {
    fileName: "Users/user/project/entry.tsx",
    lineNumber: 2,
    columnNumber: 25
  }, this)
] }, void 0, true, {
  fileName: "Users/user/project/entry.tsx",
  lineNumber: 2,
  columnNumber: 17
}, this));

================================================================================
TestTsConfigVerbatimModuleSyntaxFalse
---------- /Users/user/project/out/main.js ----------
export { Car } from "./car";

================================================================================
TestTsConfigVerbatimModuleSyntaxTrue
---------- /Users/user/project/out/main.js ----------
export { Car } from "./car";
import {} from "./car";
export {} from "./car";
import { b } from "bcd";
import {} from "xyz";

================================================================================
TestTsConfigWithStatementAlwaysStrictFalse
---------- /Users/user/project/out.js ----------
(() => {
  // Users/user/project/src/entry.ts
  with (x)
    y;
})();

================================================================================
TestTsConfigWithStatementStrictFalse
---------- /Users/user/project/out.js ----------
(() => {
  // Users/user/project/src/entry.ts
  with (x)
    y;
})();

================================================================================
TestTsConfigWithStatementStrictTrueAlwaysStrictFalse
---------- /Users/user/project/out.js ----------
(() => {
  // Users/user/project/src/entry.ts
  with (x)
    y;
})();

================================================================================
TestTsconfigIgnoredTargetSilent
---------- /Users/user/project/out.js ----------

================================================================================
TestTsconfigIgnoredTargetWarning
---------- /Users/user/project/out.js ----------

================================================================================
TestTsconfigImportsNotUsedAsValuesPreserve
---------- /Users/user/project/out.js ----------
import "./foo";
import "./foo";
import "./foo";
console.log(1, 2, 3);

================================================================================
TestTsconfigJsonAbsoluteBaseUrl
---------- /Users/user/project/out.js ----------
// Users/user/project/src/lib/util.js
var require_util = __commonJS({
  "Users/user/project/src/lib/util.js"(exports, module) {
    module.exports = function() {
      return 123;
    };
  }
});

// Users/user/project/src/app/entry.js
var import_util = __toESM(require_util());
console.log((0, import_util.default)());

================================================================================
TestTsconfigJsonBaseUrl
---------- /Users/user/project/out.js ----------
// Users/user/project/src/lib/util.js
var require_util = __commonJS({
  "Users/user/project/src/lib/util.js"(exports, module) {
    module.exports = function() {
      return 123;
    };
  }
});

// Users/user/project/src/app/entry.js
var import_util = __toESM(require_util());
console.log((0, import_util.default)());

================================================================================
TestTsconfigJsonCommentAllowed
---------- /Users/user/project/out.js ----------
// Users/user/project/src/lib/util.js
var require_util = __commonJS({
  "Users/user/project/src/lib/util.js"(exports, module) {
    module.exports = function() {
      return 123;
    };
  }
});

// Users/user/project/src/app/entry.js
var import_util = __toESM(require_util());
console.log((0, import_util.default)());

================================================================================
TestTsconfigJsonExtends
---------- /out.js ----------
// entry.jsx
console.log(/* @__PURE__ */ baseFactory("div", null), /* @__PURE__ */ baseFactory(derivedFragment, null));

================================================================================
TestTsconfigJsonExtendsAbsolute
---------- /out.js ----------
// Users/user/project/entry.jsx
console.log(/* @__PURE__ */ baseFactory("div", null), /* @__PURE__ */ baseFactory(derivedFragment, null));

================================================================================
TestTsconfigJsonExtendsLoop
---------- /out.js ----------
// entry.js
console.log(123);

================================================================================
TestTsconfigJsonExtendsPackage
---------- /Users/user/project/out.js ----------
// Users/user/project/src/app/entry.jsx
console.log(/* @__PURE__ */ worked("div", null));

================================================================================
TestTsconfigJsonExtendsThreeLevels
---------- /out.js ----------
// Users/user/project/src/path2/works/import.js
console.log("works");

// Users/user/project/src/entry.jsx
console.log(/* @__PURE__ */ baseFactory("div", null), /* @__PURE__ */ baseFactory(derivedFragment, null));

================================================================================
TestTsconfigJsonInsideNodeModules
---------- /Users/user/project/out.js ----------
// Users/user/project/src/node_modules/foo/index.tsx
console.log(/* @__PURE__ */ React.createElement("div", null));

================================================================================
TestTsconfigJsonNodeModulesImplicitFile
---------- /Users/user/project/out.js ----------
// Users/user/project/src/app/entry.tsx
console.log(/* @__PURE__ */ worked("div", null));

================================================================================
TestTsconfigJsonOverrideMissing
---------- /Users/user/project/out.js ----------
// Users/user/project/other/foo-good.ts
console.log("good");

================================================================================
TestTsconfigJsonOverrideNodeModules
---------- /Users/user/project/out.js ----------
// Users/user/project/other/foo-good.ts
console.log("good");

================================================================================
TestTsconfigJsonTrailingCommaAllowed
---------- /Users/user/project/out.js ----------
// Users/user/project/src/lib/util.js
var require_util = __commonJS({
  "Users/user/project/src/lib/util.js"(exports, module) {
    module.exports = function() {
      return 123;
    };
  }
});

// Users/user/project/src/app/entry.js
var import_util = __toESM(require_util());
console.log((0, import_util.default)());

================================================================================
TestTsconfigPreserveUnusedImports
---------- /Users/user/project/out.js ----------
// Users/user/project/src/entry.ts
import "./src/foo";
console.log(1);

================================================================================
TestTsconfigPreserveValueImports
---------- /Users/user/project/out.js ----------
import { b1 } from "b";
import { c1 } from "c";
import { d1, d2 } from "d";
import f1 from "f";
import g1, { g2 } from "g";
import h1 from "h";
import * as i1 from "i";
import "j";

================================================================================
TestTsconfigPreserveValueImportsAndImportsNotUsedAsValuesPreserve
---------- /Users/user/project/out.js ----------
import {} from "a";
import { b1 } from "b";
import { c1 } from "c";
import { d1, d2 } from "d";
import {} from "e";
import f1, {} from "f";
import g1, { g2 } from "g";
import h1, {} from "h";
import * as i1 from "i";
import "j";

================================================================================
TestTsconfigRemoveUnusedImports
---------- /Users/user/project/out.js ----------
// Users/user/project/src/entry.ts
console.log(1);

================================================================================
TestTsconfigUnrecognizedTargetWarning
---------- /Users/user/project/out.js ----------

================================================================================
TestTsconfigUseDefineForClassFieldsES2020
---------- /Users/user/project/out.js ----------
// Users/user/project/src/entry.ts
Foo = class {
  constructor() {
    this.useDefine = false;
  }
};

================================================================================
TestTsconfigUseDefineForClassFieldsESNext
---------- /Users/user/project/out.js ----------
// Users/user/project/src/entry.ts
Foo = class {
  useDefine = true;
};

================================================================================
TestTsconfigWarningsInsideNodeModules
---------- /Users/user/project/out.js ----------
