kysely-kodegen 0.18.6

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 (281) hide show
  1. package/.cspell.json +88 -0
  2. package/.github/FUNDING.yml +1 -0
  3. package/.kysely-codegenrc.ts +30 -0
  4. package/.ncurc.json +3 -0
  5. package/.prettierignore +1 -0
  6. package/LICENSE +18 -0
  7. package/README.md +373 -0
  8. package/assets/kysely-codegen-logo.svg +28 -0
  9. package/dist/cli/bin.d.ts +2 -0
  10. package/dist/cli/bin.js +6 -0
  11. package/dist/cli/bin.js.map +1 -0
  12. package/dist/cli/cli.d.ts +17 -0
  13. package/dist/cli/cli.js +238 -0
  14. package/dist/cli/cli.js.map +1 -0
  15. package/dist/cli/config-error.d.ts +6 -0
  16. package/dist/cli/config-error.js +11 -0
  17. package/dist/cli/config-error.js.map +1 -0
  18. package/dist/cli/config.d.ts +167 -0
  19. package/dist/cli/config.js +85 -0
  20. package/dist/cli/config.js.map +1 -0
  21. package/dist/cli/constants.d.ts +5 -0
  22. package/dist/cli/constants.js +23 -0
  23. package/dist/cli/constants.js.map +1 -0
  24. package/dist/cli/flags.d.ts +76 -0
  25. package/dist/cli/flags.js +142 -0
  26. package/dist/cli/flags.js.map +1 -0
  27. package/dist/cli/index.d.ts +4 -0
  28. package/dist/cli/index.js +21 -0
  29. package/dist/cli/index.js.map +1 -0
  30. package/dist/db.d.ts +1 -0
  31. package/dist/db.js +3 -0
  32. package/dist/db.js.map +1 -0
  33. package/dist/generator/adapter.d.ts +16 -0
  34. package/dist/generator/adapter.js +18 -0
  35. package/dist/generator/adapter.js.map +1 -0
  36. package/dist/generator/ast/alias-declaration-node.d.ts +9 -0
  37. package/dist/generator/ast/alias-declaration-node.js +13 -0
  38. package/dist/generator/ast/alias-declaration-node.js.map +1 -0
  39. package/dist/generator/ast/array-expression-node.d.ts +6 -0
  40. package/dist/generator/ast/array-expression-node.js +11 -0
  41. package/dist/generator/ast/array-expression-node.js.map +1 -0
  42. package/dist/generator/ast/column-type-node.d.ts +5 -0
  43. package/dist/generator/ast/column-type-node.js +11 -0
  44. package/dist/generator/ast/column-type-node.js.map +1 -0
  45. package/dist/generator/ast/definition-node.d.ts +3 -0
  46. package/dist/generator/ast/definition-node.js +3 -0
  47. package/dist/generator/ast/definition-node.js.map +1 -0
  48. package/dist/generator/ast/export-statement-node.d.ts +8 -0
  49. package/dist/generator/ast/export-statement-node.js +11 -0
  50. package/dist/generator/ast/export-statement-node.js.map +1 -0
  51. package/dist/generator/ast/expression-node.d.ts +11 -0
  52. package/dist/generator/ast/expression-node.js +3 -0
  53. package/dist/generator/ast/expression-node.js.map +1 -0
  54. package/dist/generator/ast/extends-clause-node.d.ts +9 -0
  55. package/dist/generator/ast/extends-clause-node.js +14 -0
  56. package/dist/generator/ast/extends-clause-node.js.map +1 -0
  57. package/dist/generator/ast/generic-expression-node.d.ts +7 -0
  58. package/dist/generator/ast/generic-expression-node.js +12 -0
  59. package/dist/generator/ast/generic-expression-node.js.map +1 -0
  60. package/dist/generator/ast/identifier-node.d.ts +11 -0
  61. package/dist/generator/ast/identifier-node.js +18 -0
  62. package/dist/generator/ast/identifier-node.js.map +1 -0
  63. package/dist/generator/ast/import-clause-node.d.ts +6 -0
  64. package/dist/generator/ast/import-clause-node.js +12 -0
  65. package/dist/generator/ast/import-clause-node.js.map +1 -0
  66. package/dist/generator/ast/import-statement-node.d.ts +7 -0
  67. package/dist/generator/ast/import-statement-node.js +12 -0
  68. package/dist/generator/ast/import-statement-node.js.map +1 -0
  69. package/dist/generator/ast/infer-clause-node.d.ts +5 -0
  70. package/dist/generator/ast/infer-clause-node.js +11 -0
  71. package/dist/generator/ast/infer-clause-node.js.map +1 -0
  72. package/dist/generator/ast/interface-declaration-node.d.ts +8 -0
  73. package/dist/generator/ast/interface-declaration-node.js +12 -0
  74. package/dist/generator/ast/interface-declaration-node.js.map +1 -0
  75. package/dist/generator/ast/json-column-type-node.d.ts +5 -0
  76. package/dist/generator/ast/json-column-type-node.js +11 -0
  77. package/dist/generator/ast/json-column-type-node.js.map +1 -0
  78. package/dist/generator/ast/literal-node.d.ts +7 -0
  79. package/dist/generator/ast/literal-node.js +11 -0
  80. package/dist/generator/ast/literal-node.js.map +1 -0
  81. package/dist/generator/ast/mapped-type-node.d.ts +6 -0
  82. package/dist/generator/ast/mapped-type-node.js +11 -0
  83. package/dist/generator/ast/mapped-type-node.js.map +1 -0
  84. package/dist/generator/ast/module-reference-node.d.ts +5 -0
  85. package/dist/generator/ast/module-reference-node.js +11 -0
  86. package/dist/generator/ast/module-reference-node.js.map +1 -0
  87. package/dist/generator/ast/object-expression-node.d.ts +6 -0
  88. package/dist/generator/ast/object-expression-node.js +11 -0
  89. package/dist/generator/ast/object-expression-node.js.map +1 -0
  90. package/dist/generator/ast/property-node.d.ts +8 -0
  91. package/dist/generator/ast/property-node.js +13 -0
  92. package/dist/generator/ast/property-node.js.map +1 -0
  93. package/dist/generator/ast/raw-expression-node.d.ts +5 -0
  94. package/dist/generator/ast/raw-expression-node.js +11 -0
  95. package/dist/generator/ast/raw-expression-node.js.map +1 -0
  96. package/dist/generator/ast/runtime-enum-declaration-node.d.ts +13 -0
  97. package/dist/generator/ast/runtime-enum-declaration-node.js +28 -0
  98. package/dist/generator/ast/runtime-enum-declaration-node.js.map +1 -0
  99. package/dist/generator/ast/statement-node.d.ts +3 -0
  100. package/dist/generator/ast/statement-node.js +3 -0
  101. package/dist/generator/ast/statement-node.js.map +1 -0
  102. package/dist/generator/ast/template-node.d.ts +7 -0
  103. package/dist/generator/ast/template-node.js +12 -0
  104. package/dist/generator/ast/template-node.js.map +1 -0
  105. package/dist/generator/ast/union-expression-node.d.ts +6 -0
  106. package/dist/generator/ast/union-expression-node.js +11 -0
  107. package/dist/generator/ast/union-expression-node.js.map +1 -0
  108. package/dist/generator/connection-string-parser.d.ts +24 -0
  109. package/dist/generator/connection-string-parser.js +94 -0
  110. package/dist/generator/connection-string-parser.js.map +1 -0
  111. package/dist/generator/constants.d.ts +1 -0
  112. package/dist/generator/constants.js +6 -0
  113. package/dist/generator/constants.js.map +1 -0
  114. package/dist/generator/dialect.d.ts +11 -0
  115. package/dist/generator/dialect.js +38 -0
  116. package/dist/generator/dialect.js.map +1 -0
  117. package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-adapter.d.ts +3 -0
  118. package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-adapter.js +8 -0
  119. package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-adapter.js.map +1 -0
  120. package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.d.ts +6 -0
  121. package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js +13 -0
  122. package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js.map +1 -0
  123. package/dist/generator/dialects/libsql/libsql-adapter.d.ts +3 -0
  124. package/dist/generator/dialects/libsql/libsql-adapter.js +8 -0
  125. package/dist/generator/dialects/libsql/libsql-adapter.js.map +1 -0
  126. package/dist/generator/dialects/libsql/libsql-dialect.d.ts +6 -0
  127. package/dist/generator/dialects/libsql/libsql-dialect.js +13 -0
  128. package/dist/generator/dialects/libsql/libsql-dialect.js.map +1 -0
  129. package/dist/generator/dialects/mssql/mssql-adapter.d.ts +36 -0
  130. package/dist/generator/dialects/mssql/mssql-adapter.js +45 -0
  131. package/dist/generator/dialects/mssql/mssql-adapter.js.map +1 -0
  132. package/dist/generator/dialects/mssql/mssql-dialect.d.ts +7 -0
  133. package/dist/generator/dialects/mssql/mssql-dialect.js +69 -0
  134. package/dist/generator/dialects/mssql/mssql-dialect.js.map +1 -0
  135. package/dist/generator/dialects/mysql/mysql-adapter.d.ts +58 -0
  136. package/dist/generator/dialects/mysql/mysql-adapter.js +80 -0
  137. package/dist/generator/dialects/mysql/mysql-adapter.js.map +1 -0
  138. package/dist/generator/dialects/mysql/mysql-dialect.d.ts +6 -0
  139. package/dist/generator/dialects/mysql/mysql-dialect.js +13 -0
  140. package/dist/generator/dialects/mysql/mysql-dialect.js.map +1 -0
  141. package/dist/generator/dialects/postgres/postgres-adapter.d.ts +72 -0
  142. package/dist/generator/dialects/postgres/postgres-adapter.js +137 -0
  143. package/dist/generator/dialects/postgres/postgres-adapter.js.map +1 -0
  144. package/dist/generator/dialects/postgres/postgres-dialect.d.ts +16 -0
  145. package/dist/generator/dialects/postgres/postgres-dialect.js +22 -0
  146. package/dist/generator/dialects/postgres/postgres-dialect.js.map +1 -0
  147. package/dist/generator/dialects/sqlite/sqlite-adapter.d.ts +14 -0
  148. package/dist/generator/dialects/sqlite/sqlite-adapter.js +22 -0
  149. package/dist/generator/dialects/sqlite/sqlite-adapter.js.map +1 -0
  150. package/dist/generator/dialects/sqlite/sqlite-dialect.d.ts +6 -0
  151. package/dist/generator/dialects/sqlite/sqlite-dialect.js +13 -0
  152. package/dist/generator/dialects/sqlite/sqlite-dialect.js.map +1 -0
  153. package/dist/generator/dialects/worker-bun-sqlite/worker-bun-sqlite-dialect.d.ts +6 -0
  154. package/dist/generator/dialects/worker-bun-sqlite/worker-bun-sqlite-dialect.js +13 -0
  155. package/dist/generator/dialects/worker-bun-sqlite/worker-bun-sqlite-dialect.js.map +1 -0
  156. package/dist/generator/generator/diff-checker.d.ts +4 -0
  157. package/dist/generator/generator/diff-checker.js +27 -0
  158. package/dist/generator/generator/diff-checker.js.map +1 -0
  159. package/dist/generator/generator/generate.d.ts +32 -0
  160. package/dist/generator/generator/generate.js +82 -0
  161. package/dist/generator/generator/generate.js.map +1 -0
  162. package/dist/generator/generator/runtime-enums-style.d.ts +1 -0
  163. package/dist/generator/generator/runtime-enums-style.js +3 -0
  164. package/dist/generator/generator/runtime-enums-style.js.map +1 -0
  165. package/dist/generator/generator/serializer.d.ts +66 -0
  166. package/dist/generator/generator/serializer.js +309 -0
  167. package/dist/generator/generator/serializer.js.map +1 -0
  168. package/dist/generator/generator/singularizer.d.ts +1 -0
  169. package/dist/generator/generator/singularizer.js +32 -0
  170. package/dist/generator/generator/singularizer.js.map +1 -0
  171. package/dist/generator/index.d.ts +50 -0
  172. package/dist/generator/index.js +67 -0
  173. package/dist/generator/index.js.map +1 -0
  174. package/dist/generator/logger/log-level.d.ts +8 -0
  175. package/dist/generator/logger/log-level.js +14 -0
  176. package/dist/generator/logger/log-level.js.map +1 -0
  177. package/dist/generator/logger/logger.d.ts +12 -0
  178. package/dist/generator/logger/logger.js +62 -0
  179. package/dist/generator/logger/logger.js.map +1 -0
  180. package/dist/generator/transformer/definitions.d.ts +18 -0
  181. package/dist/generator/transformer/definitions.js +44 -0
  182. package/dist/generator/transformer/definitions.js.map +1 -0
  183. package/dist/generator/transformer/identifier-style.d.ts +1 -0
  184. package/dist/generator/transformer/identifier-style.js +3 -0
  185. package/dist/generator/transformer/identifier-style.js.map +1 -0
  186. package/dist/generator/transformer/imports.d.ts +5 -0
  187. package/dist/generator/transformer/imports.js +9 -0
  188. package/dist/generator/transformer/imports.js.map +1 -0
  189. package/dist/generator/transformer/symbol-collection.d.ts +44 -0
  190. package/dist/generator/transformer/symbol-collection.js +59 -0
  191. package/dist/generator/transformer/symbol-collection.js.map +1 -0
  192. package/dist/generator/transformer/transformer.d.ts +33 -0
  193. package/dist/generator/transformer/transformer.js +311 -0
  194. package/dist/generator/transformer/transformer.js.map +1 -0
  195. package/dist/generator/utils/case-converter.d.ts +30 -0
  196. package/dist/generator/utils/case-converter.js +67 -0
  197. package/dist/generator/utils/case-converter.js.map +1 -0
  198. package/dist/index.d.ts +4 -0
  199. package/dist/index.js +21 -0
  200. package/dist/index.js.map +1 -0
  201. package/dist/introspector/dialect.d.ts +19 -0
  202. package/dist/introspector/dialect.js +10 -0
  203. package/dist/introspector/dialect.js.map +1 -0
  204. package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.d.ts +7 -0
  205. package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js +56 -0
  206. package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js.map +1 -0
  207. package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-introspector.d.ts +6 -0
  208. package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-introspector.js +15 -0
  209. package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-introspector.js.map +1 -0
  210. package/dist/introspector/dialects/libsql/libsql-dialect.d.ts +7 -0
  211. package/dist/introspector/dialects/libsql/libsql-dialect.js +59 -0
  212. package/dist/introspector/dialects/libsql/libsql-dialect.js.map +1 -0
  213. package/dist/introspector/dialects/libsql/libsql-introspector.d.ts +6 -0
  214. package/dist/introspector/dialects/libsql/libsql-introspector.js +15 -0
  215. package/dist/introspector/dialects/libsql/libsql-introspector.js.map +1 -0
  216. package/dist/introspector/dialects/mssql/mssql-dialect.d.ts +9 -0
  217. package/dist/introspector/dialects/mssql/mssql-dialect.js +112 -0
  218. package/dist/introspector/dialects/mssql/mssql-dialect.js.map +1 -0
  219. package/dist/introspector/dialects/mssql/mssql-introspector.d.ts +6 -0
  220. package/dist/introspector/dialects/mssql/mssql-introspector.js +15 -0
  221. package/dist/introspector/dialects/mssql/mssql-introspector.js.map +1 -0
  222. package/dist/introspector/dialects/mysql/mysql-db.d.ts +8 -0
  223. package/dist/introspector/dialects/mysql/mysql-db.js +3 -0
  224. package/dist/introspector/dialects/mysql/mysql-db.js.map +1 -0
  225. package/dist/introspector/dialects/mysql/mysql-dialect.d.ts +8 -0
  226. package/dist/introspector/dialects/mysql/mysql-dialect.js +61 -0
  227. package/dist/introspector/dialects/mysql/mysql-dialect.js.map +1 -0
  228. package/dist/introspector/dialects/mysql/mysql-introspector.d.ts +14 -0
  229. package/dist/introspector/dialects/mysql/mysql-introspector.js +46 -0
  230. package/dist/introspector/dialects/mysql/mysql-introspector.js.map +1 -0
  231. package/dist/introspector/dialects/mysql/mysql-parser.d.ts +7 -0
  232. package/dist/introspector/dialects/mysql/mysql-parser.js +66 -0
  233. package/dist/introspector/dialects/mysql/mysql-parser.js.map +1 -0
  234. package/dist/introspector/dialects/postgres/date-parser.d.ts +2 -0
  235. package/dist/introspector/dialects/postgres/date-parser.js +5 -0
  236. package/dist/introspector/dialects/postgres/date-parser.js.map +1 -0
  237. package/dist/introspector/dialects/postgres/numeric-parser.d.ts +2 -0
  238. package/dist/introspector/dialects/postgres/numeric-parser.js +5 -0
  239. package/dist/introspector/dialects/postgres/numeric-parser.js.map +1 -0
  240. package/dist/introspector/dialects/postgres/postgres-db.d.ts +15 -0
  241. package/dist/introspector/dialects/postgres/postgres-db.js +3 -0
  242. package/dist/introspector/dialects/postgres/postgres-db.js.map +1 -0
  243. package/dist/introspector/dialects/postgres/postgres-dialect.d.ts +20 -0
  244. package/dist/introspector/dialects/postgres/postgres-dialect.js +83 -0
  245. package/dist/introspector/dialects/postgres/postgres-dialect.js.map +1 -0
  246. package/dist/introspector/dialects/postgres/postgres-introspector.d.ts +35 -0
  247. package/dist/introspector/dialects/postgres/postgres-introspector.js +128 -0
  248. package/dist/introspector/dialects/postgres/postgres-introspector.js.map +1 -0
  249. package/dist/introspector/dialects/sqlite/sqlite-dialect.d.ts +8 -0
  250. package/dist/introspector/dialects/sqlite/sqlite-dialect.js +53 -0
  251. package/dist/introspector/dialects/sqlite/sqlite-dialect.js.map +1 -0
  252. package/dist/introspector/dialects/sqlite/sqlite-introspector.d.ts +6 -0
  253. package/dist/introspector/dialects/sqlite/sqlite-introspector.js +15 -0
  254. package/dist/introspector/dialects/sqlite/sqlite-introspector.js.map +1 -0
  255. package/dist/introspector/enum-collection.d.ts +10 -0
  256. package/dist/introspector/enum-collection.js +26 -0
  257. package/dist/introspector/enum-collection.js.map +1 -0
  258. package/dist/introspector/index.d.ts +24 -0
  259. package/dist/introspector/index.js +41 -0
  260. package/dist/introspector/index.js.map +1 -0
  261. package/dist/introspector/introspector.d.ts +23 -0
  262. package/dist/introspector/introspector.fixtures.d.ts +4 -0
  263. package/dist/introspector/introspector.fixtures.js +128 -0
  264. package/dist/introspector/introspector.fixtures.js.map +1 -0
  265. package/dist/introspector/introspector.js +50 -0
  266. package/dist/introspector/introspector.js.map +1 -0
  267. package/dist/introspector/metadata/column-metadata.d.ts +23 -0
  268. package/dist/introspector/metadata/column-metadata.js +18 -0
  269. package/dist/introspector/metadata/column-metadata.js.map +1 -0
  270. package/dist/introspector/metadata/database-metadata.d.ts +12 -0
  271. package/dist/introspector/metadata/database-metadata.js +13 -0
  272. package/dist/introspector/metadata/database-metadata.js.map +1 -0
  273. package/dist/introspector/metadata/table-metadata.d.ts +17 -0
  274. package/dist/introspector/metadata/table-metadata.js +15 -0
  275. package/dist/introspector/metadata/table-metadata.js.map +1 -0
  276. package/dist/introspector/table-matcher.d.ts +6 -0
  277. package/dist/introspector/table-matcher.js +16 -0
  278. package/dist/introspector/table-matcher.js.map +1 -0
  279. package/package.json +186 -0
  280. package/pnpm-workspace.yaml +3 -0
  281. package/tsconfig.build.json +5 -0
