@dbml/cli 3.6.2 → 3.7.1

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 (292) hide show
  1. package/.babelrc +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +0 -0
  4. package/__test__/cli.test.js +7 -1
  5. package/__test__/db2dbml/mssql/dbml-error.log +467 -0
  6. package/__test__/db2dbml/mssql/expect-out-files/schema.dbml +190 -0
  7. package/__test__/db2dbml/mssql/options.json +8 -0
  8. package/__test__/db2dbml/mssql/schema.sql +296 -0
  9. package/__test__/db2dbml/mssql/stdout.txt +1 -0
  10. package/__test__/db2dbml/mysql/dbml-error.log +281 -0
  11. package/__test__/db2dbml/mysql/expect-out-files/schema.dbml +180 -0
  12. package/__test__/db2dbml/mysql/options.json +8 -0
  13. package/__test__/db2dbml/mysql/out-files/schema.dbml +180 -0
  14. package/__test__/db2dbml/mysql/schema.sql +141 -0
  15. package/__test__/db2dbml/mysql/stdout.txt +1 -0
  16. package/__test__/db2dbml/postgres/dbml-error.log +252 -0
  17. package/__test__/db2dbml/postgres/expect-out-files/schema.dbml +140 -0
  18. package/__test__/db2dbml/postgres/options.json +8 -0
  19. package/__test__/db2dbml/postgres/out-files/schema.dbml +140 -0
  20. package/__test__/db2dbml/postgres/schema.sql +156 -0
  21. package/__test__/db2dbml/postgres/stdout.txt +1 -0
  22. package/__test__/db2dbml_bin.js +5 -0
  23. package/__test__/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -36
  24. package/__test__/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +0 -0
  25. package/__test__/dbml2sql/filename --mysql --out-file/in-files/schema.dbml +0 -0
  26. package/__test__/dbml2sql/filename --mysql --out-file/options.json +0 -0
  27. package/__test__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +1 -1
  28. package/__test__/dbml2sql/filename --mysql --out-file/stdout.txt +0 -0
  29. package/__test__/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
  30. package/__test__/dbml2sql/filename --mysql stdout/in-files/schema.dbml +0 -0
  31. package/__test__/dbml2sql/filename --mysql stdout/options.json +0 -0
  32. package/__test__/dbml2sql/filename --mysql stdout/stdout.txt +0 -0
  33. package/__test__/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
  34. package/__test__/dbml2sql/filename --oracle --out-file/expect-out-files/schema.sql +0 -0
  35. package/__test__/dbml2sql/filename --oracle --out-file/in-files/schema.dbml +0 -0
  36. package/__test__/dbml2sql/filename --oracle --out-file/options.json +0 -0
  37. package/__test__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +1 -1
  38. package/__test__/dbml2sql/filename --oracle --out-file/stdout.txt +0 -0
  39. package/__test__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  40. package/__test__/dbml2sql/filename --oracle stdout/in-files/schema.dbml +0 -0
  41. package/__test__/dbml2sql/filename --oracle stdout/options.json +0 -0
  42. package/__test__/dbml2sql/filename --oracle stdout/stdout.txt +0 -0
  43. package/__test__/dbml2sql/filename --out-file/dbml-error.log +0 -36
  44. package/__test__/dbml2sql/filename --out-file/expect-out-files/schema.sql +0 -0
  45. package/__test__/dbml2sql/filename --out-file/in-files/schema.dbml +0 -0
  46. package/__test__/dbml2sql/filename --out-file/options.json +0 -0
  47. package/__test__/dbml2sql/filename --out-file/out-files/schema.sql +1 -1
  48. package/__test__/dbml2sql/filename --out-file/stdout.txt +0 -0
  49. package/__test__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -24
  50. package/__test__/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +0 -0
  51. package/__test__/dbml2sql/filename --postgres --out-file/in-files/schema.dbml +0 -0
  52. package/__test__/dbml2sql/filename --postgres --out-file/options.json +0 -0
  53. package/__test__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +1 -1
  54. package/__test__/dbml2sql/filename --postgres --out-file/stdout.txt +0 -0
  55. package/__test__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  56. package/__test__/dbml2sql/filename --postgres stdout/in-files/schema.dbml +0 -0
  57. package/__test__/dbml2sql/filename --postgres stdout/options.json +0 -0
  58. package/__test__/dbml2sql/filename --postgres stdout/stdout.txt +0 -0
  59. package/__test__/dbml2sql/filename stdout/dbml-error.log +0 -0
  60. package/__test__/dbml2sql/filename stdout/in-files/schema.dbml +0 -0
  61. package/__test__/dbml2sql/filename stdout/options.json +0 -0
  62. package/__test__/dbml2sql/filename stdout/stdout.txt +0 -0
  63. package/__test__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -24
  64. package/__test__/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +0 -0
  65. package/__test__/dbml2sql/filenames --mysql --out-file/in-files/business.dbml +0 -0
  66. package/__test__/dbml2sql/filenames --mysql --out-file/in-files/customer.dbml +0 -0
  67. package/__test__/dbml2sql/filenames --mysql --out-file/in-files/inventory.dbml +0 -0
  68. package/__test__/dbml2sql/filenames --mysql --out-file/options.json +0 -0
  69. package/__test__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +1 -1
  70. package/__test__/dbml2sql/filenames --mysql --out-file/stdout.txt +0 -0
  71. package/__test__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  72. package/__test__/dbml2sql/filenames --mysql stdout/in-files/business.dbml +0 -0
  73. package/__test__/dbml2sql/filenames --mysql stdout/in-files/customer.dbml +0 -0
  74. package/__test__/dbml2sql/filenames --mysql stdout/in-files/inventory.dbml +0 -0
  75. package/__test__/dbml2sql/filenames --mysql stdout/options.json +0 -0
  76. package/__test__/dbml2sql/filenames --mysql stdout/stdout.txt +0 -0
  77. package/__test__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  78. package/__test__/dbml2sql/filenames --oracle --out-file/expect-out-files/schema.sql +0 -0
  79. package/__test__/dbml2sql/filenames --oracle --out-file/in-files/business.dbml +0 -0
  80. package/__test__/dbml2sql/filenames --oracle --out-file/in-files/customer.dbml +0 -0
  81. package/__test__/dbml2sql/filenames --oracle --out-file/in-files/inventory.dbml +0 -0
  82. package/__test__/dbml2sql/filenames --oracle --out-file/options.json +0 -0
  83. package/__test__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +1 -1
  84. package/__test__/dbml2sql/filenames --oracle --out-file/stdout.txt +0 -0
  85. package/__test__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  86. package/__test__/dbml2sql/filenames --oracle stdout/in-files/business.dbml +0 -0
  87. package/__test__/dbml2sql/filenames --oracle stdout/in-files/customer.dbml +0 -0
  88. package/__test__/dbml2sql/filenames --oracle stdout/in-files/inventory.dbml +0 -0
  89. package/__test__/dbml2sql/filenames --oracle stdout/options.json +0 -0
  90. package/__test__/dbml2sql/filenames --oracle stdout/stdout.txt +0 -0
  91. package/__test__/dbml2sql/filenames --out-file/dbml-error.log +0 -24
  92. package/__test__/dbml2sql/filenames --out-file/expect-out-files/schema.sql +0 -0
  93. package/__test__/dbml2sql/filenames --out-file/in-files/business.dbml +0 -0
  94. package/__test__/dbml2sql/filenames --out-file/in-files/customer.dbml +0 -0
  95. package/__test__/dbml2sql/filenames --out-file/in-files/inventory.dbml +0 -0
  96. package/__test__/dbml2sql/filenames --out-file/options.json +0 -0
  97. package/__test__/dbml2sql/filenames --out-file/out-files/schema.sql +1 -1
  98. package/__test__/dbml2sql/filenames --out-file/stdout.txt +0 -0
  99. package/__test__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -24
  100. package/__test__/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +0 -0
  101. package/__test__/dbml2sql/filenames --postgres --out-file/in-files/business.dbml +0 -0
  102. package/__test__/dbml2sql/filenames --postgres --out-file/in-files/customer.dbml +0 -0
  103. package/__test__/dbml2sql/filenames --postgres --out-file/in-files/inventory.dbml +0 -0
  104. package/__test__/dbml2sql/filenames --postgres --out-file/options.json +0 -0
  105. package/__test__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +1 -1
  106. package/__test__/dbml2sql/filenames --postgres --out-file/stdout.txt +0 -0
  107. package/__test__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  108. package/__test__/dbml2sql/filenames --postgres stdout/in-files/business.dbml +0 -0
  109. package/__test__/dbml2sql/filenames --postgres stdout/in-files/customer.dbml +0 -0
  110. package/__test__/dbml2sql/filenames --postgres stdout/in-files/inventory.dbml +0 -0
  111. package/__test__/dbml2sql/filenames --postgres stdout/options.json +0 -0
  112. package/__test__/dbml2sql/filenames --postgres stdout/stdout.txt +0 -0
  113. package/__test__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  114. package/__test__/dbml2sql/filenames stdout/in-files/business.dbml +0 -0
  115. package/__test__/dbml2sql/filenames stdout/in-files/customer.dbml +0 -0
  116. package/__test__/dbml2sql/filenames stdout/in-files/inventory.dbml +0 -0
  117. package/__test__/dbml2sql/filenames stdout/options.json +0 -0
  118. package/__test__/dbml2sql/filenames stdout/stdout.txt +0 -0
  119. package/__test__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -24
  120. package/__test__/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +0 -0
  121. package/__test__/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +0 -0
  122. package/__test__/dbml2sql/multiple_schema_mssql/options.json +0 -0
  123. package/__test__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +1 -1
  124. package/__test__/dbml2sql/multiple_schema_mssql/stdout.txt +0 -0
  125. package/__test__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -24
  126. package/__test__/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +0 -0
  127. package/__test__/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +0 -0
  128. package/__test__/dbml2sql/multiple_schema_mysql/options.json +0 -0
  129. package/__test__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +1 -1
  130. package/__test__/dbml2sql/multiple_schema_mysql/stdout.txt +0 -0
  131. package/__test__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  132. package/__test__/dbml2sql/multiple_schema_oracle/expect-out-files/multiple_schema.out.sql +0 -0
  133. package/__test__/dbml2sql/multiple_schema_oracle/in-files/multiple_schema.in.dbml +0 -0
  134. package/__test__/dbml2sql/multiple_schema_oracle/options.json +0 -0
  135. package/__test__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +1 -1
  136. package/__test__/dbml2sql/multiple_schema_oracle/stdout.txt +0 -0
  137. package/__test__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -24
  138. package/__test__/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +0 -0
  139. package/__test__/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +0 -0
  140. package/__test__/dbml2sql/multiple_schema_pg/options.json +0 -0
  141. package/__test__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +1 -1
  142. package/__test__/dbml2sql/multiple_schema_pg/stdout.txt +0 -0
  143. package/__test__/dbml2sql/syntax-error/dbml-error.log +7 -2104
  144. package/__test__/dbml2sql/syntax-error/in-files/ecommerce.dbml +0 -0
  145. package/__test__/dbml2sql/syntax-error/options.json +0 -0
  146. package/__test__/dbml2sql/syntax-error/stdout.txt +0 -0
  147. package/__test__/dbml2sql_bin.js +0 -0
  148. package/__test__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -51
  149. package/__test__/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +0 -0
  150. package/__test__/sql2dbml/filename --mssql --out-file/in-files/schema.sql +0 -0
  151. package/__test__/sql2dbml/filename --mssql --out-file/options.json +0 -0
  152. package/__test__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +0 -0
  153. package/__test__/sql2dbml/filename --mssql --out-file/stdout.txt +0 -0
  154. package/__test__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -24
  155. package/__test__/sql2dbml/filename --mysql --out-file/expect-out-files/schema.dbml +0 -0
  156. package/__test__/sql2dbml/filename --mysql --out-file/in-files/schema.sql +0 -0
  157. package/__test__/sql2dbml/filename --mysql --out-file/options.json +0 -0
  158. package/__test__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +0 -0
  159. package/__test__/sql2dbml/filename --mysql --out-file/stdout.txt +0 -0
  160. package/__test__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  161. package/__test__/sql2dbml/filename --mysql stdout/in-files/schema.sql +0 -0
  162. package/__test__/sql2dbml/filename --mysql stdout/options.json +0 -0
  163. package/__test__/sql2dbml/filename --mysql stdout/stdout.txt +0 -0
  164. package/__test__/sql2dbml/filename --out-file/dbml-error.log +0 -24
  165. package/__test__/sql2dbml/filename --out-file/expect-out-files/schema.dbml +0 -0
  166. package/__test__/sql2dbml/filename --out-file/in-files/schema.sql +0 -0
  167. package/__test__/sql2dbml/filename --out-file/options.json +0 -0
  168. package/__test__/sql2dbml/filename --out-file/out-files/schema.dbml +0 -0
  169. package/__test__/sql2dbml/filename --out-file/stdout.txt +0 -0
  170. package/__test__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -24
  171. package/__test__/sql2dbml/filename --postgres --out-file/expect-out-files/schema.dbml +0 -0
  172. package/__test__/sql2dbml/filename --postgres --out-file/in-files/schema.sql +0 -0
  173. package/__test__/sql2dbml/filename --postgres --out-file/options.json +0 -0
  174. package/__test__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +0 -0
  175. package/__test__/sql2dbml/filename --postgres --out-file/stdout.txt +0 -0
  176. package/__test__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  177. package/__test__/sql2dbml/filename --postgres stdout/in-files/schema.sql +0 -0
  178. package/__test__/sql2dbml/filename --postgres stdout/options.json +0 -0
  179. package/__test__/sql2dbml/filename --postgres stdout/stdout.txt +0 -0
  180. package/__test__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -54
  181. package/__test__/sql2dbml/filename --snowflake stdout/in-files/schema.sql +0 -0
  182. package/__test__/sql2dbml/filename --snowflake stdout/options.json +0 -0
  183. package/__test__/sql2dbml/filename --snowflake stdout/stdout.txt +6 -6
  184. package/__test__/sql2dbml/filename stdout/dbml-error.log +0 -0
  185. package/__test__/sql2dbml/filename stdout/in-files/schema.sql +0 -0
  186. package/__test__/sql2dbml/filename stdout/options.json +0 -0
  187. package/__test__/sql2dbml/filename stdout/stdout.txt +0 -0
  188. package/__test__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -24
  189. package/__test__/sql2dbml/filenames --mysql --out-file/expect-out-files/schema.dbml +0 -0
  190. package/__test__/sql2dbml/filenames --mysql --out-file/in-files/business.sql +0 -0
  191. package/__test__/sql2dbml/filenames --mysql --out-file/in-files/customer.sql +0 -0
  192. package/__test__/sql2dbml/filenames --mysql --out-file/in-files/inventory.sql +0 -0
  193. package/__test__/sql2dbml/filenames --mysql --out-file/options.json +0 -0
  194. package/__test__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +0 -0
  195. package/__test__/sql2dbml/filenames --mysql --out-file/stdout.txt +0 -0
  196. package/__test__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  197. package/__test__/sql2dbml/filenames --mysql stdout/in-files/business.sql +0 -0
  198. package/__test__/sql2dbml/filenames --mysql stdout/in-files/customer.sql +0 -0
  199. package/__test__/sql2dbml/filenames --mysql stdout/in-files/inventory.sql +0 -0
  200. package/__test__/sql2dbml/filenames --mysql stdout/options.json +0 -0
  201. package/__test__/sql2dbml/filenames --mysql stdout/stdout.txt +0 -0
  202. package/__test__/sql2dbml/filenames --out-file/dbml-error.log +0 -24
  203. package/__test__/sql2dbml/filenames --out-file/expect-out-files/schema.dbml +0 -0
  204. package/__test__/sql2dbml/filenames --out-file/in-files/business.sql +0 -0
  205. package/__test__/sql2dbml/filenames --out-file/in-files/customer.sql +0 -0
  206. package/__test__/sql2dbml/filenames --out-file/in-files/inventory.sql +0 -0
  207. package/__test__/sql2dbml/filenames --out-file/options.json +0 -0
  208. package/__test__/sql2dbml/filenames --out-file/out-files/schema.dbml +0 -0
  209. package/__test__/sql2dbml/filenames --out-file/stdout.txt +0 -0
  210. package/__test__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -24
  211. package/__test__/sql2dbml/filenames --postgres --out-file/expect-out-files/schema.dbml +0 -0
  212. package/__test__/sql2dbml/filenames --postgres --out-file/in-files/business.sql +0 -0
  213. package/__test__/sql2dbml/filenames --postgres --out-file/in-files/customer.sql +0 -0
  214. package/__test__/sql2dbml/filenames --postgres --out-file/in-files/inventory.sql +0 -0
  215. package/__test__/sql2dbml/filenames --postgres --out-file/options.json +0 -0
  216. package/__test__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +0 -0
  217. package/__test__/sql2dbml/filenames --postgres --out-file/stdout.txt +0 -0
  218. package/__test__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  219. package/__test__/sql2dbml/filenames --postgres stdout/in-files/business.sql +0 -0
  220. package/__test__/sql2dbml/filenames --postgres stdout/in-files/customer.sql +0 -0
  221. package/__test__/sql2dbml/filenames --postgres stdout/in-files/inventory.sql +0 -0
  222. package/__test__/sql2dbml/filenames --postgres stdout/options.json +0 -0
  223. package/__test__/sql2dbml/filenames --postgres stdout/stdout.txt +0 -0
  224. package/__test__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  225. package/__test__/sql2dbml/filenames stdout/in-files/business.sql +0 -0
  226. package/__test__/sql2dbml/filenames stdout/in-files/customer.sql +0 -0
  227. package/__test__/sql2dbml/filenames stdout/in-files/inventory.sql +0 -0
  228. package/__test__/sql2dbml/filenames stdout/options.json +0 -0
  229. package/__test__/sql2dbml/filenames stdout/stdout.txt +0 -0
  230. package/__test__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -121
  231. package/__test__/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +0 -0
  232. package/__test__/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +0 -0
  233. package/__test__/sql2dbml/multiple_schema_mssql/options.json +0 -0
  234. package/__test__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +0 -0
  235. package/__test__/sql2dbml/multiple_schema_mssql/stdout.txt +0 -0
  236. package/__test__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -104
  237. package/__test__/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +0 -0
  238. package/__test__/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +0 -0
  239. package/__test__/sql2dbml/multiple_schema_mysql/options.json +0 -0
  240. package/__test__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +0 -0
  241. package/__test__/sql2dbml/multiple_schema_mysql/stdout.txt +0 -0
  242. package/__test__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -131
  243. package/__test__/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +0 -0
  244. package/__test__/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +0 -0
  245. package/__test__/sql2dbml/multiple_schema_pg/options.json +0 -0
  246. package/__test__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +0 -0
  247. package/__test__/sql2dbml/multiple_schema_pg/stdout.txt +0 -0
  248. package/__test__/sql2dbml/syntax-error/dbml-error.log +7 -2077
  249. package/__test__/sql2dbml/syntax-error/in-files/business.sql +0 -0
  250. package/__test__/sql2dbml/syntax-error/options.json +0 -0
  251. package/__test__/sql2dbml/syntax-error/stdout.txt +0 -0
  252. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +9 -27
  253. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/in-files/schema.sql +0 -0
  254. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/options.json +0 -0
  255. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +0 -0
  256. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +7 -28
  257. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/in-files/schema.sql +0 -0
  258. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/options.json +0 -0
  259. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +0 -0
  260. package/__test__/sql2dbml_bin.js +0 -0
  261. package/bin/db2dbml.js +4 -0
  262. package/dbml-error.log +52 -279
  263. package/jestHelpers.js +0 -0
  264. package/lib/cli/config.js +0 -0
  265. package/lib/cli/connector.js +6 -7
  266. package/lib/cli/export.js +0 -0
  267. package/lib/cli/import.js +0 -0
  268. package/lib/cli/index.js +28 -0
  269. package/lib/cli/outputPlugins/outputConsolePlugin.js +0 -0
  270. package/lib/cli/outputPlugins/outputFilePlugin.js +0 -0
  271. package/lib/cli/utils.js +20 -0
  272. package/lib/cli/validatePlugins/validatePlugins.js +0 -0
  273. package/lib/errors/domainError.js +0 -0
  274. package/lib/errors/index.js +0 -0
  275. package/lib/errors/syntaxError.js +0 -0
  276. package/lib/helpers/logger.js +0 -0
  277. package/lib/index.js +6 -0
  278. package/package.json +8 -4
  279. package/src/cli/config.js +0 -0
  280. package/src/cli/connector.js +31 -0
  281. package/src/cli/export.js +0 -0
  282. package/src/cli/import.js +0 -0
  283. package/src/cli/index.js +35 -0
  284. package/src/cli/outputPlugins/outputConsolePlugin.js +0 -0
  285. package/src/cli/outputPlugins/outputFilePlugin.js +0 -0
  286. package/src/cli/utils.js +23 -0
  287. package/src/cli/validatePlugins/validatePlugins.js +0 -0
  288. package/src/errors/domainError.js +0 -0
  289. package/src/errors/index.js +0 -0
  290. package/src/errors/syntaxError.js +0 -0
  291. package/src/helpers/logger.js +0 -0
  292. package/src/index.js +2 -1
