typeorm 1.0.0-beta.1 → 1.0.0-beta.2

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 (1249) hide show
  1. package/browser/cache/DbQueryResultCache.d.ts +7 -0
  2. package/browser/cache/DbQueryResultCache.js +12 -4
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/RedisQueryResultCache.d.ts +7 -0
  5. package/browser/cache/RedisQueryResultCache.js +15 -10
  6. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  7. package/browser/cli-ts-node-esm.js +2 -2
  8. package/browser/cli-ts-node-esm.js.map +1 -1
  9. package/browser/common/RelationType.d.ts +2 -0
  10. package/browser/common/RelationType.js.map +1 -1
  11. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -0
  12. package/browser/connection/ConnectionMetadataBuilder.js +3 -0
  13. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  14. package/browser/connection/ConnectionOptionsReader.d.ts +5 -4
  15. package/browser/connection/ConnectionOptionsReader.js +14 -12
  16. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  17. package/browser/data-source/BaseDataSourceOptions.d.ts +8 -0
  18. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  19. package/browser/data-source/DataSource.d.ts +20 -1
  20. package/browser/data-source/DataSource.js +37 -15
  21. package/browser/data-source/DataSource.js.map +1 -1
  22. package/browser/decorator/Check.d.ts +2 -0
  23. package/browser/decorator/Check.js +2 -1
  24. package/browser/decorator/Check.js.map +1 -1
  25. package/browser/decorator/Exclusion.d.ts +2 -0
  26. package/browser/decorator/Exclusion.js +1 -0
  27. package/browser/decorator/Exclusion.js.map +1 -1
  28. package/browser/decorator/ForeignKey.d.ts +3 -0
  29. package/browser/decorator/ForeignKey.js +1 -0
  30. package/browser/decorator/ForeignKey.js.map +1 -1
  31. package/browser/decorator/Generated.d.ts +1 -0
  32. package/browser/decorator/Generated.js +1 -0
  33. package/browser/decorator/Generated.js.map +1 -1
  34. package/browser/decorator/Index.d.ts +7 -0
  35. package/browser/decorator/Index.js +13 -13
  36. package/browser/decorator/Index.js.map +1 -1
  37. package/browser/decorator/Unique.d.ts +4 -0
  38. package/browser/decorator/Unique.js +6 -6
  39. package/browser/decorator/Unique.js.map +1 -1
  40. package/browser/decorator/columns/Column.d.ts +11 -0
  41. package/browser/decorator/columns/Column.js +3 -3
  42. package/browser/decorator/columns/Column.js.map +1 -1
  43. package/browser/decorator/columns/CreateDateColumn.d.ts +1 -0
  44. package/browser/decorator/columns/CreateDateColumn.js +2 -1
  45. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  46. package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -0
  47. package/browser/decorator/columns/DeleteDateColumn.js +2 -1
  48. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  49. package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -0
  50. package/browser/decorator/columns/ObjectIdColumn.js +3 -4
  51. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  52. package/browser/decorator/columns/PrimaryColumn.d.ts +2 -0
  53. package/browser/decorator/columns/PrimaryColumn.js +2 -2
  54. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  55. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
  56. package/browser/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  57. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  58. package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -0
  59. package/browser/decorator/columns/UpdateDateColumn.js +2 -1
  60. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  61. package/browser/decorator/columns/VersionColumn.d.ts +1 -0
  62. package/browser/decorator/columns/VersionColumn.js +2 -1
  63. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  64. package/browser/decorator/columns/ViewColumn.d.ts +1 -0
  65. package/browser/decorator/columns/ViewColumn.js +2 -1
  66. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  67. package/browser/decorator/columns/VirtualColumn.d.ts +2 -0
  68. package/browser/decorator/columns/VirtualColumn.js +1 -0
  69. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  70. package/browser/decorator/entity/ChildEntity.d.ts +1 -0
  71. package/browser/decorator/entity/ChildEntity.js +1 -0
  72. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  73. package/browser/decorator/entity/Entity.d.ts +2 -0
  74. package/browser/decorator/entity/Entity.js +7 -6
  75. package/browser/decorator/entity/Entity.js.map +1 -1
  76. package/browser/decorator/entity/TableInheritance.d.ts +1 -0
  77. package/browser/decorator/entity/TableInheritance.js +3 -2
  78. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  79. package/browser/decorator/entity-view/ViewEntity.d.ts +2 -0
  80. package/browser/decorator/entity-view/ViewEntity.js +4 -3
  81. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  82. package/browser/decorator/options/ColumnOptions.d.ts +3 -0
  83. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  84. package/browser/decorator/options/EntityOptions.d.ts +1 -0
  85. package/browser/decorator/options/EntityOptions.js.map +1 -1
  86. package/browser/decorator/options/RelationOptions.d.ts +2 -0
  87. package/browser/decorator/options/RelationOptions.js.map +1 -1
  88. package/browser/decorator/options/VirtualColumnOptions.d.ts +1 -0
  89. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  90. package/browser/decorator/relations/JoinColumn.d.ts +2 -0
  91. package/browser/decorator/relations/JoinColumn.js +2 -1
  92. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  93. package/browser/decorator/relations/JoinTable.d.ts +2 -0
  94. package/browser/decorator/relations/JoinTable.js +5 -4
  95. package/browser/decorator/relations/JoinTable.js.map +1 -1
  96. package/browser/decorator/relations/ManyToMany.d.ts +2 -0
  97. package/browser/decorator/relations/ManyToMany.js +2 -2
  98. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  99. package/browser/decorator/relations/ManyToOne.d.ts +2 -0
  100. package/browser/decorator/relations/ManyToOne.js +3 -3
  101. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  102. package/browser/decorator/relations/OneToMany.d.ts +1 -0
  103. package/browser/decorator/relations/OneToMany.js +3 -3
  104. package/browser/decorator/relations/OneToMany.js.map +1 -1
  105. package/browser/decorator/relations/OneToOne.d.ts +2 -0
  106. package/browser/decorator/relations/OneToOne.js +3 -3
  107. package/browser/decorator/relations/OneToOne.js.map +1 -1
  108. package/browser/decorator/relations/RelationId.d.ts +1 -0
  109. package/browser/decorator/relations/RelationId.js +1 -0
  110. package/browser/decorator/relations/RelationId.js.map +1 -1
  111. package/browser/decorator/tree/Tree.d.ts +1 -0
  112. package/browser/decorator/tree/Tree.js +1 -0
  113. package/browser/decorator/tree/Tree.js.map +1 -1
  114. package/browser/decorator/tree/TreeChildren.d.ts +1 -0
  115. package/browser/decorator/tree/TreeChildren.js +3 -3
  116. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  117. package/browser/decorator/tree/TreeParent.d.ts +1 -0
  118. package/browser/decorator/tree/TreeParent.js +3 -3
  119. package/browser/decorator/tree/TreeParent.js.map +1 -1
  120. package/browser/driver/Driver.d.ts +5 -0
  121. package/browser/driver/Driver.js.map +1 -1
  122. package/browser/driver/DriverFactory.d.ts +1 -0
  123. package/browser/driver/DriverFactory.js +1 -0
  124. package/browser/driver/DriverFactory.js.map +1 -1
  125. package/browser/driver/DriverUtils.d.ts +7 -0
  126. package/browser/driver/DriverUtils.js +34 -21
  127. package/browser/driver/DriverUtils.js.map +1 -1
  128. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
  129. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  130. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
  131. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
  132. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
  133. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +53 -16
  134. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  135. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +64 -0
  136. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +90 -30
  137. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  138. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
  139. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
  140. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  141. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +3 -0
  142. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +27 -1
  143. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  144. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
  145. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
  146. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
  147. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
  148. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  149. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -0
  150. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  151. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  152. package/browser/driver/capacitor/CapacitorDriver.d.ts +1 -0
  153. package/browser/driver/capacitor/CapacitorDriver.js +3 -3
  154. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  155. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +2 -0
  156. package/browser/driver/capacitor/CapacitorQueryRunner.js +4 -2
  157. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  158. package/browser/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
  159. package/browser/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
  160. package/browser/driver/cockroachdb/CockroachDriver.d.ts +35 -0
  161. package/browser/driver/cockroachdb/CockroachDriver.js +64 -29
  162. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  163. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +74 -0
  164. package/browser/driver/cockroachdb/CockroachQueryRunner.js +143 -119
  165. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  166. package/browser/driver/cordova/CordovaDriver.d.ts +6 -0
  167. package/browser/driver/cordova/CordovaDriver.js +14 -4
  168. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  169. package/browser/driver/cordova/CordovaQueryRunner.d.ts +2 -0
  170. package/browser/driver/cordova/CordovaQueryRunner.js +3 -1
  171. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  172. package/browser/driver/expo/ExpoDriver.js +1 -2
  173. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  174. package/browser/driver/mongodb/MongoDriver.d.ts +25 -0
  175. package/browser/driver/mongodb/MongoDriver.js +35 -6
  176. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  177. package/browser/driver/mongodb/MongoQueryRunner.d.ts +84 -0
  178. package/browser/driver/mongodb/MongoQueryRunner.js +102 -18
  179. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  180. package/browser/driver/mongodb/bson.typings.d.ts +1 -0
  181. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  182. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
  183. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  184. package/browser/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
  185. package/browser/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
  186. package/browser/driver/mysql/MysqlDriver.d.ts +37 -0
  187. package/browser/driver/mysql/MysqlDriver.js +57 -17
  188. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  189. package/browser/driver/mysql/MysqlQueryRunner.d.ts +64 -0
  190. package/browser/driver/mysql/MysqlQueryRunner.js +140 -111
  191. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  192. package/browser/driver/nativescript/NativescriptDriver.d.ts +1 -0
  193. package/browser/driver/nativescript/NativescriptDriver.js +3 -4
  194. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  195. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +2 -0
  196. package/browser/driver/nativescript/NativescriptQueryRunner.js +3 -1
  197. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  198. package/browser/driver/oracle/OracleDriver.d.ts +32 -0
  199. package/browser/driver/oracle/OracleDriver.js +48 -15
  200. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  201. package/browser/driver/oracle/OracleQueryRunner.d.ts +66 -0
  202. package/browser/driver/oracle/OracleQueryRunner.js +119 -83
  203. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  204. package/browser/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
  205. package/browser/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
  206. package/browser/driver/postgres/PostgresDriver.d.ts +37 -0
  207. package/browser/driver/postgres/PostgresDriver.js +67 -31
  208. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  209. package/browser/driver/postgres/PostgresQueryRunner.d.ts +81 -0
  210. package/browser/driver/postgres/PostgresQueryRunner.js +152 -121
  211. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  212. package/browser/driver/react-native/ReactNativeDriver.d.ts +29 -0
  213. package/browser/driver/react-native/ReactNativeDriver.js +45 -12
  214. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  215. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +2 -0
  216. package/browser/driver/react-native/ReactNativeQueryRunner.js +3 -1
  217. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  218. package/browser/driver/sap/SapDataSourceOptions.d.ts +1 -0
  219. package/browser/driver/sap/SapDataSourceOptions.js.map +1 -1
  220. package/browser/driver/sap/SapDriver.d.ts +30 -0
  221. package/browser/driver/sap/SapDriver.js +45 -11
  222. package/browser/driver/sap/SapDriver.js.map +1 -1
  223. package/browser/driver/sap/SapQueryRunner.d.ts +66 -0
  224. package/browser/driver/sap/SapQueryRunner.js +101 -56
  225. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  226. package/browser/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
  227. package/browser/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
  228. package/browser/driver/spanner/SpannerDriver.d.ts +33 -0
  229. package/browser/driver/spanner/SpannerDriver.js +50 -10
  230. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  231. package/browser/driver/spanner/SpannerQueryRunner.d.ts +64 -0
  232. package/browser/driver/spanner/SpannerQueryRunner.js +89 -32
  233. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  234. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
  235. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +43 -77
  236. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  237. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
  238. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +89 -45
  239. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  240. package/browser/driver/sqljs/SqljsDriver.d.ts +5 -0
  241. package/browser/driver/sqljs/SqljsDriver.js +8 -4
  242. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  243. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +1 -0
  244. package/browser/driver/sqljs/SqljsQueryRunner.js +1 -0
  245. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  246. package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
  247. package/browser/driver/sqlserver/MssqlParameter.js +1 -0
  248. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  249. package/browser/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
  250. package/browser/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
  251. package/browser/driver/sqlserver/SqlServerDriver.d.ts +42 -0
  252. package/browser/driver/sqlserver/SqlServerDriver.js +100 -26
  253. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  254. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +76 -10
  255. package/browser/driver/sqlserver/SqlServerQueryRunner.js +160 -163
  256. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  257. package/browser/driver/types/IsolationLevel.d.ts +2 -1
  258. package/browser/driver/types/IsolationLevel.js +8 -0
  259. package/browser/driver/types/IsolationLevel.js.map +1 -1
  260. package/browser/driver/validate-isolation-level.d.ts +9 -0
  261. package/browser/driver/validate-isolation-level.js +23 -0
  262. package/browser/driver/validate-isolation-level.js.map +1 -0
  263. package/browser/entity-manager/EntityManager.d.ts +38 -1
  264. package/browser/entity-manager/EntityManager.js +58 -12
  265. package/browser/entity-manager/EntityManager.js.map +1 -1
  266. package/browser/entity-manager/EntityManagerFactory.d.ts +1 -0
  267. package/browser/entity-manager/EntityManagerFactory.js +1 -0
  268. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  269. package/browser/entity-manager/MongoEntityManager.d.ts +54 -1
  270. package/browser/entity-manager/MongoEntityManager.js +103 -12
  271. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  272. package/browser/entity-manager/SqljsEntityManager.d.ts +2 -0
  273. package/browser/entity-manager/SqljsEntityManager.js +2 -0
  274. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  275. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
  276. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  277. package/browser/entity-schema/EntitySchemaOptions.d.ts +1 -0
  278. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  279. package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  280. package/browser/entity-schema/EntitySchemaTransformer.js +25 -26
  281. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  282. package/browser/error/InitializedRelationError.d.ts +1 -0
  283. package/browser/error/InitializedRelationError.js +1 -0
  284. package/browser/error/InitializedRelationError.js.map +1 -1
  285. package/browser/find-options/FindOptionsUtils.d.ts +7 -0
  286. package/browser/find-options/FindOptionsUtils.js +7 -0
  287. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  288. package/browser/find-options/OrderByCondition.d.ts +2 -1
  289. package/browser/find-options/OrderByCondition.js.map +1 -1
  290. package/browser/find-options/operator/Any.d.ts +4 -1
  291. package/browser/find-options/operator/Any.js +4 -1
  292. package/browser/find-options/operator/Any.js.map +1 -1
  293. package/browser/find-options/operator/ArrayContainedBy.d.ts +4 -1
  294. package/browser/find-options/operator/ArrayContainedBy.js +4 -1
  295. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  296. package/browser/find-options/operator/ArrayContains.d.ts +4 -1
  297. package/browser/find-options/operator/ArrayContains.js +4 -1
  298. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  299. package/browser/find-options/operator/ArrayOverlap.d.ts +4 -1
  300. package/browser/find-options/operator/ArrayOverlap.js +4 -1
  301. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  302. package/browser/find-options/operator/Between.d.ts +4 -1
  303. package/browser/find-options/operator/Between.js +4 -1
  304. package/browser/find-options/operator/Between.js.map +1 -1
  305. package/browser/find-options/operator/Equal.d.ts +6 -3
  306. package/browser/find-options/operator/Equal.js +6 -3
  307. package/browser/find-options/operator/Equal.js.map +1 -1
  308. package/browser/find-options/operator/ILike.d.ts +4 -1
  309. package/browser/find-options/operator/ILike.js +4 -1
  310. package/browser/find-options/operator/ILike.js.map +1 -1
  311. package/browser/find-options/operator/In.d.ts +4 -1
  312. package/browser/find-options/operator/In.js +4 -1
  313. package/browser/find-options/operator/In.js.map +1 -1
  314. package/browser/find-options/operator/IsNull.d.ts +4 -1
  315. package/browser/find-options/operator/IsNull.js +4 -1
  316. package/browser/find-options/operator/IsNull.js.map +1 -1
  317. package/browser/find-options/operator/JsonContains.d.ts +4 -1
  318. package/browser/find-options/operator/JsonContains.js +4 -1
  319. package/browser/find-options/operator/JsonContains.js.map +1 -1
  320. package/browser/find-options/operator/LessThan.d.ts +4 -1
  321. package/browser/find-options/operator/LessThan.js +4 -1
  322. package/browser/find-options/operator/LessThan.js.map +1 -1
  323. package/browser/find-options/operator/LessThanOrEqual.d.ts +4 -1
  324. package/browser/find-options/operator/LessThanOrEqual.js +4 -1
  325. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  326. package/browser/find-options/operator/Like.d.ts +4 -1
  327. package/browser/find-options/operator/Like.js +4 -1
  328. package/browser/find-options/operator/Like.js.map +1 -1
  329. package/browser/find-options/operator/MoreThan.d.ts +4 -1
  330. package/browser/find-options/operator/MoreThan.js +4 -1
  331. package/browser/find-options/operator/MoreThan.js.map +1 -1
  332. package/browser/find-options/operator/MoreThanOrEqual.d.ts +4 -1
  333. package/browser/find-options/operator/MoreThanOrEqual.js +4 -1
  334. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  335. package/browser/find-options/operator/Not.d.ts +4 -1
  336. package/browser/find-options/operator/Not.js +4 -1
  337. package/browser/find-options/operator/Not.js.map +1 -1
  338. package/browser/find-options/operator/Raw.d.ts +12 -3
  339. package/browser/find-options/operator/Raw.js.map +1 -1
  340. package/browser/globals.js +1 -2
  341. package/browser/globals.js.map +1 -1
  342. package/browser/logger/AbstractLogger.d.ts +9 -0
  343. package/browser/logger/AbstractLogger.js +10 -2
  344. package/browser/logger/AbstractLogger.js.map +1 -1
  345. package/browser/logger/AdvancedConsoleLogger.d.ts +1 -0
  346. package/browser/logger/AdvancedConsoleLogger.js +1 -0
  347. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  348. package/browser/logger/DebugLogger.d.ts +2 -0
  349. package/browser/logger/DebugLogger.js +3 -1
  350. package/browser/logger/DebugLogger.js.map +1 -1
  351. package/browser/logger/FileLogger.d.ts +13 -2
  352. package/browser/logger/FileLogger.js +4 -5
  353. package/browser/logger/FileLogger.js.map +1 -1
  354. package/browser/logger/FormattedConsoleLogger.d.ts +1 -0
  355. package/browser/logger/FormattedConsoleLogger.js +1 -0
  356. package/browser/logger/FormattedConsoleLogger.js.map +1 -1
  357. package/browser/logger/LoggerFactory.d.ts +1 -0
  358. package/browser/logger/LoggerFactory.js +1 -0
  359. package/browser/logger/LoggerFactory.js.map +1 -1
  360. package/browser/logger/LoggerOptions.d.ts +0 -9
  361. package/browser/logger/LoggerOptions.js.map +1 -1
  362. package/browser/logger/SimpleConsoleLogger.d.ts +1 -0
  363. package/browser/logger/SimpleConsoleLogger.js +1 -0
  364. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  365. package/browser/metadata/CheckMetadata.d.ts +1 -0
  366. package/browser/metadata/CheckMetadata.js +4 -3
  367. package/browser/metadata/CheckMetadata.js.map +1 -1
  368. package/browser/metadata/ColumnMetadata.d.ts +8 -5
  369. package/browser/metadata/ColumnMetadata.js +17 -25
  370. package/browser/metadata/ColumnMetadata.js.map +1 -1
  371. package/browser/metadata/EmbeddedMetadata.d.ts +1 -0
  372. package/browser/metadata/EmbeddedMetadata.js +1 -0
  373. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  374. package/browser/metadata/EntityListenerMetadata.d.ts +3 -0
  375. package/browser/metadata/EntityListenerMetadata.js +3 -0
  376. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  377. package/browser/metadata/EntityMetadata.d.ts +25 -5
  378. package/browser/metadata/EntityMetadata.js +32 -12
  379. package/browser/metadata/EntityMetadata.js.map +1 -1
  380. package/browser/metadata/ExclusionMetadata.d.ts +1 -0
  381. package/browser/metadata/ExclusionMetadata.js +4 -3
  382. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  383. package/browser/metadata/ForeignKeyMetadata.d.ts +1 -0
  384. package/browser/metadata/ForeignKeyMetadata.js +6 -5
  385. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  386. package/browser/metadata/IndexMetadata.d.ts +1 -0
  387. package/browser/metadata/IndexMetadata.js +4 -3
  388. package/browser/metadata/IndexMetadata.js.map +1 -1
  389. package/browser/metadata/RelationIdMetadata.d.ts +1 -0
  390. package/browser/metadata/RelationIdMetadata.js +1 -0
  391. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  392. package/browser/metadata/RelationMetadata.d.ts +8 -0
  393. package/browser/metadata/RelationMetadata.js +15 -15
  394. package/browser/metadata/RelationMetadata.js.map +1 -1
  395. package/browser/metadata/UniqueMetadata.d.ts +1 -0
  396. package/browser/metadata/UniqueMetadata.js +4 -3
  397. package/browser/metadata/UniqueMetadata.js.map +1 -1
  398. package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
  399. package/browser/metadata-args/MetadataArgsStorage.js +4 -0
  400. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  401. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
  402. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
  403. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  404. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
  405. package/browser/metadata-builder/EntityMetadataBuilder.js +11 -6
  406. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  407. package/browser/metadata-builder/EntityMetadataValidator.d.ts +4 -0
  408. package/browser/metadata-builder/EntityMetadataValidator.js +6 -43
  409. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  410. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
  411. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
  412. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  413. package/browser/metadata-builder/MetadataUtils.d.ts +3 -0
  414. package/browser/metadata-builder/MetadataUtils.js +4 -1
  415. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  416. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
  417. package/browser/metadata-builder/RelationJoinColumnBuilder.js +17 -1
  418. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  419. package/browser/migration/MigrationExecutor.d.ts +9 -0
  420. package/browser/migration/MigrationExecutor.js +16 -7
  421. package/browser/migration/MigrationExecutor.js.map +1 -1
  422. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +3 -0
  423. package/browser/naming-strategy/DefaultNamingStrategy.js +13 -10
  424. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  425. package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -0
  426. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  427. package/browser/persistence/EntityPersistExecutor.js +2 -4
  428. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  429. package/browser/persistence/Subject.js +4 -6
  430. package/browser/persistence/Subject.js.map +1 -1
  431. package/browser/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
  432. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -0
  433. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  434. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
  435. package/browser/persistence/SubjectDatabaseEntityLoader.js +3 -1
  436. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  437. package/browser/persistence/SubjectExecutor.d.ts +2 -0
  438. package/browser/persistence/SubjectExecutor.js +15 -27
  439. package/browser/persistence/SubjectExecutor.js.map +1 -1
  440. package/browser/persistence/SubjectTopologicalSorter.d.ts +4 -0
  441. package/browser/persistence/SubjectTopologicalSorter.js +4 -0
  442. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
  443. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
  444. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
  445. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  446. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
  447. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
  448. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  449. package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
  450. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
  451. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  452. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
  453. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
  454. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  455. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
  456. package/browser/persistence/tree/ClosureSubjectExecutor.js +10 -8
  457. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  458. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
  459. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
  460. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  461. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
  462. package/browser/persistence/tree/NestedSetSubjectExecutor.js +10 -5
  463. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  464. package/browser/platform/PlatformTools.d.ts +9 -0
  465. package/browser/platform/PlatformTools.js +10 -1
  466. package/browser/platform/PlatformTools.js.map +1 -1
  467. package/browser/query-builder/Alias.js +1 -1
  468. package/browser/query-builder/Alias.js.map +1 -1
  469. package/browser/query-builder/Brackets.d.ts +1 -0
  470. package/browser/query-builder/Brackets.js +1 -0
  471. package/browser/query-builder/Brackets.js.map +1 -1
  472. package/browser/query-builder/DeleteQueryBuilder.d.ts +7 -0
  473. package/browser/query-builder/DeleteQueryBuilder.js +9 -0
  474. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  475. package/browser/query-builder/InsertQueryBuilder.d.ts +9 -0
  476. package/browser/query-builder/InsertQueryBuilder.js +14 -8
  477. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  478. package/browser/query-builder/JoinAttribute.js +3 -3
  479. package/browser/query-builder/JoinAttribute.js.map +1 -1
  480. package/browser/query-builder/QueryBuilder.d.ts +25 -4
  481. package/browser/query-builder/QueryBuilder.js +58 -15
  482. package/browser/query-builder/QueryBuilder.js.map +1 -1
  483. package/browser/query-builder/QueryBuilderUtils.d.ts +1 -0
  484. package/browser/query-builder/QueryBuilderUtils.js +1 -0
  485. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  486. package/browser/query-builder/QueryExpressionMap.d.ts +5 -0
  487. package/browser/query-builder/QueryExpressionMap.js +4 -1
  488. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  489. package/browser/query-builder/RelationIdLoader.d.ts +6 -35
  490. package/browser/query-builder/RelationIdLoader.js +19 -43
  491. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  492. package/browser/query-builder/RelationLoader.d.ts +11 -2
  493. package/browser/query-builder/RelationLoader.js +20 -17
  494. package/browser/query-builder/RelationLoader.js.map +1 -1
  495. package/browser/query-builder/RelationQueryBuilder.d.ts +5 -0
  496. package/browser/query-builder/RelationQueryBuilder.js +5 -0
  497. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  498. package/browser/query-builder/RelationRemover.d.ts +1 -0
  499. package/browser/query-builder/RelationRemover.js +1 -0
  500. package/browser/query-builder/RelationRemover.js.map +1 -1
  501. package/browser/query-builder/RelationUpdater.d.ts +1 -0
  502. package/browser/query-builder/RelationUpdater.js +1 -0
  503. package/browser/query-builder/RelationUpdater.js.map +1 -1
  504. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
  505. package/browser/query-builder/ReturningResultsEntityUpdator.js +3 -1
  506. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  507. package/browser/query-builder/SelectQueryBuilder.d.ts +31 -8
  508. package/browser/query-builder/SelectQueryBuilder.js +98 -70
  509. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  510. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
  511. package/browser/query-builder/SoftDeleteQueryBuilder.js +17 -0
  512. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  513. package/browser/query-builder/UpdateQueryBuilder.d.ts +11 -0
  514. package/browser/query-builder/UpdateQueryBuilder.js +18 -1
  515. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  516. package/browser/query-builder/relation-id/RelationIdAttribute.js +5 -5
  517. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  518. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
  519. package/browser/query-builder/relation-id/RelationIdLoader.js +6 -3
  520. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  521. package/browser/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
  522. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  523. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
  524. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  525. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
  526. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  527. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  528. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
  529. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
  530. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  531. package/browser/query-runner/BaseQueryRunner.d.ts +21 -1
  532. package/browser/query-runner/BaseQueryRunner.js +36 -49
  533. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  534. package/browser/query-runner/QueryRunner.d.ts +5 -1
  535. package/browser/query-runner/QueryRunner.js.map +1 -1
  536. package/browser/repository/BaseEntity.d.ts +32 -0
  537. package/browser/repository/BaseEntity.js +36 -0
  538. package/browser/repository/BaseEntity.js.map +1 -1
  539. package/browser/repository/MongoRepository.d.ts +39 -0
  540. package/browser/repository/MongoRepository.js +41 -2
  541. package/browser/repository/MongoRepository.js.map +1 -1
  542. package/browser/repository/Repository.d.ts +37 -1
  543. package/browser/repository/Repository.js +43 -2
  544. package/browser/repository/Repository.js.map +1 -1
  545. package/browser/repository/TreeRepository.d.ts +11 -0
  546. package/browser/repository/TreeRepository.js +12 -1
  547. package/browser/repository/TreeRepository.js.map +1 -1
  548. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
  549. package/browser/schema-builder/RdbmsSchemaBuilder.js +10 -13
  550. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  551. package/browser/schema-builder/table/Table.d.ts +17 -0
  552. package/browser/schema-builder/table/Table.js +19 -2
  553. package/browser/schema-builder/table/Table.js.map +1 -1
  554. package/browser/schema-builder/table/TableCheck.d.ts +1 -0
  555. package/browser/schema-builder/table/TableCheck.js +1 -0
  556. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  557. package/browser/schema-builder/table/TableColumn.js +7 -7
  558. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  559. package/browser/schema-builder/table/TableExclusion.d.ts +1 -0
  560. package/browser/schema-builder/table/TableExclusion.js +1 -0
  561. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  562. package/browser/schema-builder/table/TableForeignKey.d.ts +1 -0
  563. package/browser/schema-builder/table/TableForeignKey.js +1 -0
  564. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  565. package/browser/schema-builder/table/TableIndex.d.ts +1 -0
  566. package/browser/schema-builder/table/TableIndex.js +2 -1
  567. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  568. package/browser/schema-builder/table/TableUnique.d.ts +1 -0
  569. package/browser/schema-builder/table/TableUnique.js +1 -0
  570. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  571. package/browser/schema-builder/util/ViewUtils.d.ts +1 -0
  572. package/browser/schema-builder/util/ViewUtils.js +1 -0
  573. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  574. package/browser/schema-builder/view/View.d.ts +3 -0
  575. package/browser/schema-builder/view/View.js +3 -0
  576. package/browser/schema-builder/view/View.js.map +1 -1
  577. package/browser/subscriber/Broadcaster.d.ts +20 -0
  578. package/browser/subscriber/Broadcaster.js +25 -6
  579. package/browser/subscriber/Broadcaster.js.map +1 -1
  580. package/browser/subscriber/event/BaseEvent.d.ts +1 -0
  581. package/browser/subscriber/event/BaseEvent.js.map +1 -1
  582. package/browser/util/DateUtils.d.ts +15 -0
  583. package/browser/util/DateUtils.js +15 -0
  584. package/browser/util/DateUtils.js.map +1 -1
  585. package/browser/util/DepGraph.d.ts +10 -0
  586. package/browser/util/DepGraph.js +11 -0
  587. package/browser/util/DepGraph.js.map +1 -1
  588. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -0
  589. package/browser/util/DirectoryExportedClassesLoader.js +1 -0
  590. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  591. package/browser/util/ObjectUtils.d.ts +6 -0
  592. package/browser/util/ObjectUtils.js +4 -0
  593. package/browser/util/ObjectUtils.js.map +1 -1
  594. package/browser/util/OrmUtils.d.ts +14 -0
  595. package/browser/util/OrmUtils.js +18 -6
  596. package/browser/util/OrmUtils.js.map +1 -1
  597. package/browser/util/PathUtils.d.ts +2 -0
  598. package/browser/util/PathUtils.js +2 -0
  599. package/browser/util/PathUtils.js.map +1 -1
  600. package/browser/util/RandomGenerator.d.ts +2 -0
  601. package/browser/util/RandomGenerator.js +2 -0
  602. package/browser/util/RandomGenerator.js.map +1 -1
  603. package/browser/util/StringUtils.d.ts +11 -4
  604. package/browser/util/StringUtils.js +15 -7
  605. package/browser/util/StringUtils.js.map +1 -1
  606. package/browser/util/TreeRepositoryUtils.js +2 -2
  607. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  608. package/cache/DbQueryResultCache.d.ts +7 -0
  609. package/cache/DbQueryResultCache.js +12 -4
  610. package/cache/DbQueryResultCache.js.map +1 -1
  611. package/cache/RedisQueryResultCache.d.ts +7 -0
  612. package/cache/RedisQueryResultCache.js +15 -10
  613. package/cache/RedisQueryResultCache.js.map +1 -1
  614. package/cli-ts-node-esm.js +2 -2
  615. package/cli-ts-node-esm.js.map +1 -1
  616. package/commands/CacheClearCommand.js +1 -1
  617. package/commands/CacheClearCommand.js.map +1 -1
  618. package/commands/CommandUtils.d.ts +4 -0
  619. package/commands/CommandUtils.js +4 -0
  620. package/commands/CommandUtils.js.map +1 -1
  621. package/commands/EntityCreateCommand.d.ts +1 -0
  622. package/commands/EntityCreateCommand.js +1 -0
  623. package/commands/EntityCreateCommand.js.map +1 -1
  624. package/commands/InitCommand.d.ts +10 -0
  625. package/commands/InitCommand.js +16 -9
  626. package/commands/InitCommand.js.map +1 -1
  627. package/commands/MigrationCreateCommand.d.ts +2 -0
  628. package/commands/MigrationCreateCommand.js +2 -0
  629. package/commands/MigrationCreateCommand.js.map +1 -1
  630. package/commands/MigrationGenerateCommand.d.ts +3 -0
  631. package/commands/MigrationGenerateCommand.js +4 -1
  632. package/commands/MigrationGenerateCommand.js.map +1 -1
  633. package/commands/MigrationRevertCommand.js +1 -1
  634. package/commands/MigrationRevertCommand.js.map +1 -1
  635. package/commands/MigrationRunCommand.js +1 -1
  636. package/commands/MigrationRunCommand.js.map +1 -1
  637. package/commands/MigrationShowCommand.js +1 -1
  638. package/commands/MigrationShowCommand.js.map +1 -1
  639. package/commands/QueryCommand.js +1 -1
  640. package/commands/QueryCommand.js.map +1 -1
  641. package/commands/SchemaDropCommand.js +1 -1
  642. package/commands/SchemaDropCommand.js.map +1 -1
  643. package/commands/SchemaSyncCommand.js +1 -1
  644. package/commands/SchemaSyncCommand.js.map +1 -1
  645. package/commands/SubscriberCreateCommand.d.ts +1 -0
  646. package/commands/SubscriberCreateCommand.js +1 -0
  647. package/commands/SubscriberCreateCommand.js.map +1 -1
  648. package/commands/VersionCommand.js +2 -2
  649. package/commands/VersionCommand.js.map +1 -1
  650. package/common/RelationType.d.ts +2 -0
  651. package/common/RelationType.js.map +1 -1
  652. package/connection/ConnectionMetadataBuilder.d.ts +3 -0
  653. package/connection/ConnectionMetadataBuilder.js +3 -0
  654. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  655. package/connection/ConnectionOptionsReader.d.ts +5 -4
  656. package/connection/ConnectionOptionsReader.js +14 -12
  657. package/connection/ConnectionOptionsReader.js.map +1 -1
  658. package/data-source/BaseDataSourceOptions.d.ts +8 -0
  659. package/data-source/BaseDataSourceOptions.js.map +1 -1
  660. package/data-source/DataSource.d.ts +20 -1
  661. package/data-source/DataSource.js +37 -15
  662. package/data-source/DataSource.js.map +1 -1
  663. package/decorator/Check.d.ts +2 -0
  664. package/decorator/Check.js +2 -1
  665. package/decorator/Check.js.map +1 -1
  666. package/decorator/Exclusion.d.ts +2 -0
  667. package/decorator/Exclusion.js +1 -0
  668. package/decorator/Exclusion.js.map +1 -1
  669. package/decorator/ForeignKey.d.ts +3 -0
  670. package/decorator/ForeignKey.js +1 -0
  671. package/decorator/ForeignKey.js.map +1 -1
  672. package/decorator/Generated.d.ts +1 -0
  673. package/decorator/Generated.js +1 -0
  674. package/decorator/Generated.js.map +1 -1
  675. package/decorator/Index.d.ts +7 -0
  676. package/decorator/Index.js +13 -13
  677. package/decorator/Index.js.map +1 -1
  678. package/decorator/Unique.d.ts +4 -0
  679. package/decorator/Unique.js +6 -6
  680. package/decorator/Unique.js.map +1 -1
  681. package/decorator/columns/Column.d.ts +11 -0
  682. package/decorator/columns/Column.js +3 -3
  683. package/decorator/columns/Column.js.map +1 -1
  684. package/decorator/columns/CreateDateColumn.d.ts +1 -0
  685. package/decorator/columns/CreateDateColumn.js +2 -1
  686. package/decorator/columns/CreateDateColumn.js.map +1 -1
  687. package/decorator/columns/DeleteDateColumn.d.ts +1 -0
  688. package/decorator/columns/DeleteDateColumn.js +2 -1
  689. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  690. package/decorator/columns/ObjectIdColumn.d.ts +1 -0
  691. package/decorator/columns/ObjectIdColumn.js +3 -4
  692. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  693. package/decorator/columns/PrimaryColumn.d.ts +2 -0
  694. package/decorator/columns/PrimaryColumn.js +2 -2
  695. package/decorator/columns/PrimaryColumn.js.map +1 -1
  696. package/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
  697. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  698. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  699. package/decorator/columns/UpdateDateColumn.d.ts +1 -0
  700. package/decorator/columns/UpdateDateColumn.js +2 -1
  701. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  702. package/decorator/columns/VersionColumn.d.ts +1 -0
  703. package/decorator/columns/VersionColumn.js +2 -1
  704. package/decorator/columns/VersionColumn.js.map +1 -1
  705. package/decorator/columns/ViewColumn.d.ts +1 -0
  706. package/decorator/columns/ViewColumn.js +2 -1
  707. package/decorator/columns/ViewColumn.js.map +1 -1
  708. package/decorator/columns/VirtualColumn.d.ts +2 -0
  709. package/decorator/columns/VirtualColumn.js +1 -0
  710. package/decorator/columns/VirtualColumn.js.map +1 -1
  711. package/decorator/entity/ChildEntity.d.ts +1 -0
  712. package/decorator/entity/ChildEntity.js +1 -0
  713. package/decorator/entity/ChildEntity.js.map +1 -1
  714. package/decorator/entity/Entity.d.ts +2 -0
  715. package/decorator/entity/Entity.js +7 -6
  716. package/decorator/entity/Entity.js.map +1 -1
  717. package/decorator/entity/TableInheritance.d.ts +1 -0
  718. package/decorator/entity/TableInheritance.js +3 -2
  719. package/decorator/entity/TableInheritance.js.map +1 -1
  720. package/decorator/entity-view/ViewEntity.d.ts +2 -0
  721. package/decorator/entity-view/ViewEntity.js +4 -3
  722. package/decorator/entity-view/ViewEntity.js.map +1 -1
  723. package/decorator/options/ColumnOptions.d.ts +3 -0
  724. package/decorator/options/ColumnOptions.js.map +1 -1
  725. package/decorator/options/EntityOptions.d.ts +1 -0
  726. package/decorator/options/EntityOptions.js.map +1 -1
  727. package/decorator/options/RelationOptions.d.ts +2 -0
  728. package/decorator/options/RelationOptions.js.map +1 -1
  729. package/decorator/options/VirtualColumnOptions.d.ts +1 -0
  730. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  731. package/decorator/relations/JoinColumn.d.ts +2 -0
  732. package/decorator/relations/JoinColumn.js +2 -1
  733. package/decorator/relations/JoinColumn.js.map +1 -1
  734. package/decorator/relations/JoinTable.d.ts +2 -0
  735. package/decorator/relations/JoinTable.js +5 -4
  736. package/decorator/relations/JoinTable.js.map +1 -1
  737. package/decorator/relations/ManyToMany.d.ts +2 -0
  738. package/decorator/relations/ManyToMany.js +2 -2
  739. package/decorator/relations/ManyToMany.js.map +1 -1
  740. package/decorator/relations/ManyToOne.d.ts +2 -0
  741. package/decorator/relations/ManyToOne.js +3 -3
  742. package/decorator/relations/ManyToOne.js.map +1 -1
  743. package/decorator/relations/OneToMany.d.ts +1 -0
  744. package/decorator/relations/OneToMany.js +3 -3
  745. package/decorator/relations/OneToMany.js.map +1 -1
  746. package/decorator/relations/OneToOne.d.ts +2 -0
  747. package/decorator/relations/OneToOne.js +3 -3
  748. package/decorator/relations/OneToOne.js.map +1 -1
  749. package/decorator/relations/RelationId.d.ts +1 -0
  750. package/decorator/relations/RelationId.js +1 -0
  751. package/decorator/relations/RelationId.js.map +1 -1
  752. package/decorator/tree/Tree.d.ts +1 -0
  753. package/decorator/tree/Tree.js +1 -0
  754. package/decorator/tree/Tree.js.map +1 -1
  755. package/decorator/tree/TreeChildren.d.ts +1 -0
  756. package/decorator/tree/TreeChildren.js +3 -3
  757. package/decorator/tree/TreeChildren.js.map +1 -1
  758. package/decorator/tree/TreeParent.d.ts +1 -0
  759. package/decorator/tree/TreeParent.js +3 -3
  760. package/decorator/tree/TreeParent.js.map +1 -1
  761. package/driver/Driver.d.ts +5 -0
  762. package/driver/Driver.js.map +1 -1
  763. package/driver/DriverFactory.d.ts +1 -0
  764. package/driver/DriverFactory.js +1 -0
  765. package/driver/DriverFactory.js.map +1 -1
  766. package/driver/DriverUtils.d.ts +7 -0
  767. package/driver/DriverUtils.js +34 -21
  768. package/driver/DriverUtils.js.map +1 -1
  769. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
  770. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  771. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
  772. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
  773. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
  774. package/driver/aurora-mysql/AuroraMysqlDriver.js +53 -16
  775. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  776. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +64 -0
  777. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +90 -30
  778. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  779. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
  780. package/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
  781. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  782. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +3 -0
  783. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +27 -1
  784. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  785. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
  786. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
  787. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
  788. package/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
  789. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  790. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -0
  791. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  792. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  793. package/driver/capacitor/CapacitorDriver.d.ts +1 -0
  794. package/driver/capacitor/CapacitorDriver.js +3 -3
  795. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  796. package/driver/capacitor/CapacitorQueryRunner.d.ts +2 -0
  797. package/driver/capacitor/CapacitorQueryRunner.js +4 -2
  798. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  799. package/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
  800. package/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
  801. package/driver/cockroachdb/CockroachDriver.d.ts +35 -0
  802. package/driver/cockroachdb/CockroachDriver.js +64 -29
  803. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  804. package/driver/cockroachdb/CockroachQueryRunner.d.ts +74 -0
  805. package/driver/cockroachdb/CockroachQueryRunner.js +143 -119
  806. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  807. package/driver/cordova/CordovaDriver.d.ts +6 -0
  808. package/driver/cordova/CordovaDriver.js +14 -4
  809. package/driver/cordova/CordovaDriver.js.map +1 -1
  810. package/driver/cordova/CordovaQueryRunner.d.ts +2 -0
  811. package/driver/cordova/CordovaQueryRunner.js +3 -1
  812. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  813. package/driver/expo/ExpoDriver.js +1 -2
  814. package/driver/expo/ExpoDriver.js.map +1 -1
  815. package/driver/mongodb/MongoDriver.d.ts +25 -0
  816. package/driver/mongodb/MongoDriver.js +35 -6
  817. package/driver/mongodb/MongoDriver.js.map +1 -1
  818. package/driver/mongodb/MongoQueryRunner.d.ts +84 -0
  819. package/driver/mongodb/MongoQueryRunner.js +102 -18
  820. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  821. package/driver/mongodb/bson.typings.d.ts +1 -0
  822. package/driver/mongodb/bson.typings.js.map +1 -1
  823. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
  824. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  825. package/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
  826. package/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
  827. package/driver/mysql/MysqlDriver.d.ts +37 -0
  828. package/driver/mysql/MysqlDriver.js +57 -17
  829. package/driver/mysql/MysqlDriver.js.map +1 -1
  830. package/driver/mysql/MysqlQueryRunner.d.ts +64 -0
  831. package/driver/mysql/MysqlQueryRunner.js +140 -111
  832. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  833. package/driver/nativescript/NativescriptDriver.d.ts +1 -0
  834. package/driver/nativescript/NativescriptDriver.js +3 -4
  835. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  836. package/driver/nativescript/NativescriptQueryRunner.d.ts +2 -0
  837. package/driver/nativescript/NativescriptQueryRunner.js +3 -1
  838. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  839. package/driver/oracle/OracleDriver.d.ts +32 -0
  840. package/driver/oracle/OracleDriver.js +48 -15
  841. package/driver/oracle/OracleDriver.js.map +1 -1
  842. package/driver/oracle/OracleQueryRunner.d.ts +66 -0
  843. package/driver/oracle/OracleQueryRunner.js +119 -83
  844. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  845. package/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
  846. package/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
  847. package/driver/postgres/PostgresDriver.d.ts +37 -0
  848. package/driver/postgres/PostgresDriver.js +67 -31
  849. package/driver/postgres/PostgresDriver.js.map +1 -1
  850. package/driver/postgres/PostgresQueryRunner.d.ts +81 -0
  851. package/driver/postgres/PostgresQueryRunner.js +152 -121
  852. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  853. package/driver/react-native/ReactNativeDriver.d.ts +29 -0
  854. package/driver/react-native/ReactNativeDriver.js +45 -12
  855. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  856. package/driver/react-native/ReactNativeQueryRunner.d.ts +2 -0
  857. package/driver/react-native/ReactNativeQueryRunner.js +3 -1
  858. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  859. package/driver/sap/SapDataSourceOptions.d.ts +1 -0
  860. package/driver/sap/SapDataSourceOptions.js.map +1 -1
  861. package/driver/sap/SapDriver.d.ts +30 -0
  862. package/driver/sap/SapDriver.js +45 -11
  863. package/driver/sap/SapDriver.js.map +1 -1
  864. package/driver/sap/SapQueryRunner.d.ts +66 -0
  865. package/driver/sap/SapQueryRunner.js +101 -56
  866. package/driver/sap/SapQueryRunner.js.map +1 -1
  867. package/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
  868. package/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
  869. package/driver/spanner/SpannerDriver.d.ts +33 -0
  870. package/driver/spanner/SpannerDriver.js +50 -10
  871. package/driver/spanner/SpannerDriver.js.map +1 -1
  872. package/driver/spanner/SpannerQueryRunner.d.ts +64 -0
  873. package/driver/spanner/SpannerQueryRunner.js +89 -32
  874. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  875. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
  876. package/driver/sqlite-abstract/AbstractSqliteDriver.js +43 -77
  877. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  878. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
  879. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +89 -45
  880. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  881. package/driver/sqljs/SqljsDriver.d.ts +5 -0
  882. package/driver/sqljs/SqljsDriver.js +8 -4
  883. package/driver/sqljs/SqljsDriver.js.map +1 -1
  884. package/driver/sqljs/SqljsQueryRunner.d.ts +1 -0
  885. package/driver/sqljs/SqljsQueryRunner.js +1 -0
  886. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  887. package/driver/sqlserver/MssqlParameter.d.ts +1 -0
  888. package/driver/sqlserver/MssqlParameter.js +1 -0
  889. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  890. package/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
  891. package/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
  892. package/driver/sqlserver/SqlServerDriver.d.ts +42 -0
  893. package/driver/sqlserver/SqlServerDriver.js +100 -26
  894. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  895. package/driver/sqlserver/SqlServerQueryRunner.d.ts +76 -10
  896. package/driver/sqlserver/SqlServerQueryRunner.js +160 -163
  897. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  898. package/driver/types/IsolationLevel.d.ts +2 -1
  899. package/driver/types/IsolationLevel.js +8 -0
  900. package/driver/types/IsolationLevel.js.map +1 -1
  901. package/driver/validate-isolation-level.d.ts +9 -0
  902. package/driver/validate-isolation-level.js +23 -0
  903. package/driver/validate-isolation-level.js.map +1 -0
  904. package/entity-manager/EntityManager.d.ts +38 -1
  905. package/entity-manager/EntityManager.js +58 -12
  906. package/entity-manager/EntityManager.js.map +1 -1
  907. package/entity-manager/EntityManagerFactory.d.ts +1 -0
  908. package/entity-manager/EntityManagerFactory.js +1 -0
  909. package/entity-manager/EntityManagerFactory.js.map +1 -1
  910. package/entity-manager/MongoEntityManager.d.ts +54 -1
  911. package/entity-manager/MongoEntityManager.js +103 -12
  912. package/entity-manager/MongoEntityManager.js.map +1 -1
  913. package/entity-manager/SqljsEntityManager.d.ts +2 -0
  914. package/entity-manager/SqljsEntityManager.js +2 -0
  915. package/entity-manager/SqljsEntityManager.js.map +1 -1
  916. package/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
  917. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  918. package/entity-schema/EntitySchemaOptions.d.ts +1 -0
  919. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  920. package/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  921. package/entity-schema/EntitySchemaTransformer.js +25 -26
  922. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  923. package/error/InitializedRelationError.d.ts +1 -0
  924. package/error/InitializedRelationError.js +1 -0
  925. package/error/InitializedRelationError.js.map +1 -1
  926. package/find-options/FindOptionsUtils.d.ts +7 -0
  927. package/find-options/FindOptionsUtils.js +7 -0
  928. package/find-options/FindOptionsUtils.js.map +1 -1
  929. package/find-options/OrderByCondition.d.ts +2 -1
  930. package/find-options/OrderByCondition.js.map +1 -1
  931. package/find-options/operator/Any.d.ts +4 -1
  932. package/find-options/operator/Any.js +4 -1
  933. package/find-options/operator/Any.js.map +1 -1
  934. package/find-options/operator/ArrayContainedBy.d.ts +4 -1
  935. package/find-options/operator/ArrayContainedBy.js +4 -1
  936. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  937. package/find-options/operator/ArrayContains.d.ts +4 -1
  938. package/find-options/operator/ArrayContains.js +4 -1
  939. package/find-options/operator/ArrayContains.js.map +1 -1
  940. package/find-options/operator/ArrayOverlap.d.ts +4 -1
  941. package/find-options/operator/ArrayOverlap.js +4 -1
  942. package/find-options/operator/ArrayOverlap.js.map +1 -1
  943. package/find-options/operator/Between.d.ts +4 -1
  944. package/find-options/operator/Between.js +4 -1
  945. package/find-options/operator/Between.js.map +1 -1
  946. package/find-options/operator/Equal.d.ts +6 -3
  947. package/find-options/operator/Equal.js +6 -3
  948. package/find-options/operator/Equal.js.map +1 -1
  949. package/find-options/operator/ILike.d.ts +4 -1
  950. package/find-options/operator/ILike.js +4 -1
  951. package/find-options/operator/ILike.js.map +1 -1
  952. package/find-options/operator/In.d.ts +4 -1
  953. package/find-options/operator/In.js +4 -1
  954. package/find-options/operator/In.js.map +1 -1
  955. package/find-options/operator/IsNull.d.ts +4 -1
  956. package/find-options/operator/IsNull.js +4 -1
  957. package/find-options/operator/IsNull.js.map +1 -1
  958. package/find-options/operator/JsonContains.d.ts +4 -1
  959. package/find-options/operator/JsonContains.js +4 -1
  960. package/find-options/operator/JsonContains.js.map +1 -1
  961. package/find-options/operator/LessThan.d.ts +4 -1
  962. package/find-options/operator/LessThan.js +4 -1
  963. package/find-options/operator/LessThan.js.map +1 -1
  964. package/find-options/operator/LessThanOrEqual.d.ts +4 -1
  965. package/find-options/operator/LessThanOrEqual.js +4 -1
  966. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  967. package/find-options/operator/Like.d.ts +4 -1
  968. package/find-options/operator/Like.js +4 -1
  969. package/find-options/operator/Like.js.map +1 -1
  970. package/find-options/operator/MoreThan.d.ts +4 -1
  971. package/find-options/operator/MoreThan.js +4 -1
  972. package/find-options/operator/MoreThan.js.map +1 -1
  973. package/find-options/operator/MoreThanOrEqual.d.ts +4 -1
  974. package/find-options/operator/MoreThanOrEqual.js +4 -1
  975. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  976. package/find-options/operator/Not.d.ts +4 -1
  977. package/find-options/operator/Not.js +4 -1
  978. package/find-options/operator/Not.js.map +1 -1
  979. package/find-options/operator/Raw.d.ts +12 -3
  980. package/find-options/operator/Raw.js.map +1 -1
  981. package/globals.js +1 -2
  982. package/globals.js.map +1 -1
  983. package/logger/AbstractLogger.d.ts +9 -0
  984. package/logger/AbstractLogger.js +10 -2
  985. package/logger/AbstractLogger.js.map +1 -1
  986. package/logger/AdvancedConsoleLogger.d.ts +1 -0
  987. package/logger/AdvancedConsoleLogger.js +1 -0
  988. package/logger/AdvancedConsoleLogger.js.map +1 -1
  989. package/logger/DebugLogger.d.ts +2 -0
  990. package/logger/DebugLogger.js +3 -1
  991. package/logger/DebugLogger.js.map +1 -1
  992. package/logger/FileLogger.d.ts +13 -2
  993. package/logger/FileLogger.js +4 -5
  994. package/logger/FileLogger.js.map +1 -1
  995. package/logger/FormattedConsoleLogger.d.ts +1 -0
  996. package/logger/FormattedConsoleLogger.js +1 -0
  997. package/logger/FormattedConsoleLogger.js.map +1 -1
  998. package/logger/LoggerFactory.d.ts +1 -0
  999. package/logger/LoggerFactory.js +1 -0
  1000. package/logger/LoggerFactory.js.map +1 -1
  1001. package/logger/LoggerOptions.d.ts +0 -9
  1002. package/logger/LoggerOptions.js.map +1 -1
  1003. package/logger/SimpleConsoleLogger.d.ts +1 -0
  1004. package/logger/SimpleConsoleLogger.js +1 -0
  1005. package/logger/SimpleConsoleLogger.js.map +1 -1
  1006. package/metadata/CheckMetadata.d.ts +1 -0
  1007. package/metadata/CheckMetadata.js +4 -3
  1008. package/metadata/CheckMetadata.js.map +1 -1
  1009. package/metadata/ColumnMetadata.d.ts +8 -5
  1010. package/metadata/ColumnMetadata.js +17 -25
  1011. package/metadata/ColumnMetadata.js.map +1 -1
  1012. package/metadata/EmbeddedMetadata.d.ts +1 -0
  1013. package/metadata/EmbeddedMetadata.js +1 -0
  1014. package/metadata/EmbeddedMetadata.js.map +1 -1
  1015. package/metadata/EntityListenerMetadata.d.ts +3 -0
  1016. package/metadata/EntityListenerMetadata.js +3 -0
  1017. package/metadata/EntityListenerMetadata.js.map +1 -1
  1018. package/metadata/EntityMetadata.d.ts +25 -5
  1019. package/metadata/EntityMetadata.js +32 -12
  1020. package/metadata/EntityMetadata.js.map +1 -1
  1021. package/metadata/ExclusionMetadata.d.ts +1 -0
  1022. package/metadata/ExclusionMetadata.js +4 -3
  1023. package/metadata/ExclusionMetadata.js.map +1 -1
  1024. package/metadata/ForeignKeyMetadata.d.ts +1 -0
  1025. package/metadata/ForeignKeyMetadata.js +6 -5
  1026. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1027. package/metadata/IndexMetadata.d.ts +1 -0
  1028. package/metadata/IndexMetadata.js +4 -3
  1029. package/metadata/IndexMetadata.js.map +1 -1
  1030. package/metadata/RelationIdMetadata.d.ts +1 -0
  1031. package/metadata/RelationIdMetadata.js +1 -0
  1032. package/metadata/RelationIdMetadata.js.map +1 -1
  1033. package/metadata/RelationMetadata.d.ts +8 -0
  1034. package/metadata/RelationMetadata.js +15 -15
  1035. package/metadata/RelationMetadata.js.map +1 -1
  1036. package/metadata/UniqueMetadata.d.ts +1 -0
  1037. package/metadata/UniqueMetadata.js +4 -3
  1038. package/metadata/UniqueMetadata.js.map +1 -1
  1039. package/metadata-args/MetadataArgsStorage.d.ts +4 -0
  1040. package/metadata-args/MetadataArgsStorage.js +4 -0
  1041. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1042. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
  1043. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
  1044. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1045. package/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
  1046. package/metadata-builder/EntityMetadataBuilder.js +11 -6
  1047. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1048. package/metadata-builder/EntityMetadataValidator.d.ts +4 -0
  1049. package/metadata-builder/EntityMetadataValidator.js +6 -43
  1050. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1051. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
  1052. package/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
  1053. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1054. package/metadata-builder/MetadataUtils.d.ts +3 -0
  1055. package/metadata-builder/MetadataUtils.js +4 -1
  1056. package/metadata-builder/MetadataUtils.js.map +1 -1
  1057. package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
  1058. package/metadata-builder/RelationJoinColumnBuilder.js +17 -1
  1059. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1060. package/migration/MigrationExecutor.d.ts +9 -0
  1061. package/migration/MigrationExecutor.js +16 -7
  1062. package/migration/MigrationExecutor.js.map +1 -1
  1063. package/naming-strategy/DefaultNamingStrategy.d.ts +3 -0
  1064. package/naming-strategy/DefaultNamingStrategy.js +13 -10
  1065. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1066. package/naming-strategy/NamingStrategyInterface.d.ts +2 -0
  1067. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1068. package/package.json +6 -2
  1069. package/persistence/EntityPersistExecutor.js +2 -4
  1070. package/persistence/EntityPersistExecutor.js.map +1 -1
  1071. package/persistence/Subject.js +4 -6
  1072. package/persistence/Subject.js.map +1 -1
  1073. package/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
  1074. package/persistence/SubjectChangedColumnsComputer.js +3 -0
  1075. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1076. package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
  1077. package/persistence/SubjectDatabaseEntityLoader.js +3 -1
  1078. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1079. package/persistence/SubjectExecutor.d.ts +2 -0
  1080. package/persistence/SubjectExecutor.js +15 -27
  1081. package/persistence/SubjectExecutor.js.map +1 -1
  1082. package/persistence/SubjectTopologicalSorter.d.ts +4 -0
  1083. package/persistence/SubjectTopologicalSorter.js +4 -0
  1084. package/persistence/SubjectTopologicalSorter.js.map +1 -1
  1085. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
  1086. package/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
  1087. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1088. package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
  1089. package/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
  1090. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1091. package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
  1092. package/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
  1093. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1094. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
  1095. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
  1096. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1097. package/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
  1098. package/persistence/tree/ClosureSubjectExecutor.js +10 -8
  1099. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1100. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
  1101. package/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
  1102. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1103. package/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
  1104. package/persistence/tree/NestedSetSubjectExecutor.js +10 -5
  1105. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1106. package/platform/PlatformTools.d.ts +9 -0
  1107. package/platform/PlatformTools.js +10 -1
  1108. package/platform/PlatformTools.js.map +1 -1
  1109. package/query-builder/Alias.js +1 -1
  1110. package/query-builder/Alias.js.map +1 -1
  1111. package/query-builder/Brackets.d.ts +1 -0
  1112. package/query-builder/Brackets.js +1 -0
  1113. package/query-builder/Brackets.js.map +1 -1
  1114. package/query-builder/DeleteQueryBuilder.d.ts +7 -0
  1115. package/query-builder/DeleteQueryBuilder.js +9 -0
  1116. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1117. package/query-builder/InsertQueryBuilder.d.ts +9 -0
  1118. package/query-builder/InsertQueryBuilder.js +14 -8
  1119. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1120. package/query-builder/JoinAttribute.js +3 -3
  1121. package/query-builder/JoinAttribute.js.map +1 -1
  1122. package/query-builder/QueryBuilder.d.ts +25 -4
  1123. package/query-builder/QueryBuilder.js +58 -15
  1124. package/query-builder/QueryBuilder.js.map +1 -1
  1125. package/query-builder/QueryBuilderUtils.d.ts +1 -0
  1126. package/query-builder/QueryBuilderUtils.js +1 -0
  1127. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1128. package/query-builder/QueryExpressionMap.d.ts +5 -0
  1129. package/query-builder/QueryExpressionMap.js +4 -1
  1130. package/query-builder/QueryExpressionMap.js.map +1 -1
  1131. package/query-builder/RelationIdLoader.d.ts +6 -35
  1132. package/query-builder/RelationIdLoader.js +19 -43
  1133. package/query-builder/RelationIdLoader.js.map +1 -1
  1134. package/query-builder/RelationLoader.d.ts +11 -2
  1135. package/query-builder/RelationLoader.js +20 -17
  1136. package/query-builder/RelationLoader.js.map +1 -1
  1137. package/query-builder/RelationQueryBuilder.d.ts +5 -0
  1138. package/query-builder/RelationQueryBuilder.js +5 -0
  1139. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1140. package/query-builder/RelationRemover.d.ts +1 -0
  1141. package/query-builder/RelationRemover.js +1 -0
  1142. package/query-builder/RelationRemover.js.map +1 -1
  1143. package/query-builder/RelationUpdater.d.ts +1 -0
  1144. package/query-builder/RelationUpdater.js +1 -0
  1145. package/query-builder/RelationUpdater.js.map +1 -1
  1146. package/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
  1147. package/query-builder/ReturningResultsEntityUpdator.js +3 -1
  1148. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1149. package/query-builder/SelectQueryBuilder.d.ts +31 -8
  1150. package/query-builder/SelectQueryBuilder.js +98 -70
  1151. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1152. package/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
  1153. package/query-builder/SoftDeleteQueryBuilder.js +17 -0
  1154. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1155. package/query-builder/UpdateQueryBuilder.d.ts +11 -0
  1156. package/query-builder/UpdateQueryBuilder.js +18 -1
  1157. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1158. package/query-builder/relation-id/RelationIdAttribute.js +5 -5
  1159. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1160. package/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
  1161. package/query-builder/relation-id/RelationIdLoader.js +6 -3
  1162. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1163. package/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
  1164. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1165. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
  1166. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1167. package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
  1168. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  1169. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1170. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
  1171. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
  1172. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1173. package/query-runner/BaseQueryRunner.d.ts +21 -1
  1174. package/query-runner/BaseQueryRunner.js +36 -49
  1175. package/query-runner/BaseQueryRunner.js.map +1 -1
  1176. package/query-runner/QueryRunner.d.ts +5 -1
  1177. package/query-runner/QueryRunner.js.map +1 -1
  1178. package/repository/BaseEntity.d.ts +32 -0
  1179. package/repository/BaseEntity.js +36 -0
  1180. package/repository/BaseEntity.js.map +1 -1
  1181. package/repository/MongoRepository.d.ts +39 -0
  1182. package/repository/MongoRepository.js +41 -2
  1183. package/repository/MongoRepository.js.map +1 -1
  1184. package/repository/Repository.d.ts +37 -1
  1185. package/repository/Repository.js +43 -2
  1186. package/repository/Repository.js.map +1 -1
  1187. package/repository/TreeRepository.d.ts +11 -0
  1188. package/repository/TreeRepository.js +12 -1
  1189. package/repository/TreeRepository.js.map +1 -1
  1190. package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
  1191. package/schema-builder/RdbmsSchemaBuilder.js +10 -13
  1192. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1193. package/schema-builder/table/Table.d.ts +17 -0
  1194. package/schema-builder/table/Table.js +19 -2
  1195. package/schema-builder/table/Table.js.map +1 -1
  1196. package/schema-builder/table/TableCheck.d.ts +1 -0
  1197. package/schema-builder/table/TableCheck.js +1 -0
  1198. package/schema-builder/table/TableCheck.js.map +1 -1
  1199. package/schema-builder/table/TableColumn.js +7 -7
  1200. package/schema-builder/table/TableColumn.js.map +1 -1
  1201. package/schema-builder/table/TableExclusion.d.ts +1 -0
  1202. package/schema-builder/table/TableExclusion.js +1 -0
  1203. package/schema-builder/table/TableExclusion.js.map +1 -1
  1204. package/schema-builder/table/TableForeignKey.d.ts +1 -0
  1205. package/schema-builder/table/TableForeignKey.js +1 -0
  1206. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1207. package/schema-builder/table/TableIndex.d.ts +1 -0
  1208. package/schema-builder/table/TableIndex.js +2 -1
  1209. package/schema-builder/table/TableIndex.js.map +1 -1
  1210. package/schema-builder/table/TableUnique.d.ts +1 -0
  1211. package/schema-builder/table/TableUnique.js +1 -0
  1212. package/schema-builder/table/TableUnique.js.map +1 -1
  1213. package/schema-builder/util/ViewUtils.d.ts +1 -0
  1214. package/schema-builder/util/ViewUtils.js +1 -0
  1215. package/schema-builder/util/ViewUtils.js.map +1 -1
  1216. package/schema-builder/view/View.d.ts +3 -0
  1217. package/schema-builder/view/View.js +3 -0
  1218. package/schema-builder/view/View.js.map +1 -1
  1219. package/subscriber/Broadcaster.d.ts +20 -0
  1220. package/subscriber/Broadcaster.js +25 -6
  1221. package/subscriber/Broadcaster.js.map +1 -1
  1222. package/subscriber/event/BaseEvent.d.ts +1 -0
  1223. package/subscriber/event/BaseEvent.js.map +1 -1
  1224. package/util/DateUtils.d.ts +15 -0
  1225. package/util/DateUtils.js +15 -0
  1226. package/util/DateUtils.js.map +1 -1
  1227. package/util/DepGraph.d.ts +10 -0
  1228. package/util/DepGraph.js +11 -0
  1229. package/util/DepGraph.js.map +1 -1
  1230. package/util/DirectoryExportedClassesLoader.d.ts +1 -0
  1231. package/util/DirectoryExportedClassesLoader.js +1 -0
  1232. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1233. package/util/ObjectUtils.d.ts +6 -0
  1234. package/util/ObjectUtils.js +4 -0
  1235. package/util/ObjectUtils.js.map +1 -1
  1236. package/util/OrmUtils.d.ts +14 -0
  1237. package/util/OrmUtils.js +18 -6
  1238. package/util/OrmUtils.js.map +1 -1
  1239. package/util/PathUtils.d.ts +2 -0
  1240. package/util/PathUtils.js +2 -0
  1241. package/util/PathUtils.js.map +1 -1
  1242. package/util/RandomGenerator.d.ts +2 -0
  1243. package/util/RandomGenerator.js +2 -0
  1244. package/util/RandomGenerator.js.map +1 -1
  1245. package/util/StringUtils.d.ts +11 -4
  1246. package/util/StringUtils.js +15 -7
  1247. package/util/StringUtils.js.map +1 -1
  1248. package/util/TreeRepositoryUtils.js +2 -2
  1249. package/util/TreeRepositoryUtils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCreateCommand.js","sourceRoot":"","sources":["../../../src/commands/EntityCreateCommand.ts"],"names":[],"mappings":";;;;AAAA,0DAAwB;AACxB,wDAAuB;AAEvB,6DAAyD;AACzD,iDAA6C;AAE7C;;GAEG;AACH,MAAa,mBAAmB;IAAhC;QACI,YAAO,GAAG,sBAAsB,CAAA;QAChC,aAAQ,GAAG,yBAAyB,CAAA;IAgDxC,CAAC;IA9CG,OAAO,CAAC,IAAgB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,yBAAyB;YACnC,YAAY,EAAE,IAAI;SACrB,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB;QAC/B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAe,CAAC,UAAU,CAAC,GAAG,CAAC;gBAClD,CAAC,CAAE,IAAI,CAAC,IAAe;gBACvB,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAc,CAAC,CAAA;YACtD,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC7D,MAAM,UAAU,GAAG,MAAM,2BAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAA;YAClE,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAA;YAC3D,CAAC;YACD,MAAM,2BAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,EAAE,WAAW,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,KAAK,CAAA,UAAU,eAAI,CAAC,IAAI,CAAA,GAAG,QAAQ,KAAK,iCAAiC,CACjF,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,6BAAa,CAAC,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,4EAA4E;IAE5E;;;OAGG;IACO,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,OAAO;;;eAGA,IAAI;;;CAGlB,CAAA;IACG,CAAC;CACJ;AAlDD,kDAkDC","sourcesContent":["import ansi from \"ansis\"\nimport path from \"path\"\nimport type yargs from \"yargs\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Generates a new entity.\n */\nexport class EntityCreateCommand implements yargs.CommandModule {\n command = \"entity:create <path>\"\n describe = \"Generates a new entity.\"\n\n builder(args: yargs.Argv) {\n return args.positional(\"path\", {\n type: \"string\",\n describe: \"Path of the entity file\",\n demandOption: true,\n })\n }\n\n async handler(args: yargs.Arguments) {\n try {\n const fullPath = (args.path as string).startsWith(\"/\")\n ? (args.path as string)\n : path.resolve(process.cwd(), args.path as string)\n const filename = path.basename(fullPath)\n const fileContent = EntityCreateCommand.getTemplate(filename)\n const fileExists = await CommandUtils.fileExists(fullPath + \".ts\")\n if (fileExists) {\n throw new Error(`File \"${fullPath}.ts\" already exists`)\n }\n await CommandUtils.createFile(fullPath + \".ts\", fileContent)\n console.log(\n ansi.green`Entity ${ansi.blue`${fullPath}.ts`} has been created successfully.`,\n )\n } catch (error) {\n PlatformTools.logCmdErr(\"Error during entity creation:\", error)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the entity file.\n * @param name\n */\n protected static getTemplate(name: string): string {\n return `import { Entity } from \"typeorm\"\n\n@Entity()\nexport class ${name} {\n\n}\n`\n }\n}\n"]}