package/.cspell.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "enableFiletypes": ["dockercompose"],
3
+ "words": [
4
+ "Adminer",
5
+ "attname",
6
+ "attnum",
7
+ "attrelid",
8
+ "bacch",
9
+ "bacchi",
10
+ "Blomberg",
11
+ "bpchar",
12
+ "bytea",
13
+ "codegen",
14
+ "codegenrc",
15
+ "conindid",
16
+ "conrelid",
17
+ "contype",
18
+ "datetime",
19
+ "datetimeoffset",
20
+ "deunionize",
21
+ "dockercompose",
22
+ "enumlabel",
23
+ "enumtypid",
24
+ "esbuild",
25
+ "execa",
26
+ "geomcollection",
27
+ "geometrycollection",
28
+ "indexrelid",
29
+ "indkey",
30
+ "indrelid",
31
+ "inet",
32
+ "inhrelid",
33
+ "Insertable",
34
+ "Introspector",
35
+ "knip",
36
+ "kysely",
37
+ "libsql",
38
+ "linestring",
39
+ "longblob",
40
+ "longtext",
41
+ "lseg",
42
+ "macaddr",
43
+ "mediumblob",
44
+ "mediumint",
45
+ "mediumtext",
46
+ "mssql",
47
+ "multilinestring",
48
+ "multipoint",
49
+ "multipolygon",
50
+ "mysqlx",
51
+ "nocase",
52
+ "nspname",
53
+ "ntext",
54
+ "nvarchar",
55
+ "objoid",
56
+ "plpgsql",
57
+ "regclass",
58
+ "regnamespace",
59
+ "relkind",
60
+ "relname",
61
+ "relnamespace",
62
+ "robinblomberg",
63
+ "schemaname",
64
+ "Singularizer",
65
+ "smalldatetime",
66
+ "smallmoney",
67
+ "sqld",
68
+ "tablename",
69
+ "tediousjs",
70
+ "timestamptz",
71
+ "tinyblob",
72
+ "tinyint",
73
+ "tinytext",
74
+ "tsquery",
75
+ "tsvector",
76
+ "txid",
77
+ "typbasetype",
78
+ "typname",
79
+ "typnamespace",
80
+ "typtype",
81
+ "uniqueidentifier",
82
+ "Updateable",
83
+ "upvote",
84
+ "varbinary",
85
+ "varbit",
86
+ "vitest"
87
+ ]
88
+ }
@@ -0,0 +1 @@
1
+ github: RobinBlomberg
@@ -0,0 +1,30 @@
1
+ import { configDotenv } from 'dotenv';
2
+ import {
3
+ ArrayExpressionNode,
4
+ type Config,
5
+ JsonColumnTypeNode,
6
+ RawExpressionNode,
7
+ } from './dist';
8
+
9
+ const typesOutputPath = 'schema.ts';
10
+ configDotenv();
11
+ const config: Config = {
12
+ dialect: 'mysql',
13
+ url: 'mysql://kuduuAdmin:Micr0soft1512%40%211998@kuduudb.mysql.database.azure.com/kuduu',
14
+ envFile: '.env',
15
+ outFile: typesOutputPath, // directory to write generated types
16
+ camelCase: true, // use camelCase in generated TypeScript
17
+ skipAutogeneratedFileComment: true,
18
+ singularize: true,
19
+ numericParser: 'number',
20
+ overrides: {
21
+ columns: {
22
+ 'plans.limits': new JsonColumnTypeNode(
23
+ new RawExpressionNode('{ stores: number; }'),
24
+ ),
25
+ 'stores.display_slots': new ArrayExpressionNode(
26
+ new RawExpressionNode('{ gameId: string; packId: string | null; }'),
27
+ ),
28
+ },
29
+ },
30
+ };
package/.ncurc.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "reject": ["chalk", "eslint"]
3
+ }
@@ -0,0 +1 @@
1
+ **/src/**/*.snapshot.ts
package/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Robin Blomberg
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ associated documentation files (the "Software"), to deal in the Software without restriction,
7
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all copies or substantial
12
+ portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
17
+ OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,373 @@
1
+ # ![kysely-codegen](./assets/kysely-codegen-logo.svg) <!-- omit from toc -->
2
+
3
+ `kysely-codegen` generates Kysely type definitions from your database. That's it.
4
+
5
+ ## Table of contents <!-- omit from toc -->
6
+
7
+ - [Installation](#installation)
8
+ - [Generating type definitions](#generating-type-definitions)
9
+ - [Using the type definitions](#using-the-type-definitions)
10
+ - [CLI arguments](#cli-arguments)
11
+ - [Configuration file](#configuration-file)
12
+ - [Issue funding](#issue-funding)
13
+
14
+ ## Installation
15
+
16
+ ```sh
17
+ npm install --save-dev kysely-codegen
18
+ ```
19
+
20
+ You will also need to install Kysely with your driver of choice:
21
+
22
+ ```sh
23
+ # PostgreSQL
24
+ npm install kysely pg
25
+
26
+ # MySQL
27
+ npm install kysely mysql2
28
+
29
+ # SQLite
30
+ npm install kysely better-sqlite3
31
+
32
+ # MSSQL
33
+ npm install kysely tedious tarn @tediousjs/connection-string
34
+
35
+ # LibSQL
36
+ npm install @libsql/kysely-libsql
37
+ ```
38
+
39
+ ## Generating type definitions
40
+
41
+ The most convenient way to get started is to create an `.env` file with your database connection string:
42
+
43
+ ```sh
44
+ # PostgreSQL
45
+ DATABASE_URL=postgres://username:password@yourdomain.com/database
46
+
47
+ # MySQL
48
+ DATABASE_URL=mysql://username:password@yourdomain.com/database
49
+
50
+ # SQLite
51
+ DATABASE_URL=C:/Program Files/sqlite3/db
52
+
53
+ # MSSQL
54
+ DATABASE_URL=Server=mssql;Database=database;User Id=user;Password=password
55
+
56
+ # LibSQL
57
+ DATABASE_URL=libsql://token@host:port/database
58
+ ```
59
+
60
+ > If your URL contains a password with special characters, those characters may need to be [percent-encoded](https://en.wikipedia.org/wiki/Percent-encoding#Reserved_characters).
61
+ >
62
+ > If you are using _PlanetScale_, make sure your URL contains this SSL query string parameter: `ssl={"rejectUnauthorized":true}`
63
+
64
+ Then run the following command, or add it to the scripts section in your package.json file:
65
+
66
+ ```sh
67
+ kysely-codegen
68
+ ```
69
+
70
+ This command will generate a `.d.ts` file from your database, for example:
71
+
72
+ <!-- prettier-ignore -->
73
+ ```ts
74
+ import { ColumnType } from 'kysely';
75
+
76
+ export type Generated<T> = T extends ColumnType<infer S, infer I, infer U>
77
+ ? ColumnType<S, I | undefined, U>
78
+ : ColumnType<T, T | undefined, T>;
79
+
80
+ export type Timestamp = ColumnType<Date, Date | string, Date | string>;
81
+
82
+ export interface Company {
83
+ id: Generated<number>;
84
+ name: string;
85
+ }
86
+
87
+ export interface User {
88
+ company_id: number | null;
89
+ created_at: Generated<Timestamp>;
90
+ email: string;
91
+ id: Generated<number>;
92
+ is_active: boolean;
93
+ name: string;
94
+ updated_at: Timestamp;
95
+ }
96
+
97
+ export interface DB {
98
+ company: Company;
99
+ user: User;
100
+ }
101
+ ```
102
+
103
+ To specify a different output file:
104
+
105
+ ```sh
106
+ kysely-codegen --out-file ./src/db/db.d.ts
107
+ ```
108
+
109
+ ## Using the type definitions
110
+
111
+ Import `DB` into `new Kysely<DB>`, and you're done!
112
+
113
+ ```ts
114
+ import { Kysely, PostgresDialect } from 'kysely';
115
+ import { DB } from 'kysely-codegen';
116
+ import { Pool } from 'pg';
117
+
118
+ const db = new Kysely<DB>({
119
+ dialect: new PostgresDialect({
120
+ pool: new Pool({
121
+ connectionString: process.env.DATABASE_URL,
122
+ }),
123
+ }),
124
+ });
125
+
126
+ const rows = await db.selectFrom('users').selectAll().execute();
127
+ // ^ { created_at: Date; email: string; id: number; ... }[]
128
+ ```
129
+
130
+ If you need to use the generated types in e.g. function parameters and type definitions, you may need to use the Kysely `Insertable`, `Selectable`, `Updateable` types. Note that you don't need to explicitly annotate query return values, as it's recommended to let Kysely infer the types for you.
131
+
132
+ ```ts
133
+ import { Insertable, Updateable } from 'kysely';
134
+ import { DB } from 'kysely-codegen';
135
+ import { db } from './db';
136
+
137
+ async function insertUser(user: Insertable<User>) {
138
+ return await db
139
+ .insertInto('users')
140
+ .values(user)
141
+ .returningAll()
142
+ .executeTakeFirstOrThrow();
143
+ // ^ Selectable<User>
144
+ }
145
+
146
+ async function updateUser(id: number, user: Updateable<User>) {
147
+ return await db
148
+ .updateTable('users')
149
+ .set(user)
150
+ .where('id', '=', id)
151
+ .returning(['email', 'id'])
152
+ .executeTakeFirstOrThrow();
153
+ // ^ { email: string; id: number; }
154
+ }
155
+ ```
156
+
157
+ Read the [Kysely documentation](https://kysely.dev/docs/getting-started) for more information.
158
+
159
+ ## CLI arguments
160
+
161
+ #### --camel-case <!-- omit from toc -->
162
+
163
+ Use the Kysely CamelCasePlugin for generated table column names.
164
+
165
+ **Example:**
166
+
167
+ ```ts
168
+ export interface User {
169
+ companyId: number | null;
170
+ createdAt: Generated<Timestamp>;
171
+ email: string;
172
+ id: Generated<number>;
173
+ isActive: boolean;
174
+ name: string;
175
+ updatedAt: Timestamp;
176
+ }
177
+ ```
178
+
179
+ #### --date-parser <!-- omit from toc -->
180
+
181
+ Specify which parser to use for PostgreSQL date values. (values: `string`/`timestamp`, default: `timestamp`)
182
+
183
+ #### --default-schema [value] <!-- omit from toc -->
184
+
185
+ Set the default schema(s) for the database connection.
186
+
187
+ Multiple schemas can be specified:
188
+
189
+ ```sh
190
+ kysely-codegen --default-schema=public --default-schema=hidden
191
+ ```
192
+
193
+ #### --dialect [value] <!-- omit from toc -->
194
+
195
+ Set the SQL dialect. (values: `postgres`/`mysql`/`sqlite`/`mssql`/`libsql`/`bun-sqlite`/`kysely-bun-sqlite`/`worker-bun-sqlite`)
196
+
197
+ #### --env-file [value] <!-- omit from toc -->
198
+
199
+ Specify the path to an environment file to use.
200
+
201
+ #### --help, -h <!-- omit from toc -->
202
+
203
+ Print all command line options.
204
+
205
+ #### --include-pattern [value], --exclude-pattern [value] <!-- omit from toc -->
206
+
207
+ You can choose which tables should be included during code generation by providing a glob pattern to the `--include-pattern` and `--exclude-pattern` flags. We use [micromatch](https://github.com/micromatch/micromatch) under the hood, which provides advanced glob support. For instance, if you only want to include your public tables:
208
+
209
+ ```sh
210
+ kysely-codegen --include-pattern="public.*"
211
+ ```
212
+
213
+ You can also include only certain tables within a schema:
214
+
215
+ ```sh
216
+ kysely-codegen --include-pattern="public.+(user|post)"
217
+ ```
218
+
219
+ Or exclude an entire class of tables:
220
+
221
+ ```sh
222
+ kysely-codegen --exclude-pattern="documents.*"
223
+ ```
224
+
225
+ #### --log-level [value] <!-- omit from toc -->
226
+
227
+ Set the terminal log level. (values: `debug`/`info`/`warn`/`error`/`silent`, default: `warn`)
228
+
229
+ #### --no-domains <!-- omit from toc -->
230
+
231
+ Skip generating types for PostgreSQL domains. (default: `false`)
232
+
233
+ #### --numeric-parser <!-- omit from toc -->
234
+
235
+ Specify which parser to use for PostgreSQL numeric values. (values: `string`/`number`/`number-or-string`, default: `string`)
236
+
237
+ #### --overrides <!-- omit from toc -->
238
+
239
+ Specify type overrides for specific table columns in JSON format.
240
+
241
+ **Example:**
242
+
243
+ ```sh
244
+ kysely-codegen --overrides='{"columns":{"table_name.column_name":"{foo:\"bar\"}"}}'
245
+ ```
246
+
247
+ #### --out-file [value] <!-- omit from toc -->
248
+
249
+ Set the file build path. (default: `./node_modules/kysely-codegen/dist/db.d.ts`)
250
+
251
+ #### --partitions <!-- omit from toc -->
252
+
253
+ Include partitions of PostgreSQL tables in the generated code.
254
+
255
+ #### --print <!-- omit from toc -->
256
+
257
+ Print the generated output to the terminal instead of a file.
258
+
259
+ #### --runtime-enums <!-- omit from toc -->
260
+
261
+ The PostgreSQL `--runtime-enums` option generates runtime enums instead of string unions. You can optionally specify which naming convention to use for runtime enum keys. (values: [`pascal-case`, `screaming-snake-case`], default: `screaming-snake-case`)
262
+
263
+ **Examples:**
264
+
265
+ `--runtime-enums=false`
266
+
267
+ ```ts
268
+ export type Status = 'CONFIRMED' | 'UNCONFIRMED';
269
+ ```
270
+
271
+ `--runtime-enums` or `--runtime-enums=screaming-snake-case`
272
+
273
+ ```ts
274
+ export enum Status {
275
+ CONFIRMED = 'CONFIRMED',
276
+ UNCONFIRMED = 'UNCONFIRMED',
277
+ }
278
+ ```
279
+
280
+ `--runtime-enums=pascal-case`
281
+
282
+ ```ts
283
+ export enum Status {
284
+ Confirmed = 'CONFIRMED',
285
+ Unconfirmed = 'UNCONFIRMED',
286
+ }
287
+ ```
288
+
289
+ #### --singularize <!-- omit from toc -->
290
+
291
+ Singularize generated type aliases, e.g. as `BlogPost` instead of `BlogPosts`. The codegen uses the [pluralize](https://www.npmjs.com/package/pluralize) package for singularization.
292
+
293
+ You can specify custom singularization rules in the [configuration file](#configuration-file).
294
+
295
+ #### --type-only-imports <!-- omit from toc -->
296
+
297
+ Generate code using the TypeScript 3.8+ `import type` syntax. (default: `true`)
298
+
299
+ #### --url [value] <!-- omit from toc -->
300
+
301
+ Set the database connection string URL. This may point to an environment variable. (default: `env(DATABASE_URL)`)
302
+
303
+ #### --verify <!-- omit from toc -->
304
+
305
+ Verify that the generated types are up-to-date. (default: `false`)
306
+
307
+ ## Configuration file
308
+
309
+ All codegen options can also be configured in a `.kysely-codegenrc.json` (or `.js`, `.ts`, `.yaml` etc.) file or the `kysely-codegen` property in `package.json`. See [Cosmiconfig](https://github.com/cosmiconfig/cosmiconfig) for all available configuration file formats.
310
+
311
+ The default configuration:
312
+
313
+ ```json
314
+ {
315
+ "camelCase": false,
316
+ "dateParser": "timestamp",
317
+ "defaultSchemas": [], // ["public"] for PostgreSQL.
318
+ "dialect": null,
319
+ "domains": true,
320
+ "envFile": null,
321
+ "excludePattern": null,
322
+ "includePattern": null,
323
+ "logLevel": "warn",
324
+ "numericParser": "string",
325
+ "outFile": "./node_modules/kysely-codegen/dist/db.d.ts",
326
+ "overrides": {},
327
+ "partitions": false,
328
+ "print": false,
329
+ "runtimeEnums": false,
330
+ "singularize": false,
331
+ "typeOnlyImports": true,
332
+ "url": "env(DATABASE_URL)",
333
+ "verify": false
334
+ }
335
+ ```
336
+
337
+ The configuration object adds support for more advanced options:
338
+
339
+ ```json
340
+ {
341
+ "camelCase": true,
342
+ "overrides": {
343
+ "columns": {
344
+ "users.settings": "{ theme: 'dark' }"
345
+ }
346
+ },
347
+ "singularize": {
348
+ "/^(.*?)s?$/": "$1_model",
349
+ "/(bacch)(?:us|i)$/i": "$1us"
350
+ }
351
+ }
352
+ ```
353
+
354
+ The generated output:
355
+
356
+ ```ts
357
+ export interface UserModel {
358
+ settings: { theme: 'dark' };
359
+ }
360
+
361
+ // ...
362
+
363
+ export interface DB {
364
+ bacchi: Bacchus;
365
+ users: UserModel;
366
+ }
367
+ ```
368
+
369
+ ## Issue funding
370
+
371
+ We use [Polar.sh](https://polar.sh/RobinBlomberg) to upvote and promote specific features that you would like to see implemented. Check the backlog and help out:
372
+
373
+ <a href="https://polar.sh/RobinBlomberg"><img src="https://polar.sh/embed/fund-our-backlog.svg?org=RobinBlomberg" /></a>
@@ -0,0 +1,28 @@
1
+ <svg width="1512" height="400" viewBox="0 0 1512 400" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_1_17)">
3
+ <rect width="1512" height="400" fill="black"/>
4
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M539.911 331.492C559.829 365.878 672.064 337.923 790.596 269.053C909.127 200.183 989.07 116.478 969.153 82.0923C954.124 56.1458 886.531 65.6945 803.333 101.533C881.569 68.1016 944.466 58.9697 958.288 82.8321C976.918 114.995 899.336 194.92 785.004 261.35C670.673 327.779 562.886 355.558 544.256 323.395C535.397 308.1 548.294 282.006 576.552 251.699C544.737 285.216 530.027 314.427 539.911 331.492Z" fill="#F83C3D"/>
5
+ <path d="M1001.33 110.581L1004.76 132.046L1025.9 136.976L1004.47 140.413L999.555 161.585L996.119 140.12L974.982 135.189L996.41 131.753L1001.33 110.581Z" fill="#F83C3D"/>
6
+ <path d="M503.527 279.61L505.245 290.342L515.813 292.807L505.099 294.526L502.641 305.111L500.923 294.379L490.354 291.914L501.068 290.195L503.527 279.61Z" fill="#F83C3D"/>
7
+ <path d="M921.547 272.983V161.892H944.357L954.565 215.102V161.892H975.99V272.983H954.313L943.223 217.438V272.983H921.547Z" fill="#F9F3DB"/>
8
+ <path d="M872.025 272.983V161.892H916.386V183.353H894.584V205.003H915.504V225.896H894.584V251.333H917.836V272.983H872.025Z" fill="#F9F3DB"/>
9
+ <path d="M836.676 273.993C820.839 273.993 812.92 262.632 812.92 239.908V192C812.92 171.255 821.994 160.882 840.141 160.882C847.619 160.882 853.353 162.397 857.344 165.427C861.335 168.414 864.086 172.791 865.599 178.556C867.111 184.321 867.867 191.348 867.867 199.638H846.191V189.791C846.191 187.393 845.855 185.394 845.183 183.795C844.552 182.154 843.208 181.333 841.15 181.333C838.587 181.333 836.886 182.196 836.046 183.921C835.247 185.646 834.848 187.54 834.848 189.602V243.443C834.848 246.431 835.226 248.871 835.983 250.765C836.781 252.617 838.314 253.542 840.583 253.542C842.935 253.542 844.489 252.617 845.246 250.765C846.044 248.871 846.443 246.389 846.443 243.317V227.474H840.52V208.285H867.615V272.983H858.73L854.95 263.642C851.085 270.543 844.993 273.993 836.676 273.993Z" fill="#F9F3DB"/>
10
+ <path d="M764.281 272.983V161.892H808.642V183.353H786.839V205.003H807.76V225.896H786.839V251.333H810.091V272.983H764.281Z" fill="#F9F3DB"/>
11
+ <path d="M705.049 272.983V161.892H735.548C743.529 161.892 749.536 164.122 753.569 168.583C757.602 173.001 759.619 179.482 759.619 188.024V240.035C759.619 250.555 757.77 258.676 754.073 264.399C750.419 270.122 743.991 272.983 734.791 272.983H705.049ZM727.356 253.353H731.2C735.275 253.353 737.312 251.375 737.312 247.42V190.107C737.312 186.404 736.808 184.026 735.8 182.974C734.833 181.88 732.838 181.333 729.813 181.333H727.356V253.353Z" fill="#F9F3DB"/>
12
+ <path d="M552.377 273.993C544.354 273.993 537.884 271.489 532.969 266.482C528.096 261.474 525.66 254.468 525.66 245.463V194.21C525.66 183.437 527.781 175.189 532.024 169.466C536.309 163.744 543.261 160.882 552.881 160.882C558.132 160.882 562.795 161.85 566.87 163.786C570.987 165.721 574.222 168.625 576.574 172.496C578.927 176.326 580.103 181.165 580.103 187.014V206.202H558.048V189.791C558.048 186.467 557.628 184.237 556.788 183.1C555.948 181.922 554.646 181.333 552.881 181.333C550.823 181.333 549.437 182.09 548.723 183.605C548.008 185.078 547.651 187.056 547.651 189.539V245.147C547.651 248.219 548.092 250.386 548.975 251.649C549.899 252.911 551.201 253.542 552.881 253.542C554.772 253.542 556.095 252.764 556.851 251.207C557.649 249.65 558.048 247.63 558.048 245.147V225.138H580.355V246.157C580.355 255.92 577.898 263.01 572.983 267.429C568.068 271.805 561.199 273.993 552.377 273.993Z" fill="#F9F3DB"/>
13
+ <ellipse cx="642.925" cy="218.87" rx="57.7726" ry="57.8708" fill="#F9F3DB"/>
14
+ <path d="M647.783 233.292L674.034 219.392V218.683L647.783 204.783V192.565L685.789 212.929V225.146L647.783 245.51V233.292Z" fill="#1E1E1E"/>
15
+ <path d="M600.439 225.146V212.929L638.445 192.565V204.783L612.195 218.683V219.392L638.445 233.292V245.51L600.439 225.146Z" fill="#1E1E1E"/>
16
+ <path d="M867.469 106.699H873.753L891.033 125.188L908.313 106.699H914.597L893.39 128.729V144.465H888.677V128.729L867.469 106.699Z" fill="#F9F3DB"/>
17
+ <path d="M827.881 144.465V106.699H832.594V140.531H862.441V144.465H827.881Z" fill="#F9F3DB"/>
18
+ <path d="M769.324 144.465V106.699H807.027V110.633H774.037V123.221H805.456V127.155H774.037V140.531H807.027V144.465H769.324Z" fill="#F9F3DB"/>
19
+ <path d="M731.316 123.221C733.901 123.221 736.119 123.328 737.968 123.541C739.817 123.754 741.371 124.074 742.631 124.5C743.908 124.91 744.922 125.426 745.675 126.049C746.428 126.672 747.009 127.385 747.418 128.188C747.827 128.975 748.089 129.86 748.203 130.844C748.334 131.827 748.4 132.893 748.4 134.04C748.4 135.187 748.293 136.269 748.081 137.286C747.884 138.285 747.524 139.203 747.001 140.039C746.477 140.875 745.765 141.621 744.865 142.277C743.965 142.932 742.82 143.49 741.429 143.949C740.038 144.408 738.36 144.752 736.397 144.981C734.449 145.227 732.167 145.35 729.549 145.35H723.265C720.908 145.35 718.847 145.26 717.079 145.08C715.312 144.899 713.79 144.629 712.514 144.268C711.237 143.891 710.182 143.424 709.347 142.867C708.513 142.293 707.842 141.629 707.335 140.875C706.844 140.105 706.5 139.236 706.304 138.269C706.107 137.286 706.009 136.204 706.009 135.023H710.722C710.722 136.499 710.935 137.654 711.36 138.49C711.786 139.326 712.489 139.957 713.471 140.384C714.453 140.793 715.737 141.056 717.325 141.17C718.928 141.269 720.908 141.318 723.265 141.318H729.549C732.298 141.318 734.58 141.187 736.397 140.924C738.213 140.662 739.661 140.244 740.741 139.67C741.821 139.097 742.582 138.351 743.024 137.433C743.466 136.499 743.687 135.368 743.687 134.04C743.687 132.712 743.531 131.606 743.22 130.721C742.926 129.836 742.329 129.131 741.429 128.606C740.545 128.082 739.293 127.713 737.673 127.5C736.053 127.27 733.934 127.155 731.316 127.155H724.836C721.956 127.155 719.485 127.049 717.423 126.836C715.377 126.623 713.659 126.32 712.268 125.926C710.877 125.516 709.765 125.016 708.93 124.426C708.096 123.82 707.457 123.131 707.016 122.361C706.59 121.591 706.312 120.738 706.181 119.804C706.05 118.853 705.985 117.829 705.985 116.73C705.985 115.583 706.083 114.518 706.279 113.534C706.492 112.551 706.876 111.665 707.433 110.879C707.989 110.075 708.75 109.362 709.716 108.739C710.681 108.117 711.917 107.6 713.422 107.19C714.944 106.764 716.768 106.445 718.896 106.232C721.023 106.018 723.527 105.912 726.407 105.912H731.119C733.476 105.912 735.538 106.002 737.305 106.182C739.072 106.346 740.594 106.617 741.87 106.994C743.147 107.354 744.202 107.813 745.037 108.371C745.888 108.912 746.559 109.567 747.05 110.338C747.557 111.092 747.909 111.952 748.105 112.919C748.301 113.886 748.4 114.96 748.4 116.14H743.687C743.687 114.665 743.474 113.509 743.049 112.673C742.623 111.838 741.92 111.215 740.938 110.805C739.956 110.379 738.663 110.116 737.059 110.018C735.456 109.903 733.476 109.846 731.119 109.846H726.407C723.265 109.846 720.679 109.961 718.65 110.19C716.621 110.403 715.017 110.772 713.839 111.297C712.661 111.821 711.843 112.526 711.385 113.411C710.926 114.296 710.697 115.403 710.697 116.73C710.697 117.55 710.755 118.279 710.869 118.919C710.984 119.558 711.213 120.123 711.556 120.615C711.917 121.091 712.416 121.492 713.054 121.82C713.692 122.148 714.535 122.418 715.582 122.631C716.629 122.844 717.906 123 719.411 123.099C720.933 123.181 722.741 123.221 724.836 123.221H731.316Z" fill="#F9F3DB"/>
20
+ <path d="M644.916 106.699H651.2L668.48 125.188L685.76 106.699H692.044L670.837 128.729V144.465H666.124V128.729L644.916 106.699Z" fill="#F9F3DB"/>
21
+ <path d="M623.781 106.699H630.85L604.144 125.188L631.635 144.465H624.566L599.431 127.155H593.148V144.465H588.435V106.699H593.148V123.221H599.431L623.781 106.699Z" fill="#F9F3DB"/>
22
+ </g>
23
+ <defs>
24
+ <clipPath id="clip0_1_17">
25
+ <rect width="1512" height="400" fill="white"/>
26
+ </clipPath>
27
+ </defs>
28
+ </svg>
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const cli_1 = require("./cli");
5
+ void new cli_1.Cli().run({ argv: process.argv.slice(2) }).then(() => process.exit(0));
6
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAE5B,KAAK,IAAI,SAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Config } from './config';
2
+ /**
3
+ * Creates a kysely-codegen command-line interface.
4
+ */
5
+ export declare class Cli {
6
+ #private;
7
+ logLevel: "error" | "debug" | "silent" | "warn" | "info";
8
+ generate(options: Config): Promise<string>;
9
+ parseOptions(args: string[], options?: {
10
+ config?: Config;
11
+ silent?: boolean;
12
+ }): Config;
13
+ run(options?: {
14
+ argv?: string[];
15
+ config?: Config;
16
+ }): Promise<string>;
17
+ }