typeorm 0.2.42-dev.90a8deb → 0.2.42-dev.92c3e79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/README.md +38 -0
  2. package/browser/common/RelationType.d.ts +14 -0
  3. package/browser/common/RelationType.js +3 -0
  4. package/browser/common/RelationType.js.map +1 -0
  5. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  6. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  7. package/browser/connection/Connection.d.ts +5 -1
  8. package/browser/connection/Connection.js +46 -30
  9. package/browser/connection/Connection.js.map +1 -1
  10. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  11. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  12. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  13. package/browser/connection/ConnectionOptionsReader.js +33 -28
  14. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  15. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  16. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  17. package/browser/decorator/Unique.d.ts +5 -4
  18. package/browser/decorator/Unique.js +7 -3
  19. package/browser/decorator/Unique.js.map +1 -1
  20. package/browser/decorator/options/RelationOptions.d.ts +1 -1
  21. package/browser/decorator/options/RelationOptions.js.map +1 -1
  22. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  23. package/browser/decorator/options/UniqueOptions.js +3 -0
  24. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  25. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  26. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  27. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  28. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  29. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  30. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  31. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  32. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  33. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  34. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  35. package/browser/driver/postgres/PostgresQueryRunner.js +12 -5
  36. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  37. package/browser/driver/sap/SapQueryRunner.js +1 -1
  38. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  39. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  40. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  41. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  42. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  43. package/browser/entity-manager/MongoEntityManager.js +2 -1
  44. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  45. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  46. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  47. package/browser/entity-schema/EntitySchemaTransformer.js +2 -1
  48. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  49. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  50. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  51. package/browser/find-options/FindOneOptions.d.ts +6 -0
  52. package/browser/find-options/FindOneOptions.js.map +1 -1
  53. package/browser/find-options/FindOptionsUtils.js +4 -0
  54. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  55. package/browser/find-options/operator/Like.d.ts +1 -1
  56. package/browser/find-options/operator/Like.js +1 -1
  57. package/browser/find-options/operator/Like.js.map +1 -1
  58. package/browser/globals.js +34 -7
  59. package/browser/globals.js.map +1 -1
  60. package/browser/index.d.ts +2 -0
  61. package/browser/index.js +2 -0
  62. package/browser/index.js.map +1 -1
  63. package/browser/metadata/RelationMetadata.d.ts +1 -1
  64. package/browser/metadata/RelationMetadata.js.map +1 -1
  65. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  66. package/browser/metadata/UniqueMetadata.js +1 -0
  67. package/browser/metadata/UniqueMetadata.js.map +1 -1
  68. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  69. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  70. package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
  71. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  72. package/browser/migration/MigrationExecutor.js +1 -1
  73. package/browser/migration/MigrationExecutor.js.map +1 -1
  74. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  75. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  76. package/browser/query-builder/DeleteQueryBuilder.d.ts +3 -1
  77. package/browser/query-builder/DeleteQueryBuilder.js +3 -1
  78. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  79. package/browser/query-builder/NotBrackets.d.ts +7 -0
  80. package/browser/query-builder/NotBrackets.js +16 -0
  81. package/browser/query-builder/NotBrackets.js.map +1 -0
  82. package/browser/query-builder/QueryBuilder.d.ts +2 -1
  83. package/browser/query-builder/QueryBuilder.js +2 -1
  84. package/browser/query-builder/QueryBuilder.js.map +1 -1
  85. package/browser/query-builder/RelationLoader.js +11 -6
  86. package/browser/query-builder/RelationLoader.js.map +1 -1
  87. package/browser/query-builder/UpdateQueryBuilder.d.ts +3 -1
  88. package/browser/query-builder/UpdateQueryBuilder.js +10 -5
  89. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  90. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  91. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  92. package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
  93. package/browser/query-runner/BaseQueryRunner.js +3 -3
  94. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  95. package/browser/repository/TreeRepository.js +1 -1
  96. package/browser/repository/TreeRepository.js.map +1 -1
  97. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  98. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  99. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  100. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  101. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  102. package/browser/schema-builder/table/TableUnique.js +5 -2
  103. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  104. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  105. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  106. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  107. package/browser/util/ImportUtils.d.ts +1 -0
  108. package/browser/util/ImportUtils.js +90 -0
  109. package/browser/util/ImportUtils.js.map +1 -0
  110. package/commands/CommandUtils.d.ts +4 -0
  111. package/commands/CommandUtils.js +10 -0
  112. package/commands/CommandUtils.js.map +1 -1
  113. package/commands/InitCommand.d.ts +9 -7
  114. package/commands/InitCommand.js +72 -43
  115. package/commands/InitCommand.js.map +1 -1
  116. package/commands/MigrationCreateCommand.d.ts +2 -0
  117. package/commands/MigrationCreateCommand.js +7 -1
  118. package/commands/MigrationCreateCommand.js.map +1 -1
  119. package/commands/MigrationGenerateCommand.d.ts +2 -0
  120. package/commands/MigrationGenerateCommand.js +7 -1
  121. package/commands/MigrationGenerateCommand.js.map +1 -1
  122. package/common/RelationType.d.ts +14 -0
  123. package/common/RelationType.js +4 -0
  124. package/common/RelationType.js.map +1 -0
  125. package/connection/BaseConnectionOptions.d.ts +5 -0
  126. package/connection/BaseConnectionOptions.js.map +1 -1
  127. package/connection/Connection.d.ts +5 -1
  128. package/connection/Connection.js +46 -30
  129. package/connection/Connection.js.map +1 -1
  130. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  131. package/connection/ConnectionMetadataBuilder.js +53 -21
  132. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  133. package/connection/ConnectionOptionsReader.js +32 -27
  134. package/connection/ConnectionOptionsReader.js.map +1 -1
  135. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  136. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  137. package/decorator/Unique.d.ts +5 -4
  138. package/decorator/Unique.js +7 -3
  139. package/decorator/Unique.js.map +1 -1
  140. package/decorator/options/RelationOptions.d.ts +1 -1
  141. package/decorator/options/RelationOptions.js.map +1 -1
  142. package/decorator/options/UniqueOptions.d.ts +10 -0
  143. package/decorator/options/UniqueOptions.js +4 -0
  144. package/decorator/options/UniqueOptions.js.map +1 -0
  145. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  146. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  147. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  148. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  149. package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  150. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  151. package/driver/mysql/MysqlQueryRunner.js +1 -1
  152. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  153. package/driver/oracle/OracleQueryRunner.js +1 -1
  154. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  155. package/driver/postgres/PostgresQueryRunner.js +12 -5
  156. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  157. package/driver/sap/SapQueryRunner.js +1 -1
  158. package/driver/sap/SapQueryRunner.js.map +1 -1
  159. package/driver/sqlite/SqliteDriver.js +11 -10
  160. package/driver/sqlite/SqliteDriver.js.map +1 -1
  161. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  162. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  163. package/entity-manager/MongoEntityManager.js +2 -1
  164. package/entity-manager/MongoEntityManager.js.map +1 -1
  165. package/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  166. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  167. package/entity-schema/EntitySchemaTransformer.js +2 -1
  168. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  169. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  170. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  171. package/find-options/FindOneOptions.d.ts +6 -0
  172. package/find-options/FindOneOptions.js.map +1 -1
  173. package/find-options/FindOptionsUtils.js +4 -0
  174. package/find-options/FindOptionsUtils.js.map +1 -1
  175. package/find-options/operator/Like.d.ts +1 -1
  176. package/find-options/operator/Like.js +1 -1
  177. package/find-options/operator/Like.js.map +1 -1
  178. package/globals.js +33 -6
  179. package/globals.js.map +1 -1
  180. package/index.d.ts +2 -0
  181. package/index.js +4 -1
  182. package/index.js.map +1 -1
  183. package/index.mjs +352 -0
  184. package/metadata/RelationMetadata.d.ts +1 -1
  185. package/metadata/RelationMetadata.js.map +1 -1
  186. package/metadata/UniqueMetadata.d.ts +5 -0
  187. package/metadata/UniqueMetadata.js +1 -0
  188. package/metadata/UniqueMetadata.js.map +1 -1
  189. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  190. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  191. package/metadata-builder/EntityMetadataValidator.js +1 -0
  192. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  193. package/migration/MigrationExecutor.js +1 -1
  194. package/migration/MigrationExecutor.js.map +1 -1
  195. package/package.json +1 -1
  196. package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  197. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  198. package/query-builder/DeleteQueryBuilder.d.ts +3 -1
  199. package/query-builder/DeleteQueryBuilder.js +3 -1
  200. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  201. package/query-builder/NotBrackets.d.ts +7 -0
  202. package/query-builder/NotBrackets.js +19 -0
  203. package/query-builder/NotBrackets.js.map +1 -0
  204. package/query-builder/QueryBuilder.d.ts +2 -1
  205. package/query-builder/QueryBuilder.js +2 -1
  206. package/query-builder/QueryBuilder.js.map +1 -1
  207. package/query-builder/RelationLoader.js +11 -6
  208. package/query-builder/RelationLoader.js.map +1 -1
  209. package/query-builder/UpdateQueryBuilder.d.ts +3 -1
  210. package/query-builder/UpdateQueryBuilder.js +10 -5
  211. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  212. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  213. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  214. package/query-runner/BaseQueryRunner.d.ts +2 -2
  215. package/query-runner/BaseQueryRunner.js +3 -3
  216. package/query-runner/BaseQueryRunner.js.map +1 -1
  217. package/repository/TreeRepository.js +1 -1
  218. package/repository/TreeRepository.js.map +1 -1
  219. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  220. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  221. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  222. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  223. package/schema-builder/table/TableUnique.d.ts +5 -0
  224. package/schema-builder/table/TableUnique.js +5 -2
  225. package/schema-builder/table/TableUnique.js.map +1 -1
  226. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  227. package/util/DirectoryExportedClassesLoader.js +54 -31
  228. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  229. package/util/ImportUtils.d.ts +1 -0
  230. package/util/ImportUtils.js +94 -0
  231. package/util/ImportUtils.js.map +1 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.importOrRequireFile = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var fs_1 = (0, tslib_1.__importDefault)(require("fs"));
