@dbml/cli 5.0.0 → 5.2.0

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 (302) hide show
  1. package/.babelrc +2 -2
  2. package/{__test__ → __tests__}/cli.test.js +7 -7
  3. package/__tests__/db2dbml/mssql/dbml-error.log +11 -0
  4. package/{__test__ → __tests__}/db2dbml/mssql/expect-out-files/schema.dbml +35 -51
  5. package/{__test__ → __tests__}/db2dbml/mssql/schema.sql +13 -1
  6. package/__tests__/db2dbml/mysql/dbml-error.log +3 -0
  7. package/{__test__ → __tests__}/db2dbml/mysql/expect-out-files/schema.dbml +22 -2
  8. package/{__test__ → __tests__}/db2dbml/mysql/schema.sql +18 -3
  9. package/__tests__/db2dbml/postgres/dbml-error.log +7 -0
  10. package/{__test__ → __tests__}/db2dbml/postgres/expect-out-files/schema.dbml +28 -12
  11. package/{__test__ → __tests__}/db2dbml/postgres/schema.sql +14 -3
  12. package/{__test__ → __tests__}/db2dbml_bin.js +0 -1
  13. package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/out-files/schema.sql +1 -1
  14. package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/out-files/schema.sql +1 -1
  15. package/{__test__/dbml2sql/filename --postgres --out-file → __tests__/dbml2sql/filename --out-file}/out-files/schema.sql +1 -1
  16. package/{__test__/dbml2sql/filename --out-file → __tests__/dbml2sql/filename --postgres --out-file}/out-files/schema.sql +1 -1
  17. package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +1 -1
  18. package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +1 -1
  19. package/{__test__/dbml2sql/filenames --postgres --out-file → __tests__/dbml2sql/filenames --out-file}/out-files/schema.sql +1 -1
  20. package/{__test__/dbml2sql/filenames --out-file → __tests__/dbml2sql/filenames --postgres --out-file}/out-files/schema.sql +1 -1
  21. package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +1 -1
  22. package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +1 -1
  23. package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +1 -1
  24. package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +1 -1
  25. package/__tests__/dbml2sql/syntax-error/dbml-error.log +9 -0
  26. package/{__test__ → __tests__}/dbml2sql_bin.js +0 -1
  27. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/in-files/schema.sql +6 -0
  28. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/options.json +8 -0
  29. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/stdout.txt +4 -0
  30. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/in-files/schema.sql +2 -0
  31. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/options.json +8 -0
  32. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/stdout.txt +4 -0
  33. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/in-files/schema.sql +6 -0
  34. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/options.json +8 -0
  35. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/stdout.txt +4 -0
  36. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/in-files/schema.sql +5 -0
  37. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/options.json +8 -0
  38. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/stdout.txt +4 -0
  39. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/in-files/schema.sql +1 -0
  40. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/options.json +8 -0
  41. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/stdout.txt +4 -0
  42. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/in-files/schema.sql +5 -0
  43. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/options.json +8 -0
  44. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/stdout.txt +4 -0
  45. package/__tests__/sql2dbml/filename --oracle --out-file/expect-out-files/schema.dbml +83 -0
  46. package/__tests__/sql2dbml/filename --oracle --out-file/in-files/schema.sql +147 -0
  47. package/__tests__/sql2dbml/filename --oracle --out-file/options.json +8 -0
  48. package/__tests__/sql2dbml/filename --oracle --out-file/stdout.txt +1 -0
  49. package/__tests__/sql2dbml/syntax-error/dbml-error.log +9 -0
  50. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +9 -0
  51. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +9 -0
  52. package/{__test__ → __tests__}/sql2dbml_bin.js +0 -1
  53. package/bin/db2dbml.js +0 -1
  54. package/bin/dbml2sql.js +0 -1
  55. package/bin/sql2dbml.js +0 -1
  56. package/eslint.config.ts +96 -0
  57. package/jest.config.ts +13 -0
  58. package/lib/cli/index.js +1 -3
  59. package/lib/cli/utils.js +8 -6
  60. package/lib/helpers/logger.js +0 -2
  61. package/package.json +17 -14
  62. package/src/cli/index.js +1 -1
  63. package/src/cli/utils.js +5 -1
  64. package/src/helpers/logger.js +0 -1
  65. package/tsconfig.json +13 -5
  66. package/__test__/db2dbml/mssql/dbml-error.log +0 -337
  67. package/__test__/db2dbml/mysql/dbml-error.log +0 -230
  68. package/__test__/db2dbml/postgres/dbml-error.log +0 -63
  69. package/__test__/dbml2sql/syntax-error/dbml-error.log +0 -345
  70. package/__test__/sql2dbml/syntax-error/dbml-error.log +0 -342
  71. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +0 -342
  72. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +0 -339
  73. package/dbml-error.log +0 -0
  74. /package/{__test__ → __tests__}/db2dbml/mssql/options.json +0 -0
  75. /package/{__test__ → __tests__}/db2dbml/mssql/out-files/schema.dbml +0 -0
  76. /package/{__test__ → __tests__}/db2dbml/mssql/stdout.txt +0 -0
  77. /package/{__test__ → __tests__}/db2dbml/mysql/options.json +0 -0
  78. /package/{__test__ → __tests__}/db2dbml/mysql/out-files/schema.dbml +0 -0
  79. /package/{__test__ → __tests__}/db2dbml/mysql/stdout.txt +0 -0
  80. /package/{__test__ → __tests__}/db2dbml/postgres/options.json +0 -0
  81. /package/{__test__ → __tests__}/db2dbml/postgres/out-files/schema.dbml +0 -0
  82. /package/{__test__ → __tests__}/db2dbml/postgres/stdout.txt +0 -0
  83. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -0
  84. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +0 -0
  85. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/in-files/schema.dbml +0 -0
  86. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/options.json +0 -0
  87. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/stdout.txt +0 -0
  88. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
  89. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/in-files/schema.dbml +0 -0
  90. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/options.json +0 -0
  91. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/stdout.txt +0 -0
  92. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
  93. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/expect-out-files/schema.sql +0 -0
  94. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/in-files/schema.dbml +0 -0
  95. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/options.json +0 -0
  96. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/stdout.txt +0 -0
  97. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  98. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/in-files/schema.dbml +0 -0
  99. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/options.json +0 -0
  100. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/stdout.txt +0 -0
  101. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/dbml-error.log +0 -0
  102. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/expect-out-files/schema.sql +0 -0
  103. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/in-files/schema.dbml +0 -0
  104. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/options.json +0 -0
  105. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/stdout.txt +0 -0
  106. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
  107. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +0 -0
  108. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/in-files/schema.dbml +0 -0
  109. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/options.json +0 -0
  110. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/stdout.txt +0 -0
  111. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  112. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/in-files/schema.dbml +0 -0
  113. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/options.json +0 -0
  114. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/stdout.txt +0 -0
  115. /package/{__test__ → __tests__}/dbml2sql/filename stdout/dbml-error.log +0 -0
  116. /package/{__test__ → __tests__}/dbml2sql/filename stdout/in-files/schema.dbml +0 -0
  117. /package/{__test__ → __tests__}/dbml2sql/filename stdout/options.json +0 -0
  118. /package/{__test__ → __tests__}/dbml2sql/filename stdout/stdout.txt +0 -0
  119. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
  120. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +0 -0
  121. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/business.dbml +0 -0
  122. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/customer.dbml +0 -0
  123. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/inventory.dbml +0 -0
  124. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/options.json +0 -0
  125. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/stdout.txt +0 -0
  126. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  127. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/business.dbml +0 -0
  128. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/customer.dbml +0 -0
  129. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/inventory.dbml +0 -0
  130. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/options.json +0 -0
  131. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/stdout.txt +0 -0
  132. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  133. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/expect-out-files/schema.sql +0 -0
  134. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/business.dbml +0 -0
  135. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/customer.dbml +0 -0
  136. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/inventory.dbml +0 -0
  137. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/options.json +0 -0
  138. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/stdout.txt +0 -0
  139. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  140. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/business.dbml +0 -0
  141. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/customer.dbml +0 -0
  142. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/inventory.dbml +0 -0
  143. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/options.json +0 -0
  144. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/stdout.txt +0 -0
  145. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/dbml-error.log +0 -0
  146. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/expect-out-files/schema.sql +0 -0
  147. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/business.dbml +0 -0
  148. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/customer.dbml +0 -0
  149. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/inventory.dbml +0 -0
  150. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/options.json +0 -0
  151. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/stdout.txt +0 -0
  152. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
  153. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +0 -0
  154. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/business.dbml +0 -0
  155. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/customer.dbml +0 -0
  156. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/inventory.dbml +0 -0
  157. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/options.json +0 -0
  158. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/stdout.txt +0 -0
  159. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  160. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/business.dbml +0 -0
  161. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/customer.dbml +0 -0
  162. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/inventory.dbml +0 -0
  163. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/options.json +0 -0
  164. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/stdout.txt +0 -0
  165. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/dbml-error.log +0 -0
  166. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/business.dbml +0 -0
  167. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/customer.dbml +0 -0
  168. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/inventory.dbml +0 -0
  169. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/options.json +0 -0
  170. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/stdout.txt +0 -0
  171. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
  172. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +0 -0
  173. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +0 -0
  174. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/options.json +0 -0
  175. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/stdout.txt +0 -0
  176. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
  177. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +0 -0
  178. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +0 -0
  179. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/options.json +0 -0
  180. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/stdout.txt +0 -0
  181. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  182. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/expect-out-files/multiple_schema.out.sql +0 -0
  183. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/in-files/multiple_schema.in.dbml +0 -0
  184. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/options.json +0 -0
  185. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/stdout.txt +0 -0
  186. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
  187. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +0 -0
  188. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +0 -0
  189. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/options.json +0 -0
  190. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/stdout.txt +0 -0
  191. /package/{__test__ → __tests__}/dbml2sql/syntax-error/in-files/ecommerce.dbml +0 -0
  192. /package/{__test__ → __tests__}/dbml2sql/syntax-error/options.json +0 -0
  193. /package/{__test__ → __tests__}/dbml2sql/syntax-error/stdout.txt +0 -0
  194. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
  195. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +0 -0
  196. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/in-files/schema.sql +0 -0
  197. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/options.json +0 -0
  198. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +0 -0
  199. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/stdout.txt +0 -0
  200. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
  201. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/expect-out-files/schema.dbml +0 -0
  202. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/in-files/schema.sql +0 -0
  203. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/options.json +0 -0
  204. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +0 -0
  205. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/stdout.txt +0 -0
  206. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  207. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/in-files/schema.sql +0 -0
  208. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/options.json +0 -0
  209. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/stdout.txt +0 -0
  210. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/dbml-error.log +0 -0
  211. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/expect-out-files/schema.dbml +0 -0
  212. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/in-files/schema.sql +0 -0
  213. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/options.json +0 -0
  214. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/out-files/schema.dbml +0 -0
  215. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/stdout.txt +0 -0
  216. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
  217. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/expect-out-files/schema.dbml +0 -0
  218. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/in-files/schema.sql +0 -0
  219. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/options.json +0 -0
  220. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +0 -0
  221. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/stdout.txt +0 -0
  222. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  223. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/in-files/schema.sql +0 -0
  224. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/options.json +0 -0
  225. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/stdout.txt +0 -0
  226. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
  227. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/in-files/schema.sql +0 -0
  228. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/options.json +0 -0
  229. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/stdout.txt +0 -0
  230. /package/{__test__ → __tests__}/sql2dbml/filename stdout/dbml-error.log +0 -0
  231. /package/{__test__ → __tests__}/sql2dbml/filename stdout/in-files/schema.sql +0 -0
  232. /package/{__test__ → __tests__}/sql2dbml/filename stdout/options.json +0 -0
  233. /package/{__test__ → __tests__}/sql2dbml/filename stdout/stdout.txt +0 -0
  234. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
  235. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/expect-out-files/schema.dbml +0 -0
  236. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/business.sql +0 -0
  237. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/customer.sql +0 -0
  238. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/inventory.sql +0 -0
  239. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/options.json +0 -0
  240. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +0 -0
  241. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/stdout.txt +0 -0
  242. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  243. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/business.sql +0 -0
  244. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/customer.sql +0 -0
  245. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/inventory.sql +0 -0
  246. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/options.json +0 -0
  247. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/stdout.txt +0 -0
  248. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/dbml-error.log +0 -0
  249. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/expect-out-files/schema.dbml +0 -0
  250. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/business.sql +0 -0
  251. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/customer.sql +0 -0
  252. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/inventory.sql +0 -0
  253. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/options.json +0 -0
  254. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/out-files/schema.dbml +0 -0
  255. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/stdout.txt +0 -0
  256. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
  257. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/expect-out-files/schema.dbml +0 -0
  258. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/business.sql +0 -0
  259. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/customer.sql +0 -0
  260. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/inventory.sql +0 -0
  261. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/options.json +0 -0
  262. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +0 -0
  263. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/stdout.txt +0 -0
  264. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  265. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/business.sql +0 -0
  266. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/customer.sql +0 -0
  267. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/inventory.sql +0 -0
  268. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/options.json +0 -0
  269. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/stdout.txt +0 -0
  270. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/dbml-error.log +0 -0
  271. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/business.sql +0 -0
  272. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/customer.sql +0 -0
  273. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/inventory.sql +0 -0
  274. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/options.json +0 -0
  275. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/stdout.txt +0 -0
  276. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
  277. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +0 -0
  278. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +0 -0
  279. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/options.json +0 -0
  280. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +0 -0
  281. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/stdout.txt +0 -0
  282. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
  283. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +0 -0
  284. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +0 -0
  285. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/options.json +0 -0
  286. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +0 -0
  287. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/stdout.txt +0 -0
  288. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
  289. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +0 -0
  290. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +0 -0
  291. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/options.json +0 -0
  292. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +0 -0
  293. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/stdout.txt +0 -0
  294. /package/{__test__ → __tests__}/sql2dbml/syntax-error/in-files/business.sql +0 -0
  295. /package/{__test__ → __tests__}/sql2dbml/syntax-error/options.json +0 -0
  296. /package/{__test__ → __tests__}/sql2dbml/syntax-error/stdout.txt +0 -0
  297. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/in-files/schema.sql +0 -0
  298. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/options.json +0 -0
  299. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +0 -0
  300. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/in-files/schema.sql +0 -0
  301. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/options.json +0 -0
  302. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +0 -0
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/schema.sql",
4
+ "--oracle",
5
+ "-o",
6
+ "./out-files/schema.dbml"
7
+ ]
8
+ }
@@ -0,0 +1,4 @@
1
+ ERROR:
2
+ You have a syntax error at "schema.sql" line 5 column 19. Column "name" not found in table "Users"
3
+
4
+ A complete log can be found in:
@@ -0,0 +1,5 @@
1
+ CREATE TABLE Users (
2
+ id TEXT
3
+ );
4
+
5
+ COMMENT ON COLUMN Posts.title IS 'title';
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/schema.sql",
4
+ "--oracle",
5
+ "-o",
6
+ "./out-files/schema.dbml"
7
+ ]
8
+ }
@@ -0,0 +1,4 @@
1
+ ERROR:
2
+ You have a syntax error at "schema.sql" line 5 column 19. Table "Posts" not found
3
+
4
+ A complete log can be found in:
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/schema.sql",
4
+ "--oracle",
5
+ "-o",
6
+ "./out-files/schema.dbml"
7
+ ]
8
+ }
@@ -0,0 +1,4 @@
1
+ ERROR:
2
+ You have a syntax error at "schema.sql" line 1 column 28. Table Users not found
3
+
4
+ A complete log can be found in:
@@ -0,0 +1,5 @@
1
+ CREATE TABLE Users (
2
+ id TEXT
3
+ );
4
+
5
+ COMMENT ON TABLE Posts IS 'id';
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/schema.sql",
4
+ "--oracle",
5
+ "-o",
6
+ "./out-files/schema.dbml"
7
+ ]
8
+ }
@@ -0,0 +1,4 @@
1
+ ERROR:
2
+ You have a syntax error at "schema.sql" line 5 column 18. Table "Posts" not found
3
+
4
+ A complete log can be found in:
@@ -0,0 +1,83 @@
1
+ Table "departments" {
2
+ "dept_id" NUMBER(10) [pk]
3
+ "dept_name" VARCHAR2(100)
4
+ "location_id" NUMBER(10)
5
+ "manager_id" NUMBER(10)
6
+ }
7
+
8
+ Table "locations" {
9
+ "location_id" NUMBER(10) [pk]
10
+ "city" VARCHAR2(100)
11
+ "country_code" CHAR(2)
12
+ }
13
+
14
+ Table "countries" {
15
+ "country_code" CHAR(2) [pk]
16
+ "country_name" VARCHAR2(100)
17
+ }
18
+
19
+ Table "employees" {
20
+ "emp_id" NUMBER(10) [pk]
21
+ "emp_name" VARCHAR2(100)
22
+ "department_id" NUMBER(10)
23
+ "manager_id" NUMBER(10)
24
+ "hire_date" DATE
25
+ "location_id" NUMBER(10)
26
+ }
27
+
28
+ Table "projects" {
29
+ "project_id" NUMBER(10) [pk]
30
+ "project_name" VARCHAR2(200)
31
+ "dept_id" NUMBER(10)
32
+ "lead_emp_id" NUMBER(10)
33
+ "backup_emp_id" NUMBER(10)
34
+ }
35
+
36
+ Table "assignments" {
37
+ "assignment_id" NUMBER(10) [pk]
38
+ "emp_id" NUMBER(10)
39
+ "project_id" NUMBER(10)
40
+ "start_date" DATE
41
+ }
42
+
43
+ Table "project_tasks" {
44
+ "project_id" NUMBER(10)
45
+ "task_id" NUMBER(10)
46
+ "task_name" VARCHAR2(200)
47
+ "assigned_emp_id" NUMBER(10)
48
+
49
+ Indexes {
50
+ (project_id, task_id) [pk]
51
+ }
52
+ }
53
+
54
+ Table "task_hours" {
55
+ "hour_id" NUMBER(10) [pk]
56
+ "project_id" NUMBER(10)
57
+ "task_id" NUMBER(10)
58
+ "hours_worked" NUMBER(5,2)
59
+ }
60
+
61
+ Ref "fk_emp_dept":"departments"."dept_id" < "employees"."department_id"
62
+
63
+ Ref "fk_dept_location":"locations"."location_id" < "departments"."location_id"
64
+
65
+ Ref "fk_loc_country":"countries"."country_code" < "locations"."country_code"
66
+
67
+ Ref "fk_emp_manager":"employees"."emp_id" < "employees"."manager_id"
68
+
69
+ Ref "fk_dept_manager":"employees"."emp_id" < "departments"."manager_id"
70
+
71
+ Ref:"departments"."dept_id" < "projects"."dept_id"
72
+
73
+ Ref:"employees"."emp_id" < "assignments"."emp_id"
74
+
75
+ Ref:"projects"."project_id" < "assignments"."project_id"
76
+
77
+ Ref "fk_task_hours_project_task":"project_tasks".("project_id", "task_id") < "task_hours".("project_id", "task_id")
78
+
79
+ Ref "fk_proj_lead_emp":"employees"."emp_id" < "projects"."lead_emp_id"
80
+
81
+ Ref "fk_proj_backup_emp":"employees"."emp_id" < "projects"."backup_emp_id"
82
+
83
+ Ref "fk_task_assigned_emp":"employees"."emp_id" < "project_tasks"."assigned_emp_id"
@@ -0,0 +1,147 @@
1
+ -- Oracle SQL ALTER TABLE ADD FOREIGN KEY Constraint Test Cases
2
+ -- Test setup: Create base tables with primary keys
3
+ CREATE TABLE departments (
4
+ dept_id NUMBER(10) PRIMARY KEY,
5
+ dept_name VARCHAR2(100),
6
+ location_id NUMBER(10),
7
+ manager_id NUMBER(10)
8
+ );
9
+
10
+ CREATE TABLE locations (
11
+ location_id NUMBER(10) PRIMARY KEY,
12
+ city VARCHAR2(100),
13
+ country_code CHAR(2)
14
+ );
15
+
16
+ CREATE TABLE countries (
17
+ country_code CHAR(2) PRIMARY KEY,
18
+ country_name VARCHAR2(100)
19
+ );
20
+
21
+ CREATE TABLE employees (
22
+ emp_id NUMBER(10) PRIMARY KEY,
23
+ emp_name VARCHAR2(100),
24
+ department_id NUMBER(10),
25
+ manager_id NUMBER(10),
26
+ hire_date DATE,
27
+ location_id NUMBER(10)
28
+ );
29
+
30
+ CREATE TABLE projects (
31
+ project_id NUMBER(10) PRIMARY KEY,
32
+ project_name VARCHAR2(200),
33
+ dept_id NUMBER(10),
34
+ lead_emp_id NUMBER(10),
35
+ backup_emp_id NUMBER(10)
36
+ );
37
+
38
+ CREATE TABLE assignments (
39
+ assignment_id NUMBER(10) PRIMARY KEY,
40
+ emp_id NUMBER(10),
41
+ project_id NUMBER(10),
42
+ start_date DATE
43
+ );
44
+
45
+ -- Table with composite primary key
46
+ CREATE TABLE project_tasks (
47
+ project_id NUMBER(10),
48
+ task_id NUMBER(10),
49
+ task_name VARCHAR2(200),
50
+ assigned_emp_id NUMBER(10),
51
+ PRIMARY KEY (project_id, task_id)
52
+ );
53
+
54
+ CREATE TABLE task_hours (
55
+ hour_id NUMBER(10) PRIMARY KEY,
56
+ project_id NUMBER(10),
57
+ task_id NUMBER(10),
58
+ hours_worked NUMBER(5,2)
59
+ );
60
+
61
+ -- ============================================
62
+ -- NAMED FOREIGN KEY CONSTRAINTS - BASIC
63
+ -- ============================================
64
+
65
+ -- Simple single-column FK with constraint name
66
+ ALTER TABLE employees
67
+ ADD CONSTRAINT fk_emp_dept
68
+ FOREIGN KEY (department_id)
69
+ REFERENCES departments(dept_id);
70
+
71
+ -- Single-column FK referencing different table
72
+ ALTER TABLE departments
73
+ ADD CONSTRAINT fk_dept_location
74
+ FOREIGN KEY (location_id)
75
+ REFERENCES locations(location_id);
76
+
77
+ -- FK with explicit column name in referenced table
78
+ ALTER TABLE locations
79
+ ADD CONSTRAINT fk_loc_country
80
+ FOREIGN KEY (country_code)
81
+ REFERENCES countries(country_code);
82
+
83
+ -- Self-referencing FK (hierarchical)
84
+ ALTER TABLE employees
85
+ ADD CONSTRAINT fk_emp_manager
86
+ FOREIGN KEY (manager_id)
87
+ REFERENCES employees(emp_id);
88
+
89
+ -- Another self-referencing FK on different table
90
+ ALTER TABLE departments
91
+ ADD CONSTRAINT fk_dept_manager
92
+ FOREIGN KEY (manager_id)
93
+ REFERENCES employees(emp_id);
94
+
95
+ -- ============================================
96
+ -- UNNAMED FOREIGN KEY CONSTRAINTS
97
+ -- ============================================
98
+
99
+ -- FK without explicit constraint name (Oracle auto-generates)
100
+ ALTER TABLE projects
101
+ ADD FOREIGN KEY (dept_id)
102
+ REFERENCES departments(dept_id);
103
+
104
+ -- Another unnamed FK
105
+ ALTER TABLE assignments
106
+ ADD FOREIGN KEY (emp_id)
107
+ REFERENCES employees(emp_id);
108
+
109
+ -- Unnamed FK with different columns
110
+ ALTER TABLE assignments
111
+ ADD FOREIGN KEY (project_id)
112
+ REFERENCES projects(project_id);
113
+
114
+ -- ============================================
115
+ -- COMPOSITE FOREIGN KEYS (Multiple Columns)
116
+ -- ============================================
117
+
118
+ -- Two-column composite FK
119
+ ALTER TABLE task_hours
120
+ ADD CONSTRAINT fk_task_hours_project_task
121
+ FOREIGN KEY (project_id, task_id)
122
+ REFERENCES project_tasks(project_id, task_id);
123
+
124
+ -- ============================================
125
+ -- FOREIGN KEYS WITH ON DELETE ACTIONS
126
+ -- ============================================
127
+
128
+ -- ON DELETE CASCADE - delete child records when parent is deleted
129
+ ALTER TABLE projects
130
+ ADD CONSTRAINT fk_proj_lead_emp
131
+ FOREIGN KEY (lead_emp_id)
132
+ REFERENCES employees(emp_id)
133
+ ON DELETE CASCADE;
134
+
135
+ -- ON DELETE SET NULL - set FK to NULL when parent is deleted
136
+ ALTER TABLE projects
137
+ ADD CONSTRAINT fk_proj_backup_emp
138
+ FOREIGN KEY (backup_emp_id)
139
+ REFERENCES employees(emp_id)
140
+ ON DELETE SET NULL;
141
+
142
+ -- ON DELETE CASCADE with named constraint
143
+ ALTER TABLE project_tasks
144
+ ADD CONSTRAINT fk_task_assigned_emp
145
+ FOREIGN KEY (assigned_emp_id)
146
+ REFERENCES employees(emp_id)
147
+ ON DELETE CASCADE;
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/schema.sql",
4
+ "--oracle",
5
+ "-o",
6
+ "./out-files/schema.dbml"
7
+ ]
8
+ }
@@ -0,0 +1 @@
1
+ ✔ Generated DBML file from SQL file (Oracle): schema.dbml
@@ -0,0 +1,9 @@
1
+ 2025-11-17T09:12:23.657Z
2
+ undefined
3
+
4
+ 2025-11-17T09:52:17.717Z
5
+ undefined
6
+
7
+ 2025-11-17T14:38:11.691Z
8
+ undefined
9
+
@@ -0,0 +1,9 @@
1
+ 2025-11-17T09:12:24.842Z
2
+ undefined
3
+
4
+ 2025-11-17T09:52:18.833Z
5
+ undefined
6
+
7
+ 2025-11-17T14:38:12.931Z
8
+ undefined
9
+
@@ -0,0 +1,9 @@
1
+ 2025-11-17T09:12:25.985Z
2
+ undefined
3
+
4
+ 2025-11-17T09:52:19.827Z
5
+ undefined
6
+
7
+ 2025-11-17T14:38:13.982Z
8
+ undefined
9
+
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line
2
1
  require = require('esm')(module);