1
+ {"version":3,"file":"EntityCreateCommand.js","sourceRoot":"","sources":["../../../src/commands/EntityCreateCommand.ts"],"names":[],"mappings":";;;;AAAA,0DAAwB;AACxB,wDAAuB;AAEvB,6DAAyD;AACzD,iDAA6C;AAE7C;;GAEG;AACH,MAAa,mBAAmB;IAAhC;QACI,YAAO,GAAG,sBAAsB,CAAA;QAChC,aAAQ,GAAG,yBAAyB,CAAA;IAiDxC,CAAC;IA/CG,OAAO,CAAC,IAAgB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,yBAAyB;YACnC,YAAY,EAAE,IAAI;SACrB,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB;QAC/B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAe,CAAC,UAAU,CAAC,GAAG,CAAC;gBAClD,CAAC,CAAE,IAAI,CAAC,IAAe;gBACvB,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAc,CAAC,CAAA;YACtD,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC7D,MAAM,UAAU,GAAG,MAAM,2BAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAA;YAClE,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAA;YAC3D,CAAC;YACD,MAAM,2BAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,EAAE,WAAW,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,KAAK,CAAA,UAAU,eAAI,CAAC,IAAI,CAAA,GAAG,QAAQ,KAAK,iCAAiC,CACjF,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,6BAAa,CAAC,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,4EAA4E;IAE5E;;;;OAIG;IACO,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,OAAO;;;eAGA,IAAI;;;CAGlB,CAAA;IACG,CAAC;CACJ;AAnDD,kDAmDC","sourcesContent":["import ansi from \"ansis\"\nimport path from \"path\"\nimport type yargs from \"yargs\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Generates a new entity.\n */\nexport class EntityCreateCommand implements yargs.CommandModule {\n command = \"entity:create <path>\"\n describe = \"Generates a new entity.\"\n\n builder(args: yargs.Argv) {\n return args.positional(\"path\", {\n type: \"string\",\n describe: \"Path of the entity file\",\n demandOption: true,\n })\n }\n\n async handler(args: yargs.Arguments) {\n try {\n const fullPath = (args.path as string).startsWith(\"/\")\n ? (args.path as string)\n : path.resolve(process.cwd(), args.path as string)\n const filename = path.basename(fullPath)\n const fileContent = EntityCreateCommand.getTemplate(filename)\n const fileExists = await CommandUtils.fileExists(fullPath + \".ts\")\n if (fileExists) {\n throw new Error(`File \"${fullPath}.ts\" already exists`)\n }\n await CommandUtils.createFile(fullPath + \".ts\", fileContent)\n console.log(\n ansi.green`Entity ${ansi.blue`${fullPath}.ts`} has been created successfully.`,\n )\n } catch (error) {\n PlatformTools.logCmdErr(\"Error during entity creation:\", error)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the entity file.\n *\n * @param name\n */\n protected static getTemplate(name: string): string {\n return `import { Entity } from \"typeorm\"\n\n@Entity()\nexport class ${name} {\n\n}\n`\n }\n}\n"]}
@@ -22,12 +22,14 @@ export declare class InitCommand implements yargs.CommandModule {
22
22
  protected static executeCommand(command: string, cwd: string): Promise<string>;
23
23
  /**
24
24
  * Gets contents of the ormconfig file.
25
+ *
25
26
  * @param isEsm
26
27
  * @param database
27
28
  */
28
29
  protected static getAppDataSourceTemplate(isEsm: boolean, database: string): string;
29
30
  /**
30
31
  * Gets contents of the ormconfig file.
32
+ *
31
33
  * @param esmModule
32
34
  */
33
35
  protected static getTsConfigTemplate(esmModule: boolean): string;
@@ -37,38 +39,45 @@ export declare class InitCommand implements yargs.CommandModule {
37
39
  protected static getGitIgnoreFile(): string;
38
40
  /**
39
41
  * Gets contents of the user entity.
42
+ *
40
43
  * @param database
41
44
  */
42
45
  protected static getUserEntityTemplate(database: string): string;
43
46
  /**
44
47
  * Gets contents of the route file (used when express is enabled).
48
+ *
45
49
  * @param isEsm
46
50
  */
47
51
  protected static getRoutesTemplate(isEsm: boolean): string;
48
52
  /**
49
53
  * Gets contents of the user controller file (used when express is enabled).
54
+ *
50
55
  * @param isEsm
51
56
  */
52
57
  protected static getControllerTemplate(isEsm: boolean): string;
53
58
  /**
54
59
  * Gets contents of the main (index) application file.
60
+ *
55
61
  * @param express
56
62
  * @param isEsm
57
63
  */
58
64
  protected static getAppIndexTemplate(express: boolean, isEsm: boolean): string;
59
65
  /**
60
66
  * Gets contents of the new package.json file.
67
+ *
61
68
  * @param projectName
62
69
  * @param projectIsEsm
63
70
  */
64
71
  protected static getPackageJsonTemplate(projectName?: string, projectIsEsm?: boolean): string;
65
72
  /**
66
73
  * Gets contents of the new docker-compose.yml file.
74
+ *
67
75
  * @param database
68
76
  */
69
77
  protected static getDockerComposeTemplate(database: string): string;
70
78
  /**
71
79
  * Gets contents of the new readme.md file.
80
+ *
72
81
  * @param options
73
82
  * @param options.docker
74
83
  */
@@ -77,6 +86,7 @@ export declare class InitCommand implements yargs.CommandModule {
77
86
  }): string;
78
87
  /**
79
88
  * Appends to a given package.json template everything needed.
89
+ *
80
90
  * @param packageJsonContents
81
91
  * @param database
82
92
  * @param express
@@ -60,7 +60,7 @@ class InitCommand {
60
60
  }
61
61
  async handler(args) {
62
62
  try {
63
- const database = args.database || "postgres";
63
+ const database = args.database ?? "postgres";
64
64
  const isExpress = args.express !== undefined ? true : false;
65
65
  const isDocker = args.docker !== undefined ? true : false;
66
66
  const basePath = process.cwd() + (args.name ? "/" + args.name : "");
@@ -124,6 +124,7 @@ class InitCommand {
124
124
  }
125
125
  /**
126
126
  * Gets contents of the ormconfig file.
127
+ *
127
128
  * @param isEsm
128
129
  * @param database
129
130
  */
@@ -225,6 +226,7 @@ ${dbSettings.map((s) => ` ${s},`).join("\n")}
225
226
  }