package/lib/index.js CHANGED
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "db2dbml", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _cli.db2dbml;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "dbml2sql", {
7
13
  enumerable: true,
8
14
  get: function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dbml/cli",
3
- "version": "3.6.2",
3
+ "version": "3.7.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "license": "Apache-2.0",
@@ -14,7 +14,8 @@
14
14
  },
15
15
  "bin": {
16
16
  "dbml2sql": "bin/dbml2sql.js",
17
- "sql2dbml": "bin/sql2dbml.js"
17
+ "sql2dbml": "bin/sql2dbml.js",
18
+ "db2dbml": "bin/db2dbml.js"
18
19
  },
19
20
  "author": "Holistics <dev@holistics.io>",
20
21
  "homepage": "https://dbml.dbdiagram.io",
@@ -25,7 +26,7 @@
25
26
  ],
26
27
  "dependencies": {
27
28
  "@babel/cli": "^7.21.0",
28
- "@dbml/core": "^3.6.2",
29
+ "@dbml/core": "^3.7.1",
29
30
  "bluebird": "^3.5.5",
30
31
  "chalk": "^2.4.2",
31
32
  "commander": "^2.20.0",
@@ -53,5 +54,8 @@
53
54
  "^.+\\.js$": "babel-jest"
54
55
  }
