typeorm 0.2.42-dev.bd22dc3 → 0.2.42-dev.cbb61eb

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 (251) hide show
  1. package/README.md +38 -0
  2. package/browser/cache/RedisQueryResultCache.js +40 -35
  3. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  4. package/browser/common/RelationType.d.ts +14 -0
  5. package/browser/common/RelationType.js +3 -0
  6. package/browser/common/RelationType.js.map +1 -0
  7. package/browser/connection/Connection.d.ts +3 -3
  8. package/browser/connection/Connection.js +46 -31
  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/decorator/Unique.d.ts +5 -4
  16. package/browser/decorator/Unique.js +7 -3
  17. package/browser/decorator/Unique.js.map +1 -1
  18. package/browser/decorator/options/RelationOptions.d.ts +1 -1
  19. package/browser/decorator/options/RelationOptions.js.map +1 -1
  20. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  21. package/browser/decorator/options/UniqueOptions.js +3 -0
  22. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  23. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  24. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  25. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  26. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  27. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  28. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  29. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  30. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  31. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  32. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  33. package/browser/driver/postgres/PostgresQueryRunner.js +11 -4
  34. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  35. package/browser/driver/sap/SapQueryRunner.js +1 -1
  36. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  37. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  38. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  39. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  40. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  41. package/browser/entity-manager/EntityManager.d.ts +2 -2
  42. package/browser/entity-manager/EntityManager.js +1 -1
  43. package/browser/entity-manager/EntityManager.js.map +1 -1
  44. package/browser/entity-manager/MongoEntityManager.js +2 -1
  45. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  46. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  47. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  48. package/browser/entity-schema/EntitySchemaTransformer.js +2 -1
  49. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  50. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  51. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  52. package/browser/find-options/operator/Like.d.ts +1 -1
  53. package/browser/find-options/operator/Like.js +1 -1
  54. package/browser/find-options/operator/Like.js.map +1 -1
  55. package/browser/globals.js +34 -7
  56. package/browser/globals.js.map +1 -1
  57. package/browser/index.d.ts +2 -0
  58. package/browser/index.js +2 -0
  59. package/browser/index.js.map +1 -1
  60. package/browser/metadata/RelationMetadata.d.ts +1 -1
  61. package/browser/metadata/RelationMetadata.js.map +1 -1
  62. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  63. package/browser/metadata/UniqueMetadata.js +1 -0
  64. package/browser/metadata/UniqueMetadata.js.map +1 -1
  65. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  66. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  67. package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
  68. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  69. package/browser/migration/MigrationExecutor.js +1 -1
  70. package/browser/migration/MigrationExecutor.js.map +1 -1
  71. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  72. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  73. package/browser/query-builder/DeleteQueryBuilder.d.ts +4 -2
  74. package/browser/query-builder/DeleteQueryBuilder.js +4 -2
  75. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  76. package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
  77. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  78. package/browser/query-builder/InsertQueryBuilder.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 +3 -2
  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/RelationQueryBuilder.d.ts +1 -1
  88. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  89. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  90. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
  91. package/browser/query-builder/SelectQueryBuilder.js +1 -1
  92. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  93. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  94. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  95. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  96. package/browser/query-builder/UpdateQueryBuilder.d.ts +4 -2
  97. package/browser/query-builder/UpdateQueryBuilder.js +11 -6
  98. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  99. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  100. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  101. package/browser/repository/AbstractRepository.d.ts +2 -2
  102. package/browser/repository/AbstractRepository.js +2 -2
  103. package/browser/repository/AbstractRepository.js.map +1 -1
  104. package/browser/repository/BaseEntity.d.ts +1 -1
  105. package/browser/repository/BaseEntity.js +1 -1
  106. package/browser/repository/BaseEntity.js.map +1 -1
  107. package/browser/repository/Repository.d.ts +1 -1
  108. package/browser/repository/Repository.js +1 -1
  109. package/browser/repository/Repository.js.map +1 -1
  110. package/browser/repository/TreeRepository.js +1 -1
  111. package/browser/repository/TreeRepository.js.map +1 -1
  112. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  113. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  114. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  115. package/browser/schema-builder/table/TableUnique.js +5 -2
  116. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  117. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  118. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  119. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  120. package/browser/util/ImportUtils.d.ts +1 -0
  121. package/browser/util/ImportUtils.js +90 -0
  122. package/browser/util/ImportUtils.js.map +1 -0
  123. package/cache/RedisQueryResultCache.js +39 -34
  124. package/cache/RedisQueryResultCache.js.map +1 -1
  125. package/commands/InitCommand.d.ts +9 -7
  126. package/commands/InitCommand.js +72 -43
  127. package/commands/InitCommand.js.map +1 -1
  128. package/commands/QueryCommand.d.ts +1 -1
  129. package/commands/QueryCommand.js +1 -1
  130. package/commands/QueryCommand.js.map +1 -1
  131. package/common/RelationType.d.ts +14 -0
  132. package/common/RelationType.js +4 -0
  133. package/common/RelationType.js.map +1 -0
  134. package/connection/Connection.d.ts +3 -3
  135. package/connection/Connection.js +46 -31
  136. package/connection/Connection.js.map +1 -1
  137. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  138. package/connection/ConnectionMetadataBuilder.js +53 -21
  139. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  140. package/connection/ConnectionOptionsReader.js +32 -27
  141. package/connection/ConnectionOptionsReader.js.map +1 -1
  142. package/decorator/Unique.d.ts +5 -4
  143. package/decorator/Unique.js +7 -3
  144. package/decorator/Unique.js.map +1 -1
  145. package/decorator/options/RelationOptions.d.ts +1 -1
  146. package/decorator/options/RelationOptions.js.map +1 -1
  147. package/decorator/options/UniqueOptions.d.ts +10 -0
  148. package/decorator/options/UniqueOptions.js +4 -0
  149. package/decorator/options/UniqueOptions.js.map +1 -0
  150. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  151. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  152. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  153. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  154. package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  155. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  156. package/driver/mysql/MysqlQueryRunner.js +1 -1
  157. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  158. package/driver/oracle/OracleQueryRunner.js +1 -1
  159. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  160. package/driver/postgres/PostgresQueryRunner.js +11 -4
  161. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  162. package/driver/sap/SapQueryRunner.js +1 -1
  163. package/driver/sap/SapQueryRunner.js.map +1 -1
  164. package/driver/sqlite/SqliteDriver.js +11 -10
  165. package/driver/sqlite/SqliteDriver.js.map +1 -1
  166. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  167. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  168. package/entity-manager/EntityManager.d.ts +2 -2
  169. package/entity-manager/EntityManager.js +1 -1
  170. package/entity-manager/EntityManager.js.map +1 -1
  171. package/entity-manager/MongoEntityManager.js +2 -1
  172. package/entity-manager/MongoEntityManager.js.map +1 -1
  173. package/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  174. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  175. package/entity-schema/EntitySchemaTransformer.js +2 -1
  176. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  177. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  178. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  179. package/find-options/operator/Like.d.ts +1 -1
  180. package/find-options/operator/Like.js +1 -1
  181. package/find-options/operator/Like.js.map +1 -1
  182. package/globals.js +33 -6
  183. package/globals.js.map +1 -1
  184. package/index.d.ts +2 -0
  185. package/index.js +4 -1
  186. package/index.js.map +1 -1
  187. package/index.mjs +352 -0
  188. package/metadata/RelationMetadata.d.ts +1 -1
  189. package/metadata/RelationMetadata.js.map +1 -1
  190. package/metadata/UniqueMetadata.d.ts +5 -0
  191. package/metadata/UniqueMetadata.js +1 -0
  192. package/metadata/UniqueMetadata.js.map +1 -1
  193. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  194. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  195. package/metadata-builder/EntityMetadataValidator.js +1 -0
  196. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  197. package/migration/MigrationExecutor.js +1 -1
  198. package/migration/MigrationExecutor.js.map +1 -1
  199. package/package.json +1 -1
  200. package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  201. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  202. package/query-builder/DeleteQueryBuilder.d.ts +4 -2
  203. package/query-builder/DeleteQueryBuilder.js +4 -2
  204. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  205. package/query-builder/InsertQueryBuilder.d.ts +1 -1
  206. package/query-builder/InsertQueryBuilder.js +1 -1
  207. package/query-builder/InsertQueryBuilder.js.map +1 -1
  208. package/query-builder/NotBrackets.d.ts +7 -0
  209. package/query-builder/NotBrackets.js +19 -0
  210. package/query-builder/NotBrackets.js.map +1 -0
  211. package/query-builder/QueryBuilder.d.ts +3 -2
  212. package/query-builder/QueryBuilder.js +2 -1
  213. package/query-builder/QueryBuilder.js.map +1 -1
  214. package/query-builder/RelationLoader.js +11 -6
  215. package/query-builder/RelationLoader.js.map +1 -1
  216. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  217. package/query-builder/RelationQueryBuilder.js +1 -1
  218. package/query-builder/RelationQueryBuilder.js.map +1 -1
  219. package/query-builder/SelectQueryBuilder.d.ts +1 -1
  220. package/query-builder/SelectQueryBuilder.js +1 -1
  221. package/query-builder/SelectQueryBuilder.js.map +1 -1
  222. package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  223. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  224. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  225. package/query-builder/UpdateQueryBuilder.d.ts +4 -2
  226. package/query-builder/UpdateQueryBuilder.js +11 -6
  227. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  228. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  229. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  230. package/repository/AbstractRepository.d.ts +2 -2
  231. package/repository/AbstractRepository.js +2 -2
  232. package/repository/AbstractRepository.js.map +1 -1
  233. package/repository/BaseEntity.d.ts +1 -1
  234. package/repository/BaseEntity.js +1 -1
  235. package/repository/BaseEntity.js.map +1 -1
  236. package/repository/Repository.d.ts +1 -1
  237. package/repository/Repository.js +1 -1
  238. package/repository/Repository.js.map +1 -1
  239. package/repository/TreeRepository.js +1 -1
  240. package/repository/TreeRepository.js.map +1 -1
  241. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  242. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  243. package/schema-builder/table/TableUnique.d.ts +5 -0
  244. package/schema-builder/table/TableUnique.js +5 -2
  245. package/schema-builder/table/TableUnique.js.map +1 -1
  246. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  247. package/util/DirectoryExportedClassesLoader.js +54 -31
  248. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  249. package/util/ImportUtils.d.ts +1 -0
  250. package/util/ImportUtils.js +94 -0
  251. package/util/ImportUtils.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/DirectoryExportedClassesLoader.ts"],"names":[],"mappings":"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","file":"DirectoryExportedClassesLoader.js","sourcesContent":["import glob from \"glob\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {Logger} from \"../logger/Logger\";\n/**\n * Loads all exported classes from the given directory.\n */\nexport function importClassesFromDirectories(logger: Logger, directories: string[], formats = [\".js\", \".cjs\", \".ts\"]): Function[] {\n\n const logLevel = \"info\";\n const classesNotFoundMessage = \"No classes were found using the provided glob pattern: \";\n const classesFoundMessage = \"All classes found using provided glob pattern\";\n function loadFileClasses(exported: any, allLoaded: Function[]) {\n if (typeof exported === \"function\" || exported instanceof EntitySchema) {\n allLoaded.push(exported);\n\n } else if (Array.isArray(exported)) {\n exported.forEach((i: any) => loadFileClasses(i, allLoaded));\n\n } else if (typeof exported === \"object\" && exported !== null) {\n Object.keys(exported).forEach(key => loadFileClasses(exported[key], allLoaded));\n\n }\n return allLoaded;\n }\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(glob.sync(PlatformTools.pathNormalize(dir)));\n }, [] as string[]);\n\n if (directories.length > 0 && allFiles.length === 0) {\n logger.log(logLevel, `${classesNotFoundMessage} \"${directories}\"`);\n } else if (allFiles.length > 0) {\n logger.log(logLevel, `${classesFoundMessage} \"${directories}\" : \"${allFiles}\"`);\n }\n const dirs = allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformTools.pathExtname(file)) !== -1 && dtsExtension !== \".d.ts\";\n })\n .map(file => require(PlatformTools.pathResolve(file)));\n\n return loadFileClasses(dirs, []);\n}\n\n/**\n * Loads all json files from the given directory.\n */\nexport function importJsonsFromDirectories(directories: string[], format = \".json\"): any[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(glob.sync(PlatformTools.pathNormalize(dir)));\n }, [] as string[]);\n\n return allFiles\n .filter(file => PlatformTools.pathExtname(file) === format)\n .map(file => require(PlatformTools.pathResolve(file)));\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/util/DirectoryExportedClassesLoader.ts"],"names":[],"mappings":"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","file":"DirectoryExportedClassesLoader.js","sourcesContent":["import glob from \"glob\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {Logger} from \"../logger/Logger\";\nimport {importOrRequireFile} from \"./ImportUtils\";\n/**\n * Loads all exported classes from the given directory.\n */\nexport async function importClassesFromDirectories(logger: Logger, directories: string[], formats = [\".js\", \".mjs\", \".cjs\", \".ts\", \".mts\", \".cts\"]): Promise<Function[]> {\n\n const logLevel = \"info\";\n const classesNotFoundMessage = \"No classes were found using the provided glob pattern: \";\n const classesFoundMessage = \"All classes found using provided glob pattern\";\n function loadFileClasses(exported: any, allLoaded: Function[]) {\n if (typeof exported === \"function\" || exported instanceof EntitySchema) {\n allLoaded.push(exported);\n\n } else if (Array.isArray(exported)) {\n exported.forEach((i: any) => loadFileClasses(i, allLoaded));\n\n } else if (typeof exported === \"object\" && exported !== null) {\n Object.keys(exported).forEach(key => loadFileClasses(exported[key], allLoaded));\n\n }\n return allLoaded;\n }\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(glob.sync(PlatformTools.pathNormalize(dir)));\n }, [] as string[]);\n\n if (directories.length > 0 && allFiles.length === 0) {\n logger.log(logLevel, `${classesNotFoundMessage} \"${directories}\"`);\n } else if (allFiles.length > 0) {\n logger.log(logLevel, `${classesFoundMessage} \"${directories}\" : \"${allFiles}\"`);\n }\n const dirPromises = allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformTools.pathExtname(file)) !== -1 && dtsExtension !== \".d.ts\";\n })\n .map(async file => {\n const [importOrRequireResult] = await importOrRequireFile(PlatformTools.pathResolve(file));\n return importOrRequireResult;\n });\n\n const dirs = await Promise.all(dirPromises);\n\n return loadFileClasses(dirs, []);\n}\n\n/**\n * Loads all json files from the given directory.\n */\nexport function importJsonsFromDirectories(directories: string[], format = \".json\"): any[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(glob.sync(PlatformTools.pathNormalize(dir)));\n }, [] as string[]);\n\n return allFiles\n .filter(file => PlatformTools.pathExtname(file) === format)\n .map(file => require(PlatformTools.pathResolve(file)));\n}\n"],"sourceRoot":".."}
@@ -0,0 +1 @@
1
+ export declare function importOrRequireFile(filePath: string): Promise<[result: any, moduleType: "esm" | "commonjs"]>;
@@ -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":".."}