226
227
  /**
227
228
  * Gets contents of the ormconfig file.
229
+ *
228
230
  * @param esmModule
229
231
  */
230
232
  static getTsConfigTemplate(esmModule) {
@@ -269,6 +271,7 @@ temp/`;
269
271
  }
270
272
  /**
271
273
  * Gets contents of the user entity.
274
+ *
272
275
  * @param database
273
276
  */
274
277
  static getUserEntityTemplate(database) {
@@ -298,6 +301,7 @@ export class User {
298
301
  }
299
302
  /**
300
303
  * Gets contents of the route file (used when express is enabled).
304
+ *
301
305
  * @param isEsm
302
306
  */
303
307
  static getRoutesTemplate(isEsm) {
@@ -327,6 +331,7 @@ export const Routes = [{
327
331
  }
328
332
  /**
329
333
  * Gets contents of the user controller file (used when express is enabled).
334
+ *
330
335
  * @param isEsm
331
336
  */
332
337
  static getControllerTemplate(isEsm) {
@@ -386,6 +391,7 @@ export class UserController {
386
391
  }
387
392
  /**
388
393
  * Gets contents of the main (index) application file.
394
+ *
389
395
  * @param express
390
396
  * @param isEsm
391
397
  */
@@ -471,12 +477,13 @@ AppDataSource.initialize().then(async () => {
471
477
  }
472
478
  /**
473
479
  * Gets contents of the new package.json file.
480
+ *
474
481
  * @param projectName
475
482
  * @param projectIsEsm
476
483
  */
477
484
  static getPackageJsonTemplate(projectName, projectIsEsm) {
478
485
  return JSON.stringify({
479
- name: projectName || "typeorm-sample",
486
+ name: projectName ?? "typeorm-sample",
480
487
  version: "0.0.1",
481
488
  description: "Awesome project developed with TypeORM.",
482
489
  type: projectIsEsm ? "module" : "commonjs",
@@ -487,6 +494,7 @@ AppDataSource.initialize().then(async () => {
487
494
  }
488
495
  /**
489
496
  * Gets contents of the new docker-compose.yml file.
497
+ *
490
498
  * @param database
491
499
  */
492
500
  static getDockerComposeTemplate(database) {
@@ -580,6 +588,7 @@ AppDataSource.initialize().then(async () => {
580
588
  }
581
589
  /**
582
590
  * Gets contents of the new readme.md file.
591
+ *
583
592
  * @param options
584
593
  * @param options.docker
585
594
  */
@@ -604,6 +613,7 @@ Steps to run this project:
604
613
  }
605
614
  /**
606
615
  * Appends to a given package.json template everything needed.
616
+ *
607
617
  * @param packageJsonContents
608
618
  * @param database
609
619
  * @param express
@@ -611,17 +621,15 @@ Steps to run this project:
611
621
  */
612
622
  static async appendPackageJson(packageJsonContents, database, express, projectIsEsm /*, docker: boolean*/) {
613
623
  const packageJson = JSON.parse(packageJsonContents);
614
- const ourPackageJson = JSON.parse(await CommandUtils_1.CommandUtils.readFile(`${__dirname}/../package.json`));
615
- if (!packageJson.devDependencies)
616
- packageJson.devDependencies = {};
624
+ const ourPackageJson = JSON.parse(await CommandUtils_1.CommandUtils.readFile(path_1.default.resolve(__dirname, "..", "package.json")));
625
+ packageJson.devDependencies ??= {};
617
626
  packageJson.devDependencies = {
618
627
  "@types/node": ourPackageJson.devDependencies["@types/node"],
619
628
  "ts-node": ourPackageJson.devDependencies["ts-node"],
620
629
  typescript: ourPackageJson.devDependencies.typescript,
621
630
  ...packageJson.devDependencies,
622
631
  };
623
- if (!packageJson.dependencies)
624
- packageJson.dependencies = {};
632
+ packageJson.dependencies ??= {};
625
633
  packageJson.dependencies = {
626
634
  ...packageJson.dependencies,
627
635
  "reflect-metadata": ourPackageJson.dependencies["reflect-metadata"],
@@ -663,8 +671,7 @@ Steps to run this project:
663
671
  packageJson.dependencies["express"] = "^4.21.2";
664
672
  packageJson.dependencies["body-parser"] = "^1.20.3";
665
673
  }
666
- if (!packageJson.scripts)
667
- packageJson.scripts = {};
674
+ packageJson.scripts ??= {};
668
675
  if (projectIsEsm)
669
676
  Object.assign(packageJson.scripts, {
670
677
  start: /*(docker ? "docker-compose up && " : "") + */ "node --loader ts-node/esm src/index.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../src/commands/InitCommand.ts"],"names":[],"mappings":"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","sourcesContent":["import ansi from \"ansis\"\nimport { exec } from \"child_process\"\nimport path from \"path\"\nimport type yargs from \"yargs\"\nimport { TypeORMError } from \"../error\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Generates a new project with TypeORM.\n */\nexport class InitCommand implements yargs.CommandModule {\n command = \"init\"\n describe =\n \"Generates initial TypeORM project structure. \" +\n \"If name specified then creates files inside directory called as name. \" +\n \"If its not specified then creates files inside current directory.\"\n\n builder(args: yargs.Argv) {\n return args\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the project directory.\",\n })\n .option(\"db\", {\n alias: \"database\",\n describe: \"Database type you'll use in your project.\",\n choices: [\n \"postgres\",\n \"mysql\",\n \"mariadb\",\n \"better-sqlite3\",\n \"mssql\",\n \"oracle\",\n \"mongodb\",\n \"cockroachdb\",\n \"spanner\",\n ],\n })\n .option(\"express\", {\n describe:\n \"Indicates if express server sample code should be included in the project. False by default.\",\n })\n .option(\"docker\", {\n describe:\n \"Set to true if docker-compose must be generated as well. False by default.\",\n })\n .option(\"pm\", {\n alias: \"manager\",\n choices: [\"npm\", \"yarn\"],\n default: \"npm\",\n describe: \"Install packages, expected values are npm or yarn.\",\n })\n .option(\"ms\", {\n alias: \"module\",\n choices: [\"commonjs\", \"esm\"],\n default: \"commonjs\",\n describe:\n \"Module system to use for project, expected values are commonjs or esm.\",\n })\n }\n\n async handler(args: yargs.Arguments) {\n try {\n const database: string = (args.database as any) || \"postgres\"\n const isExpress = args.express !== undefined ? true : false\n const isDocker = args.docker !== undefined ? true : false\n const basePath = process.cwd() + (args.name ? \"/\" + args.name : \"\")\n const projectName = args.name\n ? path.basename(args.name as any)\n : undefined\n const installNpm = args.pm === \"yarn\" ? false : true\n const projectIsEsm = args.ms === \"esm\"\n await CommandUtils.createFile(\n basePath + \"/package.json\",\n InitCommand.getPackageJsonTemplate(projectName, projectIsEsm),\n false,\n )\n if (isDocker)\n await CommandUtils.createFile(\n basePath + \"/docker-compose.yml\",\n InitCommand.getDockerComposeTemplate(database),\n false,\n )\n await CommandUtils.createFile(\n basePath + \"/.gitignore\",\n InitCommand.getGitIgnoreFile(),\n )\n await CommandUtils.createFile(\n basePath + \"/README.md\",\n InitCommand.getReadmeTemplate({ docker: isDocker }),\n false,\n )\n await CommandUtils.createFile(\n basePath + \"/tsconfig.json\",\n InitCommand.getTsConfigTemplate(projectIsEsm),\n )\n await CommandUtils.createFile(\n basePath + \"/src/entities/User.ts\",\n InitCommand.getUserEntityTemplate(database),\n )\n await CommandUtils.createFile(\n basePath + \"/src/data-source.ts\",\n InitCommand.getAppDataSourceTemplate(projectIsEsm, database),\n )\n await CommandUtils.createFile(\n basePath + \"/src/index.ts\",\n InitCommand.getAppIndexTemplate(isExpress, projectIsEsm),\n )\n await CommandUtils.createDirectories(basePath + \"/src/migrations\")\n\n // generate extra files for express application\n if (isExpress) {\n await CommandUtils.createFile(\n basePath + \"/src/routes.ts\",\n InitCommand.getRoutesTemplate(projectIsEsm),\n )\n await CommandUtils.createFile(\n basePath + \"/src/controllers/UserController.ts\",\n InitCommand.getControllerTemplate(projectIsEsm),\n )\n }\n\n const packageJsonContents = await CommandUtils.readFile(\n basePath + \"/package.json\",\n )\n await CommandUtils.createFile(\n basePath + \"/package.json\",\n await InitCommand.appendPackageJson(\n packageJsonContents,\n database,\n isExpress,\n projectIsEsm,\n ),\n )\n\n if (args.name) {\n console.log(\n ansi.green`Project created inside ${ansi.blue(\n basePath,\n )} directory.`,\n )\n } else {\n console.log(\n ansi.green`Project created inside current directory.`,\n )\n }\n\n console.log(ansi.green`Please wait, installing dependencies...`)\n if (args.pm && installNpm) {\n await InitCommand.executeCommand(\"npm install\", basePath)\n } else {\n await InitCommand.executeCommand(\"yarn install\", basePath)\n }\n\n console.log(ansi.green`Done! Start playing with a new project!`)\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during project initialization:\", err)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n protected static executeCommand(command: string, cwd: string) {\n return new Promise<string>((ok, fail) => {\n exec(command, { cwd }, (error: any, stdout: any, stderr: any) => {\n if (stdout) return ok(stdout)\n if (stderr) return fail(stderr)\n if (error) return fail(error)\n ok(\"\")\n })\n })\n }\n\n /**\n * Gets contents of the ormconfig file.\n * @param isEsm\n * @param database\n */\n protected static getAppDataSourceTemplate(\n isEsm: boolean,\n database: string,\n ): string {\n let dbSettings: string[]\n\n switch (database) {\n case \"mysql\":\n dbSettings = [\n 'type: \"mysql\"',\n 'host: \"localhost\"',\n \"port: 3306\",\n 'username: \"root\"',\n 'password: \"password\"',\n 'database: \"typeorm\"',\n ]\n break\n\n case \"mariadb\":\n dbSettings = [\n 'type: \"mariadb\"',\n 'host: \"localhost\"',\n \"port: 3306\",\n 'username: \"root\"',\n 'password: \"password\"',\n 'database: \"typeorm\"',\n ]\n break\n\n case \"better-sqlite3\":\n dbSettings = [\n 'type: \"better-sqlite3\"',\n 'database: \"database.sqlite\"',\n ]\n break\n\n case \"postgres\":\n dbSettings = [\n 'type: \"postgres\"',\n 'host: \"localhost\"',\n \"port: 5432\",\n 'username: \"root\"',\n 'password: \"password\"',\n 'database: \"typeorm\"',\n ]\n break\n\n case \"cockroachdb\":\n dbSettings = [\n 'type: \"cockroachdb\"',\n 'host: \"localhost\"',\n \"port: 26257\",\n 'username: \"root\"',\n 'password: \"\"',\n 'database: \"defaultdb\"',\n ]\n break\n\n case \"mssql\":\n dbSettings = [\n 'type: \"mssql\"',\n 'host: \"localhost\"',\n 'username: \"sa\"',\n 'password: \"Admin12345\"',\n 'database: \"tempdb\"',\n ]\n break\n\n case \"oracle\":\n dbSettings = [\n 'type: \"oracle\"',\n 'host: \"localhost\"',\n 'username: \"system\"',\n 'password: \"oracle\"',\n \"port: 1521\",\n 'sid: \"xe.oracle.docker\"',\n ]\n break\n\n case \"mongodb\":\n dbSettings = ['type: \"mongodb\"', 'database: \"test\"']\n break\n\n case \"spanner\":\n dbSettings = [\n 'type: \"spanner\"',\n 'projectId: \"test\"',\n 'instanceId: \"test\"',\n 'databaseId: \"test\"',\n ]\n break\n\n default:\n throw new Error(`Unknown database \"${database}\"`)\n }\n\n return `import \"reflect-metadata\"\nimport { DataSource } from \"typeorm\"\nimport { User } from \"./entities/User${isEsm ? \".js\" : \"\"}\"\n\nexport const AppDataSource = new DataSource({\n${dbSettings.map((s) => ` ${s},`).join(\"\\n\")}\n synchronize: true,\n logging: false,\n entities: [User],\n migrations: [],\n subscribers: [],\n})\n`\n }\n\n /**\n * Gets contents of the ormconfig file.\n * @param esmModule\n */\n protected static getTsConfigTemplate(esmModule: boolean): string {\n if (esmModule)\n return JSON.stringify(\n {\n compilerOptions: {\n lib: [\"es2023\"],\n target: \"es2022\",\n module: \"es2022\",\n moduleResolution: \"node\",\n allowSyntheticDefaultImports: true,\n outDir: \"./build\",\n emitDecoratorMetadata: true,\n experimentalDecorators: true,\n sourceMap: true,\n },\n },\n undefined,\n 3,\n )\n else\n return JSON.stringify(\n {\n compilerOptions: {\n lib: [\"es2023\"],\n target: \"es2022\",\n module: \"commonjs\",\n moduleResolution: \"node\",\n outDir: \"./build\",\n emitDecoratorMetadata: true,\n experimentalDecorators: true,\n sourceMap: true,\n },\n },\n undefined,\n 3,\n )\n }\n\n /**\n * Gets contents of the .gitignore file.\n */\n protected static getGitIgnoreFile(): string {\n return `.idea/\n.vscode/\nnode_modules/\nbuild/\ntmp/\ntemp/`\n }\n\n /**\n * Gets contents of the user entity.\n * @param database\n */\n protected static getUserEntityTemplate(database: string): string {\n return `${\n database === \"mongodb\"\n ? `import { Entity, ObjectIdColumn, Column } from \"typeorm\"\\nimport { ObjectId } from \"mongodb\"`\n : `import { Entity, PrimaryGeneratedColumn, Column } from \"typeorm\"`\n }\n\n@Entity()\nexport class User {\n\n ${\n database === \"mongodb\"\n ? \"@ObjectIdColumn()\"\n : \"@PrimaryGeneratedColumn()\"\n }\n id: ${database === \"mongodb\" ? \"ObjectId\" : \"number\"}\n\n @Column()\n firstName: string\n\n @Column()\n lastName: string\n\n @Column()\n age: number\n\n}\n`\n }\n\n /**\n * Gets contents of the route file (used when express is enabled).\n * @param isEsm\n */\n protected static getRoutesTemplate(isEsm: boolean): string {\n return `import { UserController } from \"./controllers/UserController${\n isEsm ? \".js\" : \"\"\n }\"\n\nexport const Routes = [{\n method: \"get\",\n route: \"/users\",\n controller: UserController,\n action: \"all\"\n}, {\n method: \"get\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"one\"\n}, {\n method: \"post\",\n route: \"/users\",\n controller: UserController,\n action: \"save\"\n}, {\n method: \"delete\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"remove\"\n}]`\n }\n\n /**\n * Gets contents of the user controller file (used when express is enabled).\n * @param isEsm\n */\n protected static getControllerTemplate(isEsm: boolean): string {\n return `import { AppDataSource } from \"../data-source${\n isEsm ? \".js\" : \"\"\n }\"\nimport { NextFunction, Request, Response } from \"express\"\nimport { User } from \"../entities/User${isEsm ? \".js\" : \"\"}\"\n\nexport class UserController {\n\n private userRepository = AppDataSource.getRepository(User)\n\n async all(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.find()\n }\n\n async one(request: Request, response: Response, next: NextFunction) {\n const id = parseInt(request.params.id)\n\n\n const user = await this.userRepository.findOne({\n where: { id }\n })\n\n if (!user) {\n return \"unregistered user\"\n }\n return user\n }\n\n async save(request: Request, response: Response, next: NextFunction) {\n const { firstName, lastName, age } = request.body;\n\n const user = Object.assign(new User(), {\n firstName,\n lastName,\n age\n })\n\n return this.userRepository.save(user)\n }\n\n async remove(request: Request, response: Response, next: NextFunction) {\n const id = parseInt(request.params.id)\n\n let userToRemove = await this.userRepository.findOneBy({ id })\n\n if (!userToRemove) {\n return \"this user not exist\"\n }\n\n await this.userRepository.remove(userToRemove)\n\n return \"user has been removed\"\n }\n\n}`\n }\n\n /**\n * Gets contents of the main (index) application file.\n * @param express\n * @param isEsm\n */\n protected static getAppIndexTemplate(\n express: boolean,\n isEsm: boolean,\n ): string {\n if (express) {\n return `import ${!isEsm ? \"* as \" : \"\"}express from \"express\"\nimport ${!isEsm ? \"* as \" : \"\"}bodyParser from \"body-parser\"\nimport { Request, Response } from \"express\"\nimport { AppDataSource } from \"./data-source${isEsm ? \".js\" : \"\"}\"\nimport { Routes } from \"./routes${isEsm ? \".js\" : \"\"}\"\nimport { User } from \"./entities/User${isEsm ? \".js\" : \"\"}\"\n\nAppDataSource.initialize().then(async () => {\n\n // create express app\n const app = express()\n app.use(bodyParser.json())\n\n // register express routes from defined application routes\n Routes.forEach(route => {\n (app as any)[route.method](route.route, (req: Request, res: Response, next: Function) => {\n const result = (new (route.controller as any))[route.action](req, res, next)\n if (result instanceof Promise) {\n result.then(result => result !== null && result !== undefined ? res.send(result) : undefined)\n\n } else if (result !== null && result !== undefined) {\n res.json(result)\n }\n })\n })\n\n // setup express app here\n // ...\n\n // start express server\n app.listen(3000)\n\n // insert new users for test\n await AppDataSource.manager.save(\n AppDataSource.manager.create(User, {\n firstName: \"Timber\",\n lastName: \"Saw\",\n age: 27\n })\n )\n\n await AppDataSource.manager.save(\n AppDataSource.manager.create(User, {\n firstName: \"Phantom\",\n lastName: \"Assassin\",\n age: 24\n })\n )\n\n console.log(\"Express server has started on port 3000. Open http://localhost:3000/users to see results\")\n\n}).catch(error => console.log(error))\n`\n } else {\n return `import { AppDataSource } from \"./data-source${\n isEsm ? \".js\" : \"\"\n }\"\nimport { User } from \"./entities/User${isEsm ? \".js\" : \"\"}\"\n\nAppDataSource.initialize().then(async () => {\n\n console.log(\"Inserting a new user into the database...\")\n const user = new User()\n user.firstName = \"Timber\"\n user.lastName = \"Saw\"\n user.age = 25\n await AppDataSource.manager.save(user)\n console.log(\"Saved a new user with id: \" + user.id)\n\n console.log(\"Loading users from the database...\")\n const users = await AppDataSource.manager.find(User)\n console.log(\"Loaded users: \", users)\n\n console.log(\"Here you can setup and run express / fastify / any other framework.\")\n\n}).catch(error => console.log(error))\n`\n }\n }\n\n /**\n * Gets contents of the new package.json file.\n * @param projectName\n * @param projectIsEsm\n */\n protected static getPackageJsonTemplate(\n projectName?: string,\n projectIsEsm?: boolean,\n ): string {\n return JSON.stringify(\n {\n name: projectName || \"typeorm-sample\",\n version: \"0.0.1\",\n description: \"Awesome project developed with TypeORM.\",\n type: projectIsEsm ? \"module\" : \"commonjs\",\n devDependencies: {},\n dependencies: {},\n scripts: {},\n },\n undefined,\n 3,\n )\n }\n\n /**\n * Gets contents of the new docker-compose.yml file.\n * @param database\n */\n protected static getDockerComposeTemplate(database: string): string {\n switch (database) {\n case \"mysql\":\n return `services:\n\n mysql:\n image: \"mysql:9.2.0\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"password\"\n MYSQL_DATABASE: \"typeorm\"\n\n`\n case \"mariadb\":\n return `services:\n\n mariadb:\n image: \"mariadb:11.7.2\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"password\"\n MYSQL_DATABASE: \"typeorm\"\n\n`\n case \"postgres\":\n return `services:\n\n postgres:\n image: \"postgres:17.2\"\n ports:\n - \"5432:5432\"\n environment:\n POSTGRES_USER: \"root\"\n POSTGRES_PASSWORD: \"password\"\n POSTGRES_DB: \"typeorm\"\n\n`\n case \"cockroachdb\":\n return `services:\n\n cockroachdb:\n image: \"cockroachdb/cockroach:v25.1.2\"\n command: start --insecure\n ports:\n - \"26257:26257\"\n\n`\n case \"better-sqlite3\":\n throw new TypeORMError(`SQLite does not require docker`)\n\n case \"oracle\":\n throw new TypeORMError(\n `You cannot initialize a project with docker for Oracle driver yet.`,\n ) // todo: implement for oracle as well\n\n case \"mssql\":\n return `services:\n\n mssql:\n image: \"mcr.microsoft.com/mssql/server:2022-latest\"\n ports:\n - \"1433:1433\"\n environment:\n SA_PASSWORD: \"Admin12345\"\n ACCEPT_EULA: \"Y\"\n MSSQL_PID: \"Express\"\n\n`\n case \"mongodb\":\n return `services:\n\n mongodb:\n image: \"mongo:8\"\n container_name: \"typeorm-mongodb\"\n ports:\n - \"27017:27017\"\n\n`\n case \"spanner\":\n return `services:\n\n spanner:\n image: gcr.io/cloud-spanner-emulator/emulator:1.5.30\n ports:\n - \"9010:9010\"\n - \"9020:9020\"\n\n`\n }\n return \"\"\n }\n\n /**\n * Gets contents of the new readme.md file.\n * @param options\n * @param options.docker\n */\n protected static getReadmeTemplate(options: { docker: boolean }): string {\n let template = `# Awesome Project Build with TypeORM\n\nSteps to run this project:\n\n1. Run \\`npm i\\` command\n`\n\n if (options.docker) {\n template += `2. Run \\`docker-compose up\\` command\n`\n } else {\n template += `2. Setup database settings inside \\`data-source.ts\\` file\n`\n }\n\n template += `3. Run \\`npm start\\` command\n`\n return template\n }\n\n /**\n * Appends to a given package.json template everything needed.\n * @param packageJsonContents\n * @param database\n * @param express\n * @param projectIsEsm\n */\n protected static async appendPackageJson(\n packageJsonContents: string,\n database: string,\n express: boolean,\n projectIsEsm: boolean /*, docker: boolean*/,\n ): Promise<string> {\n const packageJson = JSON.parse(packageJsonContents)\n const ourPackageJson = JSON.parse(\n await CommandUtils.readFile(`${__dirname}/../package.json`),\n )\n\n if (!packageJson.devDependencies) packageJson.devDependencies = {}\n packageJson.devDependencies = {\n \"@types/node\": ourPackageJson.devDependencies[\"@types/node\"],\n \"ts-node\": ourPackageJson.devDependencies[\"ts-node\"],\n typescript: ourPackageJson.devDependencies.typescript,\n ...packageJson.devDependencies,\n }\n\n if (!packageJson.dependencies) packageJson.dependencies = {}\n packageJson.dependencies = {\n ...packageJson.dependencies,\n \"reflect-metadata\": ourPackageJson.dependencies[\"reflect-metadata\"],\n typeorm: ourPackageJson.version,\n }\n\n switch (database) {\n case \"mysql\":\n case \"mariadb\":\n packageJson.dependencies[\"mysql2\"] =\n ourPackageJson.devDependencies.mysql2\n break\n case \"postgres\":\n case \"cockroachdb\":\n packageJson.dependencies[\"pg\"] =\n ourPackageJson.devDependencies.pg\n break\n case \"better-sqlite3\":\n packageJson.dependencies[\"better-sqlite3\"] =\n ourPackageJson.devDependencies[\"better-sqlite3\"]\n break\n case \"oracle\":\n packageJson.dependencies[\"oracledb\"] =\n ourPackageJson.devDependencies.oracledb\n break\n case \"mssql\":\n packageJson.dependencies[\"mssql\"] =\n ourPackageJson.devDependencies.mssql\n break\n case \"mongodb\":\n packageJson.dependencies[\"mongodb\"] =\n ourPackageJson.devDependencies.mongodb\n break\n case \"spanner\":\n packageJson.dependencies[\"@google-cloud/spanner\"] =\n ourPackageJson.devDependencies[\"@google-cloud/spanner\"]\n break\n }\n\n if (express) {\n packageJson.dependencies[\"express\"] = \"^4.21.2\"\n packageJson.dependencies[\"body-parser\"] = \"^1.20.3\"\n }\n\n if (!packageJson.scripts) packageJson.scripts = {}\n\n if (projectIsEsm)\n Object.assign(packageJson.scripts, {\n start: /*(docker ? \"docker-compose up && \" : \"\") + */ \"node --loader ts-node/esm src/index.ts\",\n typeorm: \"typeorm-ts-node-esm\",\n })\n else\n Object.assign(packageJson.scripts, {\n start: /*(docker ? \"docker-compose up && \" : \"\") + */ \"ts-node src/index.ts\",\n typeorm: \"typeorm-ts-node-commonjs\",\n })\n\n return JSON.stringify(packageJson, undefined, 3)\n }\n}\n"]}