55
56
  },
56
- "gitHead": "d3d82a3e8260f733098edc5fbfdbd3f8a381c6e3"
57
+ "gitHead": "71d7e2cd00ba5d60d2e36c465d43ce1d91189274",
58
+ "engines": {
59
+ "node": ">=18"
60
+ }
57
61
  }
package/src/cli/config.js CHANGED
File without changes
@@ -0,0 +1,31 @@
1
+ import { importer } from '@dbml/core';
2
+ import figures from 'figures';
3
+ import chalk from 'chalk';
4
+ import path from 'path';
5
+ import {
6
+ resolvePaths,
7
+ getConnectionOpt,
8
+ } from './utils';
9
+ import OutputConsolePlugin from './outputPlugins/outputConsolePlugin';
10
+ import OutputFilePlugin from './outputPlugins/outputFilePlugin';
11
+ import logger from '../helpers/logger';
12
+
13
+ export default async function connectionHandler (program) {
14
+ try {
15
+ const { connection, format } = getConnectionOpt(program.args);
16
+ const opts = program.opts();
17
+
18
+ if (!opts.outFile && !opts.outDir) {
19
+ const res = await importer.generateDbml(connection, format);
20
+ OutputConsolePlugin.write(res);
21
+ } else if (opts.outFile) {
22
+ const res = await importer.generateDbml(connection, format);
23
+ (new OutputFilePlugin(resolvePaths(opts.outFile))).write(res);
24
+
25
+ // bearer:disable javascript_lang_logger
26
+ console.log(` ${chalk.green(figures.main.tick)} Generated DBML file from database's connection: ${path.basename(opts.outFile)}`);
27
+ }
28
+ } catch (error) {
29
+ logger.error(error);
30
+ }
31
+ }
package/src/cli/export.js CHANGED
File without changes
package/src/cli/import.js CHANGED
File without changes
package/src/cli/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  import program from 'commander';
2
2
  import importHandler from './import';