3
2
  const { sql2dbml } = require('../src');
4
3
 
package/bin/db2dbml.js CHANGED
@@ -1,4 +1,3 @@
1
1
  #!/usr/bin/env node
2
- /* eslint-disable */
3
2
 
4
3
  require('../lib').db2dbml(process.argv);
package/bin/dbml2sql.js CHANGED
@@ -1,4 +1,3 @@
1
1
  #!/usr/bin/env node
2
- /* eslint-disable */
3
2
 
4
3
  require('../lib').dbml2sql(process.argv);
package/bin/sql2dbml.js CHANGED
@@ -1,4 +1,3 @@
1
1
  #!/usr/bin/env node
2
- /* eslint-disable */
3
2
 
4
3
  require('../lib').sql2dbml(process.argv);
@@ -0,0 +1,96 @@
1
+ import globals from 'globals';
2
+ import eslint from '@eslint/js';
3
+ import { defineConfig } from 'eslint/config';
4
+ import stylistic from '@stylistic/eslint-plugin';
5
+ import tseslint from 'typescript-eslint';
6
+ import tsparser from '@typescript-eslint/parser';
7
+ import jest from 'eslint-plugin-jest';
8
+
9
+ export default defineConfig(
10
+ eslint.configs.recommended,
11
+ tseslint.configs.recommended,
12
+ stylistic.configs.customize({
13
+ indent: 2,
14
+ semi: true,
15
+ arrowParens: true,
16
+ braceStyle: '1tbs',
17
+ }),
18
+ [
19
+ {
20
+ ignores: [
21
+ 'node_modules/*',
22
+ 'lib/*',
23
+ 'bin/*',
24
+ 'jestHelpers.js',
25
+ 'eslint.config.ts',
26
+ 'jest.config.ts',
27
+ ],
28
+ },
29
+ {
30
+ files: ['**/*.ts', '**/*.js'],
31
+ languageOptions: {
32
+ globals: {
33
+ ...globals.node,
34
+ ...globals.es2022,
35
+ },
36
+ parser: tsparser,
37
+ parserOptions: {
38
+ sourceType: 'module',
39
+ ecmaVersion: 2018,
40
+ project: './tsconfig.json',
41
+ },
42
+ },
43
+ plugins: {
44
+ '@stylistic': stylistic,
45
+ },
46
+ rules: {
47
+ '@typescript-eslint/no-explicit-any': 'off',
48
+ 'no-use-before-define': 'off',
49
+ 'no-continue': 'off',
50
+ '@stylistic/space-before-function-paren': ['error', 'always'],
51
+ '@typescript-eslint/no-unused-vars': [
52
+ 'warn',
53
+ {
54
+ argsIgnorePattern: '^_',
55
+ varsIgnorePattern: '^_',
56
+ caughtErrorsIgnorePattern: '^_',
57
+ },
58
+ ],
59
+ 'consistent-return': 'off',
60
+ '@typescript-eslint/consistent-return': [
61
+ 'error',
62
+ ],
63
+ '@stylistic/quotes': ['error', 'single', { 'avoidEscape': true }],
64
+ '@stylistic/max-statements-per-line': 'off',
65
+ '@stylistic/operator-linebreak': ['error', 'before', { overrides: { '=': 'after' } }],
66
+ },
67
+ settings: {
68
+ 'import/resolver': {
69
+ typescript: {
70
+ alwaysTryTypes: true,
71
+ project: 'packages/*/{ts,js}config.json',
72
+ },
73
+ },
74
+ },
75
+ },
76
+ {
77
+ files: ['**/*.test.js', '**/*.spec.js'],
78
+ ...jest.configs['flat/recommended'],
79
+ languageOptions: {
80
+ globals: {
81
+ ...jest.environments.globals.globals,
82
+ },
83
+ },
84
+ rules: {
85
+ 'no-undef': 'warn',
86
+ },
87
+ },
88
+ {
89
+ files: ['bin/**/*', '**/*.test.js', '**/*.spec.js', '__tests__/**/*'],
90
+ rules: {
91
+ '@typescript-eslint/no-require-imports': 'warn',
92
+ 'no-global-assign': 'warn',
93
+ },
94
+ },
95
+ ],
96
+ );
package/jest.config.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { type Config } from 'jest';
2
+
3
+ const config: Config = {
4
+ testMatch: ["**/?(*.)+(spec|test).?([mc])[jt]s?(x)"],
5
+ setupFiles: [
6
+ "./jestHelpers.js",
7
+ ],
8
+ transform: {
9
+ "^.+\\.js$": "babel-jest",
10
+ },
11
+ };
12
+
13
+ export default config;
package/lib/cli/index.js CHANGED
@@ -12,8 +12,6 @@ var _export = _interopRequireDefault(require("./export"));
12
12
  var _connector = _interopRequireDefault(require("./connector"));