1
+ {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../src/commands/InitCommand.ts"],"names":[],"mappings":"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","sourcesContent":["import ansi from \"ansis\"\nimport { exec } from \"child_process\"\nimport path from \"path\"\nimport type yargs from \"yargs\"\nimport { TypeORMError } from \"../error\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Generates a new project with TypeORM.\n */\nexport class InitCommand implements yargs.CommandModule {\n command = \"init\"\n describe =\n \"Generates initial TypeORM project structure. \" +\n \"If name specified then creates files inside directory called as name. \" +\n \"If its not specified then creates files inside current directory.\"\n\n builder(args: yargs.Argv) {\n return args\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the project directory.\",\n })\n .option(\"db\", {\n alias: \"database\",\n describe: \"Database type you'll use in your project.\",\n choices: [\n \"postgres\",\n \"mysql\",\n \"mariadb\",\n \"better-sqlite3\",\n \"mssql\",\n \"oracle\",\n \"mongodb\",\n \"cockroachdb\",\n \"spanner\",\n ],\n })\n .option(\"express\", {\n describe:\n \"Indicates if express server sample code should be included in the project. False by default.\",\n })\n .option(\"docker\", {\n describe:\n \"Set to true if docker-compose must be generated as well. False by default.\",\n })\n .option(\"pm\", {\n alias: \"manager\",\n choices: [\"npm\", \"yarn\"],\n default: \"npm\",\n describe: \"Install packages, expected values are npm or yarn.\",\n })\n .option(\"ms\", {\n alias: \"module\",\n choices: [\"commonjs\", \"esm\"],\n default: \"commonjs\",\n describe:\n \"Module system to use for project, expected values are commonjs or esm.\",\n })\n }\n\n async handler(args: yargs.Arguments) {\n try {\n const database: string = (args.database as any) ?? \"postgres\"\n const isExpress = args.express !== undefined ? true : false\n const isDocker = args.docker !== undefined ? true : false\n const basePath = process.cwd() + (args.name ? \"/\" + args.name : \"\")\n const projectName = args.name\n ? path.basename(args.name as any)\n : undefined\n const installNpm = args.pm === \"yarn\" ? false : true\n const projectIsEsm = args.ms === \"esm\"\n await CommandUtils.createFile(\n basePath + \"/package.json\",\n InitCommand.getPackageJsonTemplate(projectName, projectIsEsm),\n false,\n )\n if (isDocker)\n await CommandUtils.createFile(\n basePath + \"/docker-compose.yml\",\n InitCommand.getDockerComposeTemplate(database),\n false,\n )\n await CommandUtils.createFile(\n basePath + \"/.gitignore\",\n InitCommand.getGitIgnoreFile(),\n )\n await CommandUtils.createFile(\n basePath + \"/README.md\",\n InitCommand.getReadmeTemplate({ docker: isDocker }),\n false,\n )\n await CommandUtils.createFile(\n basePath + \"/tsconfig.json\",\n InitCommand.getTsConfigTemplate(projectIsEsm),\n )\n await CommandUtils.createFile(\n basePath + \"/src/entities/User.ts\",\n InitCommand.getUserEntityTemplate(database),\n )\n await CommandUtils.createFile(\n basePath + \"/src/data-source.ts\",\n InitCommand.getAppDataSourceTemplate(projectIsEsm, database),\n )\n await CommandUtils.createFile(\n basePath + \"/src/index.ts\",\n InitCommand.getAppIndexTemplate(isExpress, projectIsEsm),\n )\n await CommandUtils.createDirectories(basePath + \"/src/migrations\")\n\n // generate extra files for express application\n if (isExpress) {\n await CommandUtils.createFile(\n basePath + \"/src/routes.ts\",\n InitCommand.getRoutesTemplate(projectIsEsm),\n )\n await CommandUtils.createFile(\n basePath + \"/src/controllers/UserController.ts\",\n InitCommand.getControllerTemplate(projectIsEsm),\n )\n }\n\n const packageJsonContents = await CommandUtils.readFile(\n basePath + \"/package.json\",\n )\n await CommandUtils.createFile(\n basePath + \"/package.json\",\n await InitCommand.appendPackageJson(\n packageJsonContents,\n database,\n isExpress,\n projectIsEsm,\n ),\n )\n\n if (args.name) {\n console.log(\n ansi.green`Project created inside ${ansi.blue(\n basePath,\n )} directory.`,\n )\n } else {\n console.log(\n ansi.green`Project created inside current directory.`,\n )\n }\n\n console.log(ansi.green`Please wait, installing dependencies...`)\n if (args.pm && installNpm) {\n await InitCommand.executeCommand(\"npm install\", basePath)\n } else {\n await InitCommand.executeCommand(\"yarn install\", basePath)\n }\n\n console.log(ansi.green`Done! Start playing with a new project!`)\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during project initialization:\", err)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n protected static executeCommand(command: string, cwd: string) {\n return new Promise<string>((ok, fail) => {\n exec(command, { cwd }, (error: any, stdout: any, stderr: any) => {\n if (stdout) return ok(stdout)\n if (stderr) return fail(stderr)\n if (error) return fail(error)\n ok(\"\")\n })\n })\n }\n\n /**\n * Gets contents of the ormconfig file.\n *\n * @param isEsm\n * @param database\n */\n protected static getAppDataSourceTemplate(\n isEsm: boolean,\n database: string,\n ): string {\n let dbSettings: string[]\n\n switch (database) {\n case \"mysql\":\n dbSettings = [\n 'type: \"mysql\"',\n 'host: \"localhost\"',\n \"port: 3306\",\n 'username: \"root\"',\n 'password: \"password\"',\n 'database: \"typeorm\"',\n ]\n break\n\n case \"mariadb\":\n dbSettings = [\n 'type: \"mariadb\"',\n 'host: \"localhost\"',\n \"port: 3306\",\n 'username: \"root\"',\n 'password: \"password\"',\n 'database: \"typeorm\"',\n ]\n break\n\n case \"better-sqlite3\":\n dbSettings = [\n 'type: \"better-sqlite3\"',\n 'database: \"database.sqlite\"',\n ]\n break\n\n case \"postgres\":\n dbSettings = [\n 'type: \"postgres\"',\n 'host: \"localhost\"',\n \"port: 5432\",\n 'username: \"root\"',\n 'password: \"password\"',\n 'database: \"typeorm\"',\n ]\n break\n\n case \"cockroachdb\":\n dbSettings = [\n 'type: \"cockroachdb\"',\n 'host: \"localhost\"',\n \"port: 26257\",\n 'username: \"root\"',\n 'password: \"\"',\n 'database: \"defaultdb\"',\n ]\n break\n\n case \"mssql\":\n dbSettings = [\n 'type: \"mssql\"',\n 'host: \"localhost\"',\n 'username: \"sa\"',\n 'password: \"Admin12345\"',\n 'database: \"tempdb\"',\n ]\n break\n\n case \"oracle\":\n dbSettings = [\n 'type: \"oracle\"',\n 'host: \"localhost\"',\n 'username: \"system\"',\n 'password: \"oracle\"',\n \"port: 1521\",\n 'sid: \"xe.oracle.docker\"',\n ]\n break\n\n case \"mongodb\":\n dbSettings = ['type: \"mongodb\"', 'database: \"test\"']\n break\n\n case \"spanner\":\n dbSettings = [\n 'type: \"spanner\"',\n 'projectId: \"test\"',\n 'instanceId: \"test\"',\n 'databaseId: \"test\"',\n ]\n break\n\n default:\n throw new Error(`Unknown database \"${database}\"`)\n }\n\n return `import \"reflect-metadata\"\nimport { DataSource } from \"typeorm\"\nimport { User } from \"./entities/User${isEsm ? \".js\" : \"\"}\"\n\nexport const AppDataSource = new DataSource({\n${dbSettings.map((s) => ` ${s},`).join(\"\\n\")}\n synchronize: true,\n logging: false,\n entities: [User],\n migrations: [],\n subscribers: [],\n})\n`\n }\n\n /**\n * Gets contents of the ormconfig file.\n *\n * @param esmModule\n */\n protected static getTsConfigTemplate(esmModule: boolean): string {\n if (esmModule)\n return JSON.stringify(\n {\n compilerOptions: {\n lib: [\"es2023\"],\n target: \"es2022\",\n module: \"es2022\",\n moduleResolution: \"node\",\n allowSyntheticDefaultImports: true,\n outDir: \"./build\",\n emitDecoratorMetadata: true,\n experimentalDecorators: true,\n sourceMap: true,\n },\n },\n undefined,\n 3,\n )\n else\n return JSON.stringify(\n {\n compilerOptions: {\n lib: [\"es2023\"],\n target: \"es2022\",\n module: \"commonjs\",\n moduleResolution: \"node\",\n outDir: \"./build\",\n emitDecoratorMetadata: true,\n experimentalDecorators: true,\n sourceMap: true,\n },\n },\n undefined,\n 3,\n )\n }\n\n /**\n * Gets contents of the .gitignore file.\n */\n protected static getGitIgnoreFile(): string {\n return `.idea/\n.vscode/\nnode_modules/\nbuild/\ntmp/\ntemp/`\n }\n\n /**\n * Gets contents of the user entity.\n *\n * @param database\n */\n protected static getUserEntityTemplate(database: string): string {\n return `${\n database === \"mongodb\"\n ? `import { Entity, ObjectIdColumn, Column } from \"typeorm\"\\nimport { ObjectId } from \"mongodb\"`\n : `import { Entity, PrimaryGeneratedColumn, Column } from \"typeorm\"`\n }\n\n@Entity()\nexport class User {\n\n ${\n database === \"mongodb\"\n ? \"@ObjectIdColumn()\"\n : \"@PrimaryGeneratedColumn()\"\n }\n id: ${database === \"mongodb\" ? \"ObjectId\" : \"number\"}\n\n @Column()\n firstName: string\n\n @Column()\n lastName: string\n\n @Column()\n age: number\n\n}\n`\n }\n\n /**\n * Gets contents of the route file (used when express is enabled).\n *\n * @param isEsm\n */\n protected static getRoutesTemplate(isEsm: boolean): string {\n return `import { UserController } from \"./controllers/UserController${\n isEsm ? \".js\" : \"\"\n }\"\n\nexport const Routes = [{\n method: \"get\",\n route: \"/users\",\n controller: UserController,\n action: \"all\"\n}, {\n method: \"get\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"one\"\n}, {\n method: \"post\",\n route: \"/users\",\n controller: UserController,\n action: \"save\"\n}, {\n method: \"delete\",\n route: \"/users/:id\",\n controller: UserController,\n action: \"remove\"\n}]`\n }\n\n /**\n * Gets contents of the user controller file (used when express is enabled).\n *\n * @param isEsm\n */\n protected static getControllerTemplate(isEsm: boolean): string {\n return `import { AppDataSource } from \"../data-source${\n isEsm ? \".js\" : \"\"\n }\"\nimport { NextFunction, Request, Response } from \"express\"\nimport { User } from \"../entities/User${isEsm ? \".js\" : \"\"}\"\n\nexport class UserController {\n\n private userRepository = AppDataSource.getRepository(User)\n\n async all(request: Request, response: Response, next: NextFunction) {\n return this.userRepository.find()\n }\n\n async one(request: Request, response: Response, next: NextFunction) {\n const id = parseInt(request.params.id)\n\n\n const user = await this.userRepository.findOne({\n where: { id }\n })\n\n if (!user) {\n return \"unregistered user\"\n }\n return user\n }\n\n async save(request: Request, response: Response, next: NextFunction) {\n const { firstName, lastName, age } = request.body;\n\n const user = Object.assign(new User(), {\n firstName,\n lastName,\n age\n })\n\n return this.userRepository.save(user)\n }\n\n async remove(request: Request, response: Response, next: NextFunction) {\n const id = parseInt(request.params.id)\n\n let userToRemove = await this.userRepository.findOneBy({ id })\n\n if (!userToRemove) {\n return \"this user not exist\"\n }\n\n await this.userRepository.remove(userToRemove)\n\n return \"user has been removed\"\n }\n\n}`\n }\n\n /**\n * Gets contents of the main (index) application file.\n *\n * @param express\n * @param isEsm\n */\n protected static getAppIndexTemplate(\n express: boolean,\n isEsm: boolean,\n ): string {\n if (express) {\n return `import ${!isEsm ? \"* as \" : \"\"}express from \"express\"\nimport ${!isEsm ? \"* as \" : \"\"}bodyParser from \"body-parser\"\nimport { Request, Response } from \"express\"\nimport { AppDataSource } from \"./data-source${isEsm ? \".js\" : \"\"}\"\nimport { Routes } from \"./routes${isEsm ? \".js\" : \"\"}\"\nimport { User } from \"./entities/User${isEsm ? \".js\" : \"\"}\"\n\nAppDataSource.initialize().then(async () => {\n\n // create express app\n const app = express()\n app.use(bodyParser.json())\n\n // register express routes from defined application routes\n Routes.forEach(route => {\n (app as any)[route.method](route.route, (req: Request, res: Response, next: Function) => {\n const result = (new (route.controller as any))[route.action](req, res, next)\n if (result instanceof Promise) {\n result.then(result => result !== null && result !== undefined ? res.send(result) : undefined)\n\n } else if (result !== null && result !== undefined) {\n res.json(result)\n }\n })\n })\n\n // setup express app here\n // ...\n\n // start express server\n app.listen(3000)\n\n // insert new users for test\n await AppDataSource.manager.save(\n AppDataSource.manager.create(User, {\n firstName: \"Timber\",\n lastName: \"Saw\",\n age: 27\n })\n )\n\n await AppDataSource.manager.save(\n AppDataSource.manager.create(User, {\n firstName: \"Phantom\",\n lastName: \"Assassin\",\n age: 24\n })\n )\n\n console.log(\"Express server has started on port 3000. Open http://localhost:3000/users to see results\")\n\n}).catch(error => console.log(error))\n`\n } else {\n return `import { AppDataSource } from \"./data-source${\n isEsm ? \".js\" : \"\"\n }\"\nimport { User } from \"./entities/User${isEsm ? \".js\" : \"\"}\"\n\nAppDataSource.initialize().then(async () => {\n\n console.log(\"Inserting a new user into the database...\")\n const user = new User()\n user.firstName = \"Timber\"\n user.lastName = \"Saw\"\n user.age = 25\n await AppDataSource.manager.save(user)\n console.log(\"Saved a new user with id: \" + user.id)\n\n console.log(\"Loading users from the database...\")\n const users = await AppDataSource.manager.find(User)\n console.log(\"Loaded users: \", users)\n\n console.log(\"Here you can setup and run express / fastify / any other framework.\")\n\n}).catch(error => console.log(error))\n`\n }\n }\n\n /**\n * Gets contents of the new package.json file.\n *\n * @param projectName\n * @param projectIsEsm\n */\n protected static getPackageJsonTemplate(\n projectName?: string,\n projectIsEsm?: boolean,\n ): string {\n return JSON.stringify(\n {\n name: projectName ?? \"typeorm-sample\",\n version: \"0.0.1\",\n description: \"Awesome project developed with TypeORM.\",\n type: projectIsEsm ? \"module\" : \"commonjs\",\n devDependencies: {},\n dependencies: {},\n scripts: {},\n },\n undefined,\n 3,\n )\n }\n\n /**\n * Gets contents of the new docker-compose.yml file.\n *\n * @param database\n */\n protected static getDockerComposeTemplate(database: string): string {\n switch (database) {\n case \"mysql\":\n return `services:\n\n mysql:\n image: \"mysql:9.2.0\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"password\"\n MYSQL_DATABASE: \"typeorm\"\n\n`\n case \"mariadb\":\n return `services:\n\n mariadb:\n image: \"mariadb:11.7.2\"\n ports:\n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: \"password\"\n MYSQL_DATABASE: \"typeorm\"\n\n`\n case \"postgres\":\n return `services:\n\n postgres:\n image: \"postgres:17.2\"\n ports:\n - \"5432:5432\"\n environment:\n POSTGRES_USER: \"root\"\n POSTGRES_PASSWORD: \"password\"\n POSTGRES_DB: \"typeorm\"\n\n`\n case \"cockroachdb\":\n return `services:\n\n cockroachdb:\n image: \"cockroachdb/cockroach:v25.1.2\"\n command: start --insecure\n ports:\n - \"26257:26257\"\n\n`\n case \"better-sqlite3\":\n throw new TypeORMError(`SQLite does not require docker`)\n\n case \"oracle\":\n throw new TypeORMError(\n `You cannot initialize a project with docker for Oracle driver yet.`,\n ) // todo: implement for oracle as well\n\n case \"mssql\":\n return `services:\n\n mssql:\n image: \"mcr.microsoft.com/mssql/server:2022-latest\"\n ports:\n - \"1433:1433\"\n environment:\n SA_PASSWORD: \"Admin12345\"\n ACCEPT_EULA: \"Y\"\n MSSQL_PID: \"Express\"\n\n`\n case \"mongodb\":\n return `services:\n\n mongodb:\n image: \"mongo:8\"\n container_name: \"typeorm-mongodb\"\n ports:\n - \"27017:27017\"\n\n`\n case \"spanner\":\n return `services:\n\n spanner:\n image: gcr.io/cloud-spanner-emulator/emulator:1.5.30\n ports:\n - \"9010:9010\"\n - \"9020:9020\"\n\n`\n }\n return \"\"\n }\n\n /**\n * Gets contents of the new readme.md file.\n *\n * @param options\n * @param options.docker\n */\n protected static getReadmeTemplate(options: { docker: boolean }): string {\n let template = `# Awesome Project Build with TypeORM\n\nSteps to run this project:\n\n1. Run \\`npm i\\` command\n`\n\n if (options.docker) {\n template += `2. Run \\`docker-compose up\\` command\n`\n } else {\n template += `2. Setup database settings inside \\`data-source.ts\\` file\n`\n }\n\n template += `3. Run \\`npm start\\` command\n`\n return template\n }\n\n /**\n * Appends to a given package.json template everything needed.\n *\n * @param packageJsonContents\n * @param database\n * @param express\n * @param projectIsEsm\n */\n protected static async appendPackageJson(\n packageJsonContents: string,\n database: string,\n express: boolean,\n projectIsEsm: boolean /*, docker: boolean*/,\n ): Promise<string> {\n const packageJson = JSON.parse(packageJsonContents)\n const ourPackageJson = JSON.parse(\n await CommandUtils.readFile(\n path.resolve(__dirname, \"..\", \"package.json\"),\n ),\n )\n\n packageJson.devDependencies ??= {}\n packageJson.devDependencies = {\n \"@types/node\": ourPackageJson.devDependencies[\"@types/node\"],\n \"ts-node\": ourPackageJson.devDependencies[\"ts-node\"],\n typescript: ourPackageJson.devDependencies.typescript,\n ...packageJson.devDependencies,\n }\n\n packageJson.dependencies ??= {}\n packageJson.dependencies = {\n ...packageJson.dependencies,\n \"reflect-metadata\": ourPackageJson.dependencies[\"reflect-metadata\"],\n typeorm: ourPackageJson.version,\n }\n\n switch (database) {\n case \"mysql\":\n case \"mariadb\":\n packageJson.dependencies[\"mysql2\"] =\n ourPackageJson.devDependencies.mysql2\n break\n case \"postgres\":\n case \"cockroachdb\":\n packageJson.dependencies[\"pg\"] =\n ourPackageJson.devDependencies.pg\n break\n case \"better-sqlite3\":\n packageJson.dependencies[\"better-sqlite3\"] =\n ourPackageJson.devDependencies[\"better-sqlite3\"]\n break\n case \"oracle\":\n packageJson.dependencies[\"oracledb\"] =\n ourPackageJson.devDependencies.oracledb\n break\n case \"mssql\":\n packageJson.dependencies[\"mssql\"] =\n ourPackageJson.devDependencies.mssql\n break\n case \"mongodb\":\n packageJson.dependencies[\"mongodb\"] =\n ourPackageJson.devDependencies.mongodb\n break\n case \"spanner\":\n packageJson.dependencies[\"@google-cloud/spanner\"] =\n ourPackageJson.devDependencies[\"@google-cloud/spanner\"]\n break\n }\n\n if (express) {\n packageJson.dependencies[\"express\"] = \"^4.21.2\"\n packageJson.dependencies[\"body-parser\"] = \"^1.20.3\"\n }\n\n packageJson.scripts ??= {}\n\n if (projectIsEsm)\n Object.assign(packageJson.scripts, {\n start: /*(docker ? \"docker-compose up && \" : \"\") + */ \"node --loader ts-node/esm src/index.ts\",\n typeorm: \"typeorm-ts-node-esm\",\n })\n else\n Object.assign(packageJson.scripts, {\n start: /*(docker ? \"docker-compose up && \" : \"\") + */ \"ts-node src/index.ts\",\n typeorm: \"typeorm-ts-node-commonjs\",\n })\n\n return JSON.stringify(packageJson, undefined, 3)\n }\n}\n"]}
@@ -19,12 +19,14 @@ export declare class MigrationCreateCommand implements yargs.CommandModule {
19
19
  }>): Promise<void>;
