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);

================================================================================
TestTsConfigExtendsDotDotWithSlash
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.ts
console.log(123n);

================================================================================
TestTsConfigExtendsDotWithSlash
---------- /Users/user/project/out/main.js ----------
// Users/user/project/src/main.ts
console.log(123n);

================================================================================
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)));

================================================================================
TestTsConfigModuleSuffixesInsert
---------- /Users/user/project/out.js ----------
// Users/user/project/src/foo.a.ts
console.log("foo.a");

// Users/user/project/src/bar.a.ts
console.log("bar.a");

// Users/user/project/src/baz.a.ts
console.log("baz.a");

================================================================================
TestTsConfigModuleSuffixesNoInsert
---------- /Users/user/project/out.js ----------
// Users/user/project/src/foo.b.ts
console.log("foo.b");

// Users/user/project/src/bar.ts
console.log("bar");

// Users/user/project/src/baz.b.ts
console.log("baz.b");

================================================================================
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);

================================================================================
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));

================================================================================
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));

================================================================================
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;
})();

================================================================================
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);

================================================================================
TestTsconfigTarget
---------- /Users/user/project/out.js ----------
// Users/user/project/src/es2018/index.ts
var x = { ...y };
try {
  y;
} catch (e) {
}
x == null ? void 0 : x.y();

// Users/user/project/src/es2019/index.ts
var x2 = { ...y };
try {
  y;
} catch {
}
x2 == null ? void 0 : x2.y();

// Users/user/project/src/es2020/index.ts
var x3 = { ...y };
try {
  y;
} catch {
}
x3?.y();

================================================================================
TestTsconfigTargetIgnored
---------- /Users/user/project/out.js ----------
// Users/user/project/src/entry.ts
x = 123n;

================================================================================
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 ----------