13
13
  var _package = _interopRequireDefault(require("../../package.json"));
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- /* eslint-disable max-len */
16
-
17
15
  function showHelp(args) {
18
16
  if (args.length < 3) _commander.default.help();
19
17
  }
@@ -28,7 +26,7 @@ function dbml2sql(args) {
28
26
  }
29
27
  function sql2dbml(args) {
30
28
  _commander.default.version(_package.default.version);
31
- _commander.default.usage('[options] <files...>').option('--mysql').option('--mysql-legacy').option('--postgres').option('--postgres-legacy').option('--mssql').option('--mssql-legacy').option('--snowflake').option('-o, --out-file <pathspec>', 'compile all input files into a single files');
29
+ _commander.default.usage('[options] <files...>').option('--mysql').option('--mysql-legacy').option('--postgres').option('--postgres-legacy').option('--mssql').option('--mssql-legacy').option('--snowflake').option('--oracle').option('-o, --out-file <pathspec>', 'compile all input files into a single files');
32
30
  // .option('-d, --out-dir <pathspec>', 'compile an input directory of sql files into an output directory');
33
31
 
34
32
  showHelp(args);
package/lib/cli/utils.js CHANGED
@@ -67,12 +67,14 @@ function generate(inputPaths, transform, outputPlugin) {
67
67
  const content = transform(source);
68
68
  outputPlugin.write(content);
69
69
  } catch (e) {
70
- if (e instanceof _core.CompilerError) throw e.map(diag => ({
71
- ...diag,
72
- message: diag.message,
73
- filepath: _path2.default.basename(_path),
74
- stack: diag.stack
75
- }));
70
+ if (e instanceof _core.CompilerError) {
71
+ throw e.map(diag => ({
72
+ ...diag,
73
+ message: diag.message,
74
+ filepath: _path2.default.basename(_path),
75
+ stack: diag.stack
76
+ }));
77
+ }
76
78
  throw e;
77
79
  }
78
80
  });