20
20
  /**
21
21
  * Gets contents of the migration file.
22
+ *
22
23
  * @param name
23
24
  * @param timestamp
24
25
  */
25
26
  protected static getTemplate(name: string, timestamp: number): string;
26
27
  /**
27
28
  * Gets contents of the migration file in Javascript.
29
+ *
28
30
  * @param name
29
31
  * @param timestamp
30
32
  * @param esm
@@ -64,6 +64,7 @@ class MigrationCreateCommand {
64
64
  // -------------------------------------------------------------------------
65
65
  /**
66
66
  * Gets contents of the migration file.
67
+ *
67
68
  * @param name
68
69
  * @param timestamp
69
70
  */
@@ -83,6 +84,7 @@ export class ${(0, StringUtils_1.camelCase)(name, true)}${timestamp} implements
83
84
  }
84
85
  /**
85
86
  * Gets contents of the migration file in Javascript.
87
+ *
86
88
  * @param name
87
89
  * @param timestamp
88
90
  * @param esm
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationCreateCommand.js","sourceRoot":"","sources":["../../../src/commands/MigrationCreateCommand.ts"],"names":[],"mappings":"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","sourcesContent":["import ansi from \"ansis\"\nimport path from \"path\"\nimport type yargs from \"yargs\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { camelCase } from \"../util/StringUtils\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Creates a new migration file.\n */\nexport class MigrationCreateCommand implements yargs.CommandModule {\n command = \"migration:create <path>\"\n describe = \"Creates a new migration file.\"\n\n builder(args: yargs.Argv) {\n return args\n .positional(\"path\", {\n type: \"string\",\n describe: \"Path of the migration file\",\n demandOption: true,\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"esm\", {\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on ESM instead of CommonJS\",\n })\n .option(\"t\", {\n alias: \"timestamp\",\n type: \"number\",\n default: false,\n describe: \"Custom timestamp for the migration name\",\n })\n }\n\n async handler(args: yargs.Arguments<any & { path: string }>) {\n try {\n const timestamp = CommandUtils.getTimestamp(args.timestamp)\n const inputPath = args.path.startsWith(\"/\")\n ? args.path\n : path.resolve(process.cwd(), args.path)\n const filename = path.basename(inputPath)\n const fullPath =\n path.dirname(inputPath) + \"/\" + timestamp + \"-\" + filename\n\n const fileContent = args.outputJs\n ? MigrationCreateCommand.getJavascriptTemplate(\n filename,\n timestamp,\n args.esm,\n )\n : MigrationCreateCommand.getTemplate(filename, timestamp)\n\n await CommandUtils.createFile(\n fullPath + (args.outputJs ? \".js\" : \".ts\"),\n fileContent,\n )\n console.log(\n `Migration ${ansi.blue(\n fullPath + (args.outputJs ? \".js\" : \".ts\"),\n )} has been generated successfully.`,\n )\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during migration creation:\", err)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the migration file.\n * @param name\n * @param timestamp\n */\n protected static getTemplate(name: string, timestamp: number): string {\n return `import { MigrationInterface, QueryRunner } from \"typeorm\";\n\nexport class ${camelCase(\n name,\n true,\n )}${timestamp} implements MigrationInterface {\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n }\n\n}\n`\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n * @param name\n * @param timestamp\n * @param esm\n */\n protected static getJavascriptTemplate(\n name: string,\n timestamp: number,\n esm: boolean,\n ): string {\n const exportMethod = esm ? \"export\" : \"module.exports =\"\n return `/**\n * @typedef {import('typeorm').MigrationInterface} MigrationInterface\n * @typedef {import('typeorm').QueryRunner} QueryRunner\n */\n\n/**\n * @class\n * @implements {MigrationInterface}\n */\n${exportMethod} class ${camelCase(name, true)}${timestamp} {\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async up(queryRunner) {\n }\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async down(queryRunner) {\n }\n\n}\n`\n }\n}\n"]}
1
+ {"version":3,"file":"MigrationCreateCommand.js","sourceRoot":"","sources":["../../../src/commands/MigrationCreateCommand.ts"],"names":[],"mappings":"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","sourcesContent":["import ansi from \"ansis\"\nimport path from \"path\"\nimport type yargs from \"yargs\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { camelCase } from \"../util/StringUtils\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Creates a new migration file.\n */\nexport class MigrationCreateCommand implements yargs.CommandModule {\n command = \"migration:create <path>\"\n describe = \"Creates a new migration file.\"\n\n builder(args: yargs.Argv) {\n return args\n .positional(\"path\", {\n type: \"string\",\n describe: \"Path of the migration file\",\n demandOption: true,\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"esm\", {\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on ESM instead of CommonJS\",\n })\n .option(\"t\", {\n alias: \"timestamp\",\n type: \"number\",\n default: false,\n describe: \"Custom timestamp for the migration name\",\n })\n }\n\n async handler(args: yargs.Arguments<any & { path: string }>) {\n try {\n const timestamp = CommandUtils.getTimestamp(args.timestamp)\n const inputPath = args.path.startsWith(\"/\")\n ? args.path\n : path.resolve(process.cwd(), args.path)\n const filename = path.basename(inputPath)\n const fullPath =\n path.dirname(inputPath) + \"/\" + timestamp + \"-\" + filename\n\n const fileContent = args.outputJs\n ? MigrationCreateCommand.getJavascriptTemplate(\n filename,\n timestamp,\n args.esm,\n )\n : MigrationCreateCommand.getTemplate(filename, timestamp)\n\n await CommandUtils.createFile(\n fullPath + (args.outputJs ? \".js\" : \".ts\"),\n fileContent,\n )\n console.log(\n `Migration ${ansi.blue(\n fullPath + (args.outputJs ? \".js\" : \".ts\"),\n )} has been generated successfully.`,\n )\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during migration creation:\", err)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the migration file.\n *\n * @param name\n * @param timestamp\n */\n protected static getTemplate(name: string, timestamp: number): string {\n return `import { MigrationInterface, QueryRunner } from \"typeorm\";\n\nexport class ${camelCase(\n name,\n true,\n )}${timestamp} implements MigrationInterface {\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n }\n\n}\n`\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n *\n * @param name\n * @param timestamp\n * @param esm\n */\n protected static getJavascriptTemplate(\n name: string,\n timestamp: number,\n esm: boolean,\n ): string {\n const exportMethod = esm ? \"export\" : \"module.exports =\"\n return `/**\n * @typedef {import('typeorm').MigrationInterface} MigrationInterface\n * @typedef {import('typeorm').QueryRunner} QueryRunner\n */\n\n/**\n * @class\n * @implements {MigrationInterface}\n */\n${exportMethod} class ${camelCase(name, true)}${timestamp} {\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async up(queryRunner) {\n }\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async down(queryRunner) {\n }\n\n}\n`\n }\n}\n"]}
@@ -27,11 +27,13 @@ export declare class MigrationGenerateCommand implements yargs.CommandModule {
27
27
  }>): Promise<void>;