6
+ var path_1 = (0, tslib_1.__importDefault)(require("path"));
7
+ function importOrRequireFile(filePath) {
8
+ var _a;
9
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
10
+ var tryToImport, tryToRequire, extension, packageJson, isModule;
11
+ var _this = this;
12
+ return (0, tslib_1.__generator)(this, function (_b) {
13
+ switch (_b.label) {
14
+ case 0:
15
+ tryToImport = function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
16
+ return (0, tslib_1.__generator)(this, function (_a) {
17
+ switch (_a.label) {
18
+ case 0: return [4 /*yield*/, Function("return filePath => import(filePath)")()(filePath)];
19
+ case 1:
20
+ // `Function` is required to make sure the `import` statement wil stay `import` after
21
+ // transpilation and won't be converted to `require`
22
+ return [2 /*return*/, [_a.sent(), "esm"]];
23
+ }
24
+ });
25
+ }); };
26
+ tryToRequire = function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
27
+ return (0, tslib_1.__generator)(this, function (_a) {
28
+ return [2 /*return*/, [require(filePath), "commonjs"]];
29
+ });
30
+ }); };
31
+ extension = filePath.substring(filePath.lastIndexOf(".") + ".".length);
32
+ if (!(extension === "mjs" || extension === "mts")) return [3 /*break*/, 1];
33
+ return [2 /*return*/, tryToImport()];
34
+ case 1:
35
+ if (!(extension === "cjs" || extension === "cts")) return [3 /*break*/, 2];
36
+ return [2 /*return*/, tryToRequire()];
37
+ case 2:
38
+ if (!(extension === "js" || extension === "ts")) return [3 /*break*/, 4];
39
+ return [4 /*yield*/, getNearestPackageJson(filePath)];
40
+ case 3:
41
+ packageJson = _b.sent();
42
+ if (packageJson != null) {
43
+ isModule = ((_a = packageJson) === null || _a === void 0 ? void 0 : _a.type) === "module";
44
+ if (isModule)
45
+ return [2 /*return*/, tryToImport()];
46
+ else
47
+ return [2 /*return*/, tryToRequire()];
48
+ }
49
+ else
50
+ return [2 /*return*/, tryToRequire()];
51
+ _b.label = 4;
52
+ case 4: return [2 /*return*/, tryToRequire()];
53
+ }
54
+ });
55
+ });
56
+ }
57
+ exports.importOrRequireFile = importOrRequireFile;
58
+ function getNearestPackageJson(filePath) {
59
+ return new Promise(function (accept) {
60
+ var currentPath = filePath;
61
+ function searchPackageJson() {
62
+ var nextPath = path_1.default.dirname(currentPath);
63
+ if (currentPath === nextPath) // the top of the file tree is reached
64
+ accept(null);
65
+ else {
66
+ currentPath = nextPath;
67
+ var potentialPackageJson_1 = path_1.default.join(currentPath, "package.json");
68
+ fs_1.default.stat(potentialPackageJson_1, function (err, stats) {
69
+ if (err != null)
70
+ searchPackageJson();
71
+ else if (stats.isFile()) {
72
+ fs_1.default.readFile(potentialPackageJson_1, "utf8", function (err, data) {
73
+ if (err != null)
74
+ accept(null);
75
+ else {
76
+ try {
77
+ accept(JSON.parse(data));
78
+ }
79
+ catch (err) {
80
+ accept(null);
81
+ }
82
+ }
83
+ });
84
+ }
85
+ else
86
+ searchPackageJson();
87
+ });
88
+ }
89
+ }
90
+ searchPackageJson();
91
+ });
92
+ }
93
+
94
+ //# sourceMappingURL=ImportUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/ImportUtils.ts"],"names":[],"mappings":";;;;AAAA,uDAAoB;AACpB,2DAAwB;AAExB,SAAsB,mBAAmB,CAAC,QAAgB;;;;;;;;oBAChD,WAAW,GAAG;;;wCAGR,qBAAM,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAA;;gCAFzE,qFAAqF;gCACrF,oDAAoD;gCACpD,uBAAQ,SAAiE,EAAE,KAAK,GAAE;;;yBACrF,CAAC;oBACI,YAAY,GAAG;;4BACjB,sBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,EAAC;;yBAC1C,CAAC;oBAEI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;yBAEzE,CAAA,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,CAAA,EAA1C,wBAA0C;oBAC1C,sBAAO,WAAW,EAAE,EAAC;;yBAChB,CAAA,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,CAAA,EAA1C,wBAA0C;oBAC/C,sBAAO,YAAY,EAAE,EAAC;;yBACjB,CAAA,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAA,EAAxC,wBAAwC;oBACzB,qBAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAA;;oBAAnD,WAAW,GAAG,SAAqC;oBAEzD,IAAI,WAAW,IAAI,IAAI,EAAE;wBACf,QAAQ,GAAG,CAAA,MAAC,WAAmB,0CAAE,IAAI,MAAK,QAAQ,CAAC;wBAEzD,IAAI,QAAQ;4BACR,sBAAO,WAAW,EAAE,EAAC;;4BAErB,sBAAO,YAAY,EAAE,EAAC;qBAC7B;;wBACG,sBAAO,YAAY,EAAE,EAAC;;wBAG9B,sBAAO,YAAY,EAAE,EAAC;;;;CACzB;AA/BD,kDA+BC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC3C,OAAO,IAAI,OAAO,CAAC,UAAC,MAAM;QACtB,IAAI,WAAW,GAAG,QAAQ,CAAC;QAE3B,SAAS,iBAAiB;YACtB,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE3C,IAAI,WAAW,KAAK,QAAQ,EAAE,sCAAsC;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC;iBACZ;gBACD,WAAW,GAAG,QAAQ,CAAC;gBACvB,IAAM,sBAAoB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAEpE,YAAE,CAAC,IAAI,CAAC,sBAAoB,EAAE,UAAC,GAAG,EAAE,KAAK;oBACrC,IAAI,GAAG,IAAI,IAAI;wBACX,iBAAiB,EAAE,CAAC;yBACnB,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;wBACrB,YAAE,CAAC,QAAQ,CAAC,sBAAoB,EAAE,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI;4BAChD,IAAI,GAAG,IAAI,IAAI;gCACX,MAAM,CAAC,IAAI,CAAC,CAAC;iCACZ;gCACD,IAAI;oCACA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;iCAC5B;gCAAC,OAAO,GAAG,EAAE;oCACV,MAAM,CAAC,IAAI,CAAC,CAAC;iCAChB;6BACJ;wBACL,CAAC,CAAC,CAAC;qBACN;;wBACG,iBAAiB,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACN;QACL,CAAC;QAED,iBAAiB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC","file":"ImportUtils.js","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\n\nexport async function importOrRequireFile(filePath: string): Promise<[result: any, moduleType: \"esm\" | \"commonjs\"]> {\n const tryToImport = async (): Promise<[any, \"esm\"]> => {\n // `Function` is required to make sure the `import` statement wil stay `import` after\n // transpilation and won't be converted to `require`\n return [await Function(\"return filePath => import(filePath)\")()(filePath), \"esm\"];\n };\n const tryToRequire = async (): Promise<[any, \"commonjs\"]> => {\n return [require(filePath), \"commonjs\"];\n };\n\n const extension = filePath.substring(filePath.lastIndexOf(\".\") + \".\".length);\n\n if (extension === \"mjs\" || extension === \"mts\")\n return tryToImport();\n else if (extension === \"cjs\" || extension === \"cts\")\n return tryToRequire();\n else if (extension === \"js\" || extension === \"ts\") {\n const packageJson = await getNearestPackageJson(filePath);\n\n if (packageJson != null) {\n const isModule = (packageJson as any)?.type === \"module\";\n\n if (isModule)\n return tryToImport();\n else\n return tryToRequire();\n } else\n return tryToRequire();\n }\n\n return tryToRequire();\n}\n\nfunction getNearestPackageJson(filePath: string): Promise<object | null> {\n return new Promise((accept) => {\n let currentPath = filePath;\n\n function searchPackageJson() {\n const nextPath = path.dirname(currentPath);\n\n if (currentPath === nextPath) // the top of the file tree is reached\n accept(null);\n else {\n currentPath = nextPath;\n const potentialPackageJson = path.join(currentPath, \"package.json\");\n\n fs.stat(potentialPackageJson, (err, stats) => {\n if (err != null)\n searchPackageJson();\n else if (stats.isFile()) {\n fs.readFile(potentialPackageJson, \"utf8\", (err, data) => {\n if (err != null)\n accept(null);\n else {\n try {\n accept(JSON.parse(data));\n } catch (err) {\n accept(null);\n }\n }\n });\n } else\n searchPackageJson();\n });\n }\n }\n\n searchPackageJson();\n });\n}\n"],"sourceRoot":".."}