@@ -8,8 +8,6 @@ var _winston = require("winston");
8
8
  var _chalk = _interopRequireDefault(require("chalk"));
9
9
  var _path = _interopRequireDefault(require("path"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- /* eslint-disable import/no-import-module-exports */
12
-
13
11
  const {
14
12
  combine,
15
13
  timestamp,
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/package",
2
3
  "name": "@dbml/cli",
3
- "version": "5.0.0",
4
+ "version": "5.2.0",
4
5
  "description": "",
5
6
  "main": "lib/index.js",
6
7
  "license": "Apache-2.0",
7
8
  "scripts": {
8
9
  "test": "jest",
9
10
  "build": "babel src --out-dir lib --copy-files",
10
- "prepublish": "npm run build"
11
+ "prepublish": "npm run build",
12
+ "lint": "eslint .",
13
+ "lint:fix": "eslint --fix ."
11
14
  },
12
15
  "publishConfig": {
13
16
  "access": "public"
@@ -26,8 +29,8 @@
26
29
  ],
27
30
  "dependencies": {
28
31
  "@babel/cli": "^7.21.0",
29
- "@dbml/connector": "^5.0.0",
30
- "@dbml/core": "^5.0.0",
32
+ "@dbml/connector": "^5.2.0",
33
+ "@dbml/core": "^5.2.0",
31
34
  "bluebird": "^3.5.5",
32
35
  "chalk": "^2.4.2",
33
36
  "commander": "^2.20.0",
@@ -44,18 +47,18 @@
44
47
  "@babel/plugin-transform-runtime": "^7.21.4",
45
48
  "@babel/preset-env": "^7.21.4",
46
49
  "@babel/runtime": "^7.21.0",
50
+ "@stylistic/eslint-plugin": "^5.5.0",
51
+ "@typescript-eslint/eslint-plugin": "^8.46.3",
52
+ "@typescript-eslint/parser": "^8.46.3",
47
53
  "babel-jest": "^29.5.0",
48
- "jest": "^29.5.0"
54
+ "eslint": "^9.39.1",
55
+ "eslint-config-airbnb-base": "^15.0.0",
56
+ "eslint-plugin-jest": "^29.0.1",
57
+ "jest": "^29.5.0",
58
+ "typescript": "^5.9.3",
59
+ "typescript-eslint": "^8.46.3"
49
60
  },
50
- "jest": {
51
- "setupFiles": [
52
- "./jestHelpers.js"
53
- ],
54
- "transform": {
55
- "^.+\\.js$": "babel-jest"
56
- }
57
- },
58
- "gitHead": "a2d029e9c3c78ab0956312495165ec3115b5bc00",
61
+ "gitHead": "20d556a6e6baad8a989c730e2afd3b65dedcea89",
59
62
  "engines": {
60
63
  "node": ">=18"
61
64
  }
package/src/cli/index.js CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  import program from 'commander';
3
2
  import importHandler from './import';
4
3
  import exportHandler from './export';
@@ -39,6 +38,7 @@ function sql2dbml (args) {
39
38
  .option('--mssql')
40
39
  .option('--mssql-legacy')
41
40
  .option('--snowflake')
41
+ .option('--oracle')
42
42
  .option('-o, --out-file <pathspec>', 'compile all input files into a single files');
43
43
  // .option('-d, --out-dir <pathspec>', 'compile an input directory of sql files into an output directory');
44
44
 
package/src/cli/utils.js CHANGED
@@ -68,7 +68,11 @@ function generate (inputPaths, transform, outputPlugin) {
68
68
  const content = transform(source);
69
69
  outputPlugin.write(content);
70
70
  } catch (e) {
71
- if (e instanceof CompilerError) throw e.map((diag) => ({ ...diag, message: diag.message, filepath: path.basename(_path), stack: diag.stack }));
71
+ if (e instanceof CompilerError) {
72
+ throw e.map((diag) => ({
73
+ ...diag, message: diag.message, filepath: path.basename(_path), stack: diag.stack,
74
+ }));
75
+ }
72
76
  throw e;
73
77
  }
74
78
  });
@@ -1,4 +1,3 @@
1
- /* eslint-disable import/no-import-module-exports */
2
1
  import { createLogger, format, transports } from 'winston';
3
2
  import chalk from 'chalk';
4
3
  import path from 'path';
package/tsconfig.json CHANGED
@@ -1,10 +1,18 @@
1
1
  {
2
2
  "extends": "../../tsconfig.json",
3
3
  "compilerOptions": {
4
- "rootDirs": ["./src", "./"], /* Allow multiple folders to be treated as one when resolving modules. */
5
- "baseUrl": "./src", /* Specify the base directory to resolve non-relative module names. */
6
- "outDir": "./lib" /* Specify an output folder for all emitted files. */
4
+ "rootDirs": [
5
+ "./src",
6
+ "./"
7
+ ], /* Allow multiple folders to be treated as one when resolving modules. */
8
+ "baseUrl": "./src", /* Specify the base directory to resolve non-relative module names. */
9
+ "outDir": "./lib" /* Specify an output folder for all emitted files. */
7
10
  },
8
- "files": ["package.json"],
9
- "include": ["src/**/*", "__test__/**/*"]
11
+ "files": [
12
+ "package.json"
13
+ ],
14
+ "include": [
15
+ "src/**/*",
16
+ "__tests__/**/*"
17
+ ]
10
18
  }