3
3
  import exportHandler from './export';
4
+ import connectionHandler from './connector';
4
5
  import projectInfo from '../../package.json';
5
6
 
7
+ function showHelp (args) {
8
+ if (args.length < 3) program.help();
9
+ }
10
+
6
11
  function dbml2sql (args) {
7
12
  program.version(projectInfo.version);
8
13
 
@@ -15,6 +20,7 @@ function dbml2sql (args) {
15
20
  .option('-o, --out-file <pathspec>', 'compile all input files into a single files');
16
21
  // .option('-d, --out-dir <pathspec>', 'compile an input directory of dbml files into an output directory');
17
22
 
23
+ showHelp(args);
18
24
  program.parse(args);
19
25
 
20
26
  exportHandler(program);
@@ -34,12 +40,41 @@ function sql2dbml (args) {
34
40
  .option('-o, --out-file <pathspec>', 'compile all input files into a single files');
35
41
  // .option('-d, --out-dir <pathspec>', 'compile an input directory of sql files into an output directory');
36
42
 
43
+ showHelp(args);
37
44
  program.parse(args);
38
45
 
39
46
  importHandler(program);
40
47
  }
41
48
 
49
+ function db2dbml (args) {
50
+ program.version(projectInfo.version);
51
+
52
+ // Q: How to write the arguments description for the below usage?
53
+ // A: The usage description is written in the following way:
54
+ // - <format> your database format (postgres, mysql, mssql)
55
+ // - <connection-string> your database connection string
56
+ // - postgres: postgresql://user:password@localhost:5432/dbname
57
+ // - mssql: 'Server=localhost,1433;Database=master;User Id=sa;Password=your_password;Encrypt=true;TrustServerCertificate
58
+ const description = `
59
+ <format> your database format (postgres, mysql, mssql)
60
+ <connection-string> your database connection string:
61
+ - postgres: postgresql://user:password@localhost:5432/dbname
62
+ - mysql: mysql://user:password@localhost:3306/dbname
63
+ - mssql: 'Server=localhost,1433;Database=master;User Id=sa;Password=your_password;Encrypt=true;TrustServerCertificate=true;'
64
+ `;
65
+ program
66
+ .usage('<format> <connection-string> [options]')
67
+ .description(description)
68
+ .option('-o, --out-file <pathspec>', 'compile all input files into a single files');
69
+
70
+ showHelp(args);
71
+ program.parse(args);
72
+
73
+ connectionHandler(program);
74
+ }
75
+
42
76
  export {
43
77
  dbml2sql,
44
78
  sql2dbml,
79
+ db2dbml,
45
80
  };
File without changes
File without changes
package/src/cli/utils.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import path from 'path';
2
2
  import fs from 'fs';
3
3
  import { CompilerError } from '@dbml/core';
4
+ import { reduce } from 'lodash';
4
5
 
5
6
  function resolvePaths (paths) {
6
7
  if (!Array.isArray(paths)) {
@@ -32,6 +33,27 @@ function getFormatOpt (opts) {
32
33
  return format;
33
34
  }
34
35
 
36
+ function getConnectionOpt (args) {
37
+ const supportedDatabases = ['postgres', 'mysql', 'mssql'];
38
+ const defaultConnectionOpt = {
39
+ connection: args[0],
40
+ format: 'unknown',
41
+ };
42
+
43
+ return reduce(args, (connectionOpt, arg) => {
44
+ if (supportedDatabases.includes(arg)) connectionOpt.format = arg;
45
+ // Check if the arg is a connection string using regex
46
+ const connectionStringRegex = /^.*[:;]/;
47
+ if (connectionStringRegex.test(arg)) {
48
+ // Example: jdbc:mysql://localhost:3306/mydatabase
49
+ // Example: odbc:Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
50
+ connectionOpt.connection = arg;
51
+ }
52
+
53
+ return connectionOpt;
54
+ }, defaultConnectionOpt);
55
+ }
56
+
35
57
  function generate (inputPaths, transform, outputPlugin) {
36
58
  inputPaths.forEach((_path) => {
37
59
  const source = fs.readFileSync(_path, 'utf-8');
@@ -49,5 +71,6 @@ export {
49
71
  resolvePaths,
50
72
  validateInputFilePaths,
51
73
  getFormatOpt,
74
+ getConnectionOpt,
52
75
  generate,
53
76
  };
File without changes
File without changes
File without changes
File without changes
File without changes
package/src/index.js CHANGED
@@ -1,6 +1,7 @@
1
- import { dbml2sql, sql2dbml } from './cli';
1
+ import { dbml2sql, sql2dbml, db2dbml } from './cli';
2
2
 
3
3
  export {
4
4
  dbml2sql,
5
5
  sql2dbml,
6
+ db2dbml,
6
7
  };