28
28
  /**
29
29
  * Formats query parameters for migration queries if parameters actually exist
30
+ *
30
31
  * @param parameters
31
32
  */
32
33
  protected static queryParams(parameters: any[] | undefined): string;
33
34
  /**
34
35
  * Gets contents of the migration file.
36
+ *
35
37
  * @param name
36
38
  * @param timestamp
37
39
  * @param upSqls
@@ -40,6 +42,7 @@ export declare class MigrationGenerateCommand implements yargs.CommandModule {
40
42
  protected static getTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string;
41
43
  /**
42
44
  * Gets contents of the migration file in Javascript.
45
+ *
43
46
  * @param name
44
47
  * @param timestamp
45
48
  * @param upSqls
@@ -158,16 +158,18 @@ class MigrationGenerateCommand {
158
158
  // -------------------------------------------------------------------------
159
159
  /**
160
160
  * Formats query parameters for migration queries if parameters actually exist
161
+ *
161
162
  * @param parameters
162
163
  */
163
164
  static queryParams(parameters) {
164
- if (!parameters || !parameters.length) {
165
+ if (!parameters?.length) {
165
166
  return "";
166
167
  }
167
168
  return `, ${JSON.stringify(parameters)}`;
168
169
  }
169
170
  /**
170
171
  * Gets contents of the migration file.
172
+ *
171
173
  * @param name
172
174
  * @param timestamp
173
175
  * @param upSqls
@@ -195,6 +197,7 @@ ${downSqls.join(`
195
197
  }
196
198
  /**
197
199
  * Gets contents of the migration file in Javascript.
200
+ *
198
201
  * @param name
199
202
  * @param timestamp
200
203
  * @param upSqls
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationGenerateCommand.js","sourceRoot":"","sources":["../../../src/commands/MigrationGenerateCommand.ts"],"names":[],"mappings":"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","sourcesContent":["import { format } from \"@sqltools/formatter/lib/sqlFormatter\"\nimport ansi from \"ansis\"\nimport path from \"path\"\nimport process from \"process\"\nimport type yargs from \"yargs\"\nimport type { DataSource } from \"../data-source\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { camelCase } from \"../util/StringUtils\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Generates a new migration file with sql needs to be executed to update schema.\n */\nexport class MigrationGenerateCommand implements yargs.CommandModule {\n command = \"migration:generate <path>\"\n describe =\n \"Generates a new migration file with sql needs to be executed to update schema.\"\n\n builder(args: yargs.Argv) {\n return args\n .positional(\"path\", {\n type: \"string\",\n describe: \"Path of the migration file\",\n demandOption: true,\n })\n .option(\"dataSource\", {\n alias: \"d\",\n type: \"string\",\n describe:\n \"Path to the file where your DataSource instance is defined.\",\n demandOption: true,\n })\n .option(\"p\", {\n alias: \"pretty\",\n type: \"boolean\",\n default: false,\n describe: \"Pretty-print generated SQL\",\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"esm\", {\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on ESM instead of CommonJS\",\n })\n .option(\"dr\", {\n alias: \"dryrun\",\n type: \"boolean\",\n default: false,\n describe:\n \"Prints out the contents of the migration instead of writing it to a file\",\n })\n .option(\"ch\", {\n alias: \"check\",\n type: \"boolean\",\n default: false,\n describe:\n \"Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.\",\n })\n .option(\"t\", {\n alias: \"timestamp\",\n type: \"number\",\n default: false,\n describe: \"Custom timestamp for the migration name\",\n })\n }\n\n async handler(args: yargs.Arguments<any & { path: string }>) {\n const timestamp = CommandUtils.getTimestamp(args.timestamp)\n const extension = args.outputJs ? \".js\" : \".ts\"\n const fullPath = args.path.startsWith(\"/\")\n ? args.path\n : path.resolve(process.cwd(), args.path)\n const filename = timestamp + \"-\" + path.basename(fullPath) + extension\n\n let dataSource: DataSource | undefined\n try {\n dataSource = await CommandUtils.loadDataSource(\n path.resolve(process.cwd(), args.dataSource as string),\n )\n dataSource.setOptions({\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false,\n })\n await dataSource.initialize()\n\n const upSqls: string[] = [],\n downSqls: string[] = []\n\n try {\n const sqlInMemory = await dataSource.driver\n .createSchemaBuilder()\n .log()\n\n if (args.pretty) {\n sqlInMemory.upQueries.forEach((upQuery) => {\n upQuery.query = MigrationGenerateCommand.prettifyQuery(\n upQuery.query,\n )\n })\n sqlInMemory.downQueries.forEach((downQuery) => {\n downQuery.query =\n MigrationGenerateCommand.prettifyQuery(\n downQuery.query,\n )\n })\n }\n\n sqlInMemory.upQueries.forEach((upQuery) => {\n upSqls.push(\n \" await queryRunner.query(`\" +\n upQuery.query.replaceAll(\"`\", \"\\\\`\") +\n \"`\" +\n MigrationGenerateCommand.queryParams(\n upQuery.parameters,\n ) +\n \");\",\n )\n })\n sqlInMemory.downQueries.forEach((downQuery) => {\n downSqls.push(\n \" await queryRunner.query(`\" +\n downQuery.query.replaceAll(\"`\", \"\\\\`\") +\n \"`\" +\n MigrationGenerateCommand.queryParams(\n downQuery.parameters,\n ) +\n \");\",\n )\n })\n } finally {\n await dataSource.destroy()\n }\n\n if (!upSqls.length) {\n if (args.check) {\n console.log(\n ansi.green`No changes in database schema were found`,\n )\n process.exit(0)\n } else {\n console.log(\n ansi.yellow`No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command`,\n )\n process.exit(1)\n }\n } else if (!args.path) {\n console.log(ansi.yellow`Please specify a migration path`)\n process.exit(1)\n }\n\n const fileContent = args.outputJs\n ? MigrationGenerateCommand.getJavascriptTemplate(\n path.basename(fullPath),\n timestamp,\n upSqls,\n downSqls.reverse(),\n args.esm,\n )\n : MigrationGenerateCommand.getTemplate(\n path.basename(fullPath),\n timestamp,\n upSqls,\n downSqls.reverse(),\n )\n\n if (args.check) {\n console.log(\n ansi.yellow`Unexpected changes in database schema were found in check mode:\\n\\n${ansi.white(\n fileContent,\n )}`,\n )\n process.exit(1)\n }\n\n if (args.dryrun) {\n console.log(\n ansi.green(\n `Migration ${ansi.blue(\n fullPath + extension,\n )} has content:\\n\\n${ansi.white(fileContent)}`,\n ),\n )\n } else {\n const migrationFileName =\n path.dirname(fullPath) + \"/\" + filename\n await CommandUtils.createFile(migrationFileName, fileContent)\n\n console.log(\n ansi.green`Migration ${ansi.blue(\n migrationFileName,\n )} has been generated successfully.`,\n )\n if (args.exitProcess !== false) {\n process.exit(0)\n }\n }\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during migration generation:\", err)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats query parameters for migration queries if parameters actually exist\n * @param parameters\n */\n protected static queryParams(parameters: any[] | undefined): string {\n if (!parameters || !parameters.length) {\n return \"\"\n }\n\n return `, ${JSON.stringify(parameters)}`\n }\n\n /**\n * Gets contents of the migration file.\n * @param name\n * @param timestamp\n * @param upSqls\n * @param downSqls\n */\n protected static getTemplate(\n name: string,\n timestamp: number,\n upSqls: string[],\n downSqls: string[],\n ): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`\n\n return `import { MigrationInterface, QueryRunner } from \"typeorm\";\n\nexport class ${migrationName} implements MigrationInterface {\n name = '${migrationName}'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n${upSqls.join(`\n`)}\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n${downSqls.join(`\n`)}\n }\n\n}\n`\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n * @param name\n * @param timestamp\n * @param upSqls\n * @param downSqls\n * @param esm\n */\n protected static getJavascriptTemplate(\n name: string,\n timestamp: number,\n upSqls: string[],\n downSqls: string[],\n esm: boolean,\n ): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`\n\n const exportMethod = esm ? \"export\" : \"module.exports =\"\n\n return `/**\n * @typedef {import('typeorm').MigrationInterface} MigrationInterface\n * @typedef {import('typeorm').QueryRunner} QueryRunner\n */\n\n/**\n * @class\n * @implements {MigrationInterface}\n */\n${exportMethod} class ${migrationName} {\n name = '${migrationName}'\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async up(queryRunner) {\n${upSqls.join(`\n`)}\n }\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async down(queryRunner) {\n${downSqls.join(`\n`)}\n }\n}\n`\n }\n\n /**\n *\n * @param query\n */\n protected static prettifyQuery(query: string) {\n const formattedQuery = format(query, { indent: \" \" })\n return (\n \"\\n\" + formattedQuery.replace(/^/gm, \" \") + \"\\n \"\n )\n }\n}\n"]}
1
+ {"version":3,"file":"MigrationGenerateCommand.js","sourceRoot":"","sources":["../../../src/commands/MigrationGenerateCommand.ts"],"names":[],"mappings":";;;;AAAA,uEAA6D;AAC7D,0DAAwB;AACxB,wDAAuB;AACvB,8DAA6B;AAG7B,6DAAyD;AACzD,qDAA+C;AAC/C,iDAA6C;AAE7C;;GAEG;AACH,MAAa,wBAAwB;IAArC;QACI,YAAO,GAAG,2BAA2B,CAAA;QACrC,aAAQ,GACJ,gFAAgF,CAAA;IAoTxF,CAAC;IAlTG,OAAO,CAAC,IAAgB;QACpB,OAAO,IAAI;aACN,UAAU,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,4BAA4B;YACtC,YAAY,EAAE,IAAI;SACrB,CAAC;aACD,MAAM,CAAC,YAAY,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EACJ,6DAA6D;YACjE,YAAY,EAAE,IAAI;SACrB,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,4BAA4B;SACzC,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,QAAQ,EACJ,+DAA+D;SACtE,CAAC;aACD,MAAM,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,QAAQ,EACJ,sDAAsD;SAC7D,CAAC;aACD,MAAM,CAAC,IAAI,EAAE;YACV,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,QAAQ,EACJ,0EAA0E;SACjF,CAAC;aACD,MAAM,CAAC,IAAI,EAAE;YACV,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,QAAQ,EACJ,kHAAkH;SACzH,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,yCAAyC;SACtD,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA6C;QACvD,MAAM,SAAS,GAAG,2BAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,iBAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;QAEtE,IAAI,UAAkC,CAAA;QACtC,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,2BAAY,CAAC,cAAc,CAC1C,cAAI,CAAC,OAAO,CAAC,iBAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,UAAoB,CAAC,CACzD,CAAA;YACD,UAAU,CAAC,UAAU,CAAC;gBAClB,WAAW,EAAE,KAAK;gBAClB,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,KAAK;aACjB,CAAC,CAAA;YACF,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;YAE7B,MAAM,MAAM,GAAa,EAAE,EACvB,QAAQ,GAAa,EAAE,CAAA;YAE3B,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,MAAM;qBACtC,mBAAmB,EAAE;qBACrB,GAAG,EAAE,CAAA;gBAEV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACtC,OAAO,CAAC,KAAK,GAAG,wBAAwB,CAAC,aAAa,CAClD,OAAO,CAAC,KAAK,CAChB,CAAA;oBACL,CAAC,CAAC,CAAA;oBACF,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;wBAC1C,SAAS,CAAC,KAAK;4BACX,wBAAwB,CAAC,aAAa,CAClC,SAAS,CAAC,KAAK,CAClB,CAAA;oBACT,CAAC,CAAC,CAAA;gBACN,CAAC;gBAED,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACtC,MAAM,CAAC,IAAI,CACP,mCAAmC;wBAC/B,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;wBACpC,GAAG;wBACH,wBAAwB,CAAC,WAAW,CAChC,OAAO,CAAC,UAAU,CACrB;wBACD,IAAI,CACX,CAAA;gBACL,CAAC,CAAC,CAAA;gBACF,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBAC1C,QAAQ,CAAC,IAAI,CACT,mCAAmC;wBAC/B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;wBACtC,GAAG;wBACH,wBAAwB,CAAC,WAAW,CAChC,SAAS,CAAC,UAAU,CACvB;wBACD,IAAI,CACX,CAAA;gBACL,CAAC,CAAC,CAAA;YACN,CAAC;oBAAS,CAAC;gBACP,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAC9B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,KAAK,CAAA,0CAA0C,CACvD,CAAA;oBACD,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,MAAM,CAAA,gJAAgJ,CAC9J,CAAA;oBACD,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,MAAM,CAAA,iCAAiC,CAAC,CAAA;gBACzD,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;gBAC7B,CAAC,CAAC,wBAAwB,CAAC,qBAAqB,CAC1C,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,SAAS,EACT,MAAM,EACN,QAAQ,CAAC,OAAO,EAAE,EAClB,IAAI,CAAC,GAAG,CACX;gBACH,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAChC,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,SAAS,EACT,MAAM,EACN,QAAQ,CAAC,OAAO,EAAE,CACrB,CAAA;YAEP,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,MAAM,CAAA,sEAAsE,eAAI,CAAC,KAAK,CACvF,WAAW,CACd,EAAE,CACN,CAAA;gBACD,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,KAAK,CACN,aAAa,eAAI,CAAC,IAAI,CAClB,QAAQ,GAAG,SAAS,CACvB,oBAAoB,eAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CACjD,CACJ,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,iBAAiB,GACnB,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAA;gBAC3C,MAAM,2BAAY,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;gBAE7D,OAAO,CAAC,GAAG,CACP,eAAI,CAAC,KAAK,CAAA,aAAa,eAAI,CAAC,IAAI,CAC5B,iBAAiB,CACpB,mCAAmC,CACvC,CAAA;gBACD,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC7B,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,6BAAa,CAAC,SAAS,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;YAClE,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,4EAA4E;IAE5E;;;;OAIG;IACO,MAAM,CAAC,WAAW,CAAC,UAA6B;QACtD,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,CAAA;QACb,CAAC;QAED,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAA;IAC5C,CAAC;IAED;;;;;;;OAOG;IACO,MAAM,CAAC,WAAW,CACxB,IAAY,EACZ,SAAiB,EACjB,MAAgB,EAChB,QAAkB;QAElB,MAAM,aAAa,GAAG,GAAG,IAAA,uBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE,CAAA;QAE5D,OAAO;;eAEA,aAAa;cACd,aAAa;;;EAGzB,MAAM,CAAC,IAAI,CAAC;CACb,CAAC;;;;EAIA,QAAQ,CAAC,IAAI,CAAC;CACf,CAAC;;;;CAID,CAAA;IACG,CAAC;IAED;;;;;;;;OAQG;IACO,MAAM,CAAC,qBAAqB,CAClC,IAAY,EACZ,SAAiB,EACjB,MAAgB,EAChB,QAAkB,EAClB,GAAY;QAEZ,MAAM,aAAa,GAAG,GAAG,IAAA,uBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE,CAAA;QAE5D,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAA;QAExD,OAAO;;;;;;;;;EASb,YAAY,UAAU,aAAa;cACvB,aAAa;;;;;;EAMzB,MAAM,CAAC,IAAI,CAAC;CACb,CAAC;;;;;;;EAOA,QAAQ,CAAC,IAAI,CAAC;CACf,CAAC;;;CAGD,CAAA;IACG,CAAC;IAED;;;OAGG;IACO,MAAM,CAAC,aAAa,CAAC,KAAa;QACxC,MAAM,cAAc,GAAG,IAAA,qBAAM,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,OAAO,CACH,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,YAAY,CACtE,CAAA;IACL,CAAC;CACJ;AAvTD,4DAuTC","sourcesContent":["import { format } from \"@sqltools/formatter/lib/sqlFormatter\"\nimport ansi from \"ansis\"\nimport path from \"path\"\nimport process from \"process\"\nimport type yargs from \"yargs\"\nimport type { DataSource } from \"../data-source\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { camelCase } from \"../util/StringUtils\"\nimport { CommandUtils } from \"./CommandUtils\"\n\n/**\n * Generates a new migration file with sql needs to be executed to update schema.\n */\nexport class MigrationGenerateCommand implements yargs.CommandModule {\n command = \"migration:generate <path>\"\n describe =\n \"Generates a new migration file with sql needs to be executed to update schema.\"\n\n builder(args: yargs.Argv) {\n return args\n .positional(\"path\", {\n type: \"string\",\n describe: \"Path of the migration file\",\n demandOption: true,\n })\n .option(\"dataSource\", {\n alias: \"d\",\n type: \"string\",\n describe:\n \"Path to the file where your DataSource instance is defined.\",\n demandOption: true,\n })\n .option(\"p\", {\n alias: \"pretty\",\n type: \"boolean\",\n default: false,\n describe: \"Pretty-print generated SQL\",\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"esm\", {\n type: \"boolean\",\n default: false,\n describe:\n \"Generate a migration file on ESM instead of CommonJS\",\n })\n .option(\"dr\", {\n alias: \"dryrun\",\n type: \"boolean\",\n default: false,\n describe:\n \"Prints out the contents of the migration instead of writing it to a file\",\n })\n .option(\"ch\", {\n alias: \"check\",\n type: \"boolean\",\n default: false,\n describe:\n \"Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.\",\n })\n .option(\"t\", {\n alias: \"timestamp\",\n type: \"number\",\n default: false,\n describe: \"Custom timestamp for the migration name\",\n })\n }\n\n async handler(args: yargs.Arguments<any & { path: string }>) {\n const timestamp = CommandUtils.getTimestamp(args.timestamp)\n const extension = args.outputJs ? \".js\" : \".ts\"\n const fullPath = args.path.startsWith(\"/\")\n ? args.path\n : path.resolve(process.cwd(), args.path)\n const filename = timestamp + \"-\" + path.basename(fullPath) + extension\n\n let dataSource: DataSource | undefined\n try {\n dataSource = await CommandUtils.loadDataSource(\n path.resolve(process.cwd(), args.dataSource as string),\n )\n dataSource.setOptions({\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false,\n })\n await dataSource.initialize()\n\n const upSqls: string[] = [],\n downSqls: string[] = []\n\n try {\n const sqlInMemory = await dataSource.driver\n .createSchemaBuilder()\n .log()\n\n if (args.pretty) {\n sqlInMemory.upQueries.forEach((upQuery) => {\n upQuery.query = MigrationGenerateCommand.prettifyQuery(\n upQuery.query,\n )\n })\n sqlInMemory.downQueries.forEach((downQuery) => {\n downQuery.query =\n MigrationGenerateCommand.prettifyQuery(\n downQuery.query,\n )\n })\n }\n\n sqlInMemory.upQueries.forEach((upQuery) => {\n upSqls.push(\n \" await queryRunner.query(`\" +\n upQuery.query.replaceAll(\"`\", \"\\\\`\") +\n \"`\" +\n MigrationGenerateCommand.queryParams(\n upQuery.parameters,\n ) +\n \");\",\n )\n })\n sqlInMemory.downQueries.forEach((downQuery) => {\n downSqls.push(\n \" await queryRunner.query(`\" +\n downQuery.query.replaceAll(\"`\", \"\\\\`\") +\n \"`\" +\n MigrationGenerateCommand.queryParams(\n downQuery.parameters,\n ) +\n \");\",\n )\n })\n } finally {\n await dataSource.destroy()\n }\n\n if (!upSqls.length) {\n if (args.check) {\n console.log(\n ansi.green`No changes in database schema were found`,\n )\n process.exit(0)\n } else {\n console.log(\n ansi.yellow`No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command`,\n )\n process.exit(1)\n }\n } else if (!args.path) {\n console.log(ansi.yellow`Please specify a migration path`)\n process.exit(1)\n }\n\n const fileContent = args.outputJs\n ? MigrationGenerateCommand.getJavascriptTemplate(\n path.basename(fullPath),\n timestamp,\n upSqls,\n downSqls.reverse(),\n args.esm,\n )\n : MigrationGenerateCommand.getTemplate(\n path.basename(fullPath),\n timestamp,\n upSqls,\n downSqls.reverse(),\n )\n\n if (args.check) {\n console.log(\n ansi.yellow`Unexpected changes in database schema were found in check mode:\\n\\n${ansi.white(\n fileContent,\n )}`,\n )\n process.exit(1)\n }\n\n if (args.dryrun) {\n console.log(\n ansi.green(\n `Migration ${ansi.blue(\n fullPath + extension,\n )} has content:\\n\\n${ansi.white(fileContent)}`,\n ),\n )\n } else {\n const migrationFileName =\n path.dirname(fullPath) + \"/\" + filename\n await CommandUtils.createFile(migrationFileName, fileContent)\n\n console.log(\n ansi.green`Migration ${ansi.blue(\n migrationFileName,\n )} has been generated successfully.`,\n )\n if (args.exitProcess !== false) {\n process.exit(0)\n }\n }\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during migration generation:\", err)\n process.exit(1)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats query parameters for migration queries if parameters actually exist\n *\n * @param parameters\n */\n protected static queryParams(parameters: any[] | undefined): string {\n if (!parameters?.length) {\n return \"\"\n }\n\n return `, ${JSON.stringify(parameters)}`\n }\n\n /**\n * Gets contents of the migration file.\n *\n * @param name\n * @param timestamp\n * @param upSqls\n * @param downSqls\n */\n protected static getTemplate(\n name: string,\n timestamp: number,\n upSqls: string[],\n downSqls: string[],\n ): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`\n\n return `import { MigrationInterface, QueryRunner } from \"typeorm\";\n\nexport class ${migrationName} implements MigrationInterface {\n name = '${migrationName}'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n${upSqls.join(`\n`)}\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n${downSqls.join(`\n`)}\n }\n\n}\n`\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n *\n * @param name\n * @param timestamp\n * @param upSqls\n * @param downSqls\n * @param esm\n */\n protected static getJavascriptTemplate(\n name: string,\n timestamp: number,\n upSqls: string[],\n downSqls: string[],\n esm: boolean,\n ): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`\n\n const exportMethod = esm ? \"export\" : \"module.exports =\"\n\n return `/**\n * @typedef {import('typeorm').MigrationInterface} MigrationInterface\n * @typedef {import('typeorm').QueryRunner} QueryRunner\n */\n\n/**\n * @class\n * @implements {MigrationInterface}\n */\n${exportMethod} class ${migrationName} {\n name = '${migrationName}'\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async up(queryRunner) {\n${upSqls.join(`\n`)}\n }\n\n /**\n * @param {QueryRunner} queryRunner\n */\n async down(queryRunner) {\n${downSqls.join(`\n`)}\n }\n}\n`\n }\n\n /**\n *\n * @param query\n */\n protected static prettifyQuery(query: string) {\n const formattedQuery = format(query, { indent: \" \" })\n return (\n \"\\n\" + formattedQuery.replace(/^/gm, \" \") + \"\\n \"\n )\n }\n}\n"]}
@@ -69,7 +69,7 @@ class MigrationRevertCommand {
69
69
  }
70
70
  catch (err) {
71
71
  PlatformTools_1.PlatformTools.logCmdErr("Error during migration revert:", err);
72
- if (dataSource && dataSource.isInitialized)
72
+ if (dataSource?.isInitialized)
73
73
  await dataSource.destroy();
74
74
  process_1.default.exit(1);
75
75
  }