neoorm 0.8.1 → 0.8.3

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 (347) hide show
  1. package/README.md +10 -5
  2. package/dist/bin/neoorm.d.ts +1 -1
  3. package/dist/bin/neoorm.d.ts.map +1 -1
  4. package/dist/bin/neoorm.js +148 -102
  5. package/dist/bin/neoorm.js.map +1 -1
  6. package/dist/codegen/diff-manifest.d.ts.map +1 -1
  7. package/dist/codegen/diff-manifest.js +106 -4
  8. package/dist/codegen/diff-manifest.js.map +1 -1
  9. package/dist/codegen/generate-summary.d.ts +1 -0
  10. package/dist/codegen/generate-summary.d.ts.map +1 -1
  11. package/dist/codegen/generate-summary.js +3 -0
  12. package/dist/codegen/generate-summary.js.map +1 -1
  13. package/dist/codegen/generate.d.ts +7 -1
  14. package/dist/codegen/generate.d.ts.map +1 -1
  15. package/dist/codegen/generate.js +53 -20
  16. package/dist/codegen/generate.js.map +1 -1
  17. package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
  18. package/dist/codegen/schema-to-manifest.js +302 -22
  19. package/dist/codegen/schema-to-manifest.js.map +1 -1
  20. package/dist/codegen/validation/emit-elysia.d.ts +4 -0
  21. package/dist/codegen/validation/emit-elysia.d.ts.map +1 -0
  22. package/dist/codegen/validation/emit-elysia.js +304 -0
  23. package/dist/codegen/validation/emit-elysia.js.map +1 -0
  24. package/dist/codegen/validation/types.d.ts +1 -1
  25. package/dist/codegen/validation/types.js +1 -1
  26. package/dist/config.d.ts +2 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +3 -1
  29. package/dist/config.js.map +1 -1
  30. package/dist/datasource-provider.d.ts +5 -1
  31. package/dist/datasource-provider.d.ts.map +1 -1
  32. package/dist/datasource-provider.js +21 -2
  33. package/dist/datasource-provider.js.map +1 -1
  34. package/dist/dialect/column-kind-support.d.ts +9 -0
  35. package/dist/dialect/column-kind-support.d.ts.map +1 -0
  36. package/dist/dialect/column-kind-support.js +25 -0
  37. package/dist/dialect/column-kind-support.js.map +1 -0
  38. package/dist/dialect/fk.d.ts +30 -1
  39. package/dist/dialect/fk.d.ts.map +1 -1
  40. package/dist/dialect/fk.js +113 -0
  41. package/dist/dialect/fk.js.map +1 -1
  42. package/dist/dialect/index.d.ts +5 -1
  43. package/dist/dialect/index.d.ts.map +1 -1
  44. package/dist/dialect/index.js +4 -0
  45. package/dist/dialect/index.js.map +1 -1
  46. package/dist/dialect/mariadb.d.ts +4 -0
  47. package/dist/dialect/mariadb.d.ts.map +1 -0
  48. package/dist/dialect/mariadb.js +15 -0
  49. package/dist/dialect/mariadb.js.map +1 -0
  50. package/dist/dialect/mariadb.test.d.ts +2 -0
  51. package/dist/dialect/mariadb.test.d.ts.map +1 -0
  52. package/dist/dialect/mariadb.test.js +176 -0
  53. package/dist/dialect/mariadb.test.js.map +1 -0
  54. package/dist/dialect/mysql-family.d.ts +21 -0
  55. package/dist/dialect/mysql-family.d.ts.map +1 -0
  56. package/dist/dialect/mysql-family.js +475 -0
  57. package/dist/dialect/mysql-family.js.map +1 -0
  58. package/dist/dialect/mysql.d.ts +6 -0
  59. package/dist/dialect/mysql.d.ts.map +1 -0
  60. package/dist/dialect/mysql.js +16 -0
  61. package/dist/dialect/mysql.js.map +1 -0
  62. package/dist/dialect/mysql.test.d.ts +2 -0
  63. package/dist/dialect/mysql.test.d.ts.map +1 -0
  64. package/dist/dialect/mysql.test.js +243 -0
  65. package/dist/dialect/mysql.test.js.map +1 -0
  66. package/dist/dialect/placeholders.d.ts +7 -0
  67. package/dist/dialect/placeholders.d.ts.map +1 -0
  68. package/dist/dialect/placeholders.js +18 -0
  69. package/dist/dialect/placeholders.js.map +1 -0
  70. package/dist/dialect/postgres.d.ts.map +1 -1
  71. package/dist/dialect/postgres.js +56 -27
  72. package/dist/dialect/postgres.js.map +1 -1
  73. package/dist/dialect/resolve.d.ts +13 -0
  74. package/dist/dialect/resolve.d.ts.map +1 -0
  75. package/dist/dialect/resolve.js +66 -0
  76. package/dist/dialect/resolve.js.map +1 -0
  77. package/dist/dialect/shared.d.ts +8 -1
  78. package/dist/dialect/shared.d.ts.map +1 -1
  79. package/dist/dialect/shared.js +37 -0
  80. package/dist/dialect/shared.js.map +1 -1
  81. package/dist/dialect/sqlite.d.ts.map +1 -1
  82. package/dist/dialect/sqlite.js +52 -19
  83. package/dist/dialect/sqlite.js.map +1 -1
  84. package/dist/dialect/sqlite.test.js +43 -1
  85. package/dist/dialect/sqlite.test.js.map +1 -1
  86. package/dist/dialect/types.d.ts +48 -3
  87. package/dist/dialect/types.d.ts.map +1 -1
  88. package/dist/docs/pages.d.ts.map +1 -1
  89. package/dist/docs/pages.js +3 -0
  90. package/dist/docs/pages.js.map +1 -1
  91. package/dist/docs/render.js +1 -1
  92. package/dist/index.d.ts +5 -3
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +4 -2
  95. package/dist/index.js.map +1 -1
  96. package/dist/init/prompt.d.ts +21 -0
  97. package/dist/init/prompt.d.ts.map +1 -0
  98. package/dist/init/prompt.js +127 -0
  99. package/dist/init/prompt.js.map +1 -0
  100. package/dist/init/scaffold.d.ts +11 -1
  101. package/dist/init/scaffold.d.ts.map +1 -1
  102. package/dist/init/scaffold.js +22 -13
  103. package/dist/init/scaffold.js.map +1 -1
  104. package/dist/init/templates.d.ts +4 -2
  105. package/dist/init/templates.d.ts.map +1 -1
  106. package/dist/init/templates.js +19 -10
  107. package/dist/init/templates.js.map +1 -1
  108. package/dist/init/validate.d.ts +12 -0
  109. package/dist/init/validate.d.ts.map +1 -0
  110. package/dist/init/validate.js +51 -0
  111. package/dist/init/validate.js.map +1 -0
  112. package/dist/introspect/group-fks.d.ts +24 -0
  113. package/dist/introspect/group-fks.d.ts.map +1 -0
  114. package/dist/introspect/group-fks.js +48 -0
  115. package/dist/introspect/group-fks.js.map +1 -0
  116. package/dist/introspect/mysql/to-manifest.d.ts +4 -0
  117. package/dist/introspect/mysql/to-manifest.d.ts.map +1 -0
  118. package/dist/introspect/mysql/to-manifest.js +317 -0
  119. package/dist/introspect/mysql/to-manifest.js.map +1 -0
  120. package/dist/introspect/pull.d.ts +1 -0
  121. package/dist/introspect/pull.d.ts.map +1 -1
  122. package/dist/introspect/pull.js +179 -6
  123. package/dist/introspect/pull.js.map +1 -1
  124. package/dist/introspect/queries.d.ts +10 -1
  125. package/dist/introspect/queries.d.ts.map +1 -1
  126. package/dist/introspect/queries.js +41 -11
  127. package/dist/introspect/queries.js.map +1 -1
  128. package/dist/introspect/sqlite/to-manifest.d.ts.map +1 -1
  129. package/dist/introspect/sqlite/to-manifest.js +99 -26
  130. package/dist/introspect/sqlite/to-manifest.js.map +1 -1
  131. package/dist/introspect/to-manifest.d.ts.map +1 -1
  132. package/dist/introspect/to-manifest.js +145 -26
  133. package/dist/introspect/to-manifest.js.map +1 -1
  134. package/dist/migrate/dev-lock.d.ts +15 -0
  135. package/dist/migrate/dev-lock.d.ts.map +1 -0
  136. package/dist/migrate/dev-lock.js +101 -0
  137. package/dist/migrate/dev-lock.js.map +1 -0
  138. package/dist/migrate/runner.d.ts.map +1 -1
  139. package/dist/migrate/runner.js +143 -51
  140. package/dist/migrate/runner.js.map +1 -1
  141. package/dist/plugins/builtin.d.ts +42 -0
  142. package/dist/plugins/builtin.d.ts.map +1 -1
  143. package/dist/plugins/builtin.js +276 -8
  144. package/dist/plugins/builtin.js.map +1 -1
  145. package/dist/plugins/json/operators.d.ts.map +1 -1
  146. package/dist/plugins/json/operators.js +69 -3
  147. package/dist/plugins/json/operators.js.map +1 -1
  148. package/dist/plugins/postgis/operators.d.ts.map +1 -1
  149. package/dist/plugins/postgis/operators.js +15 -3
  150. package/dist/plugins/postgis/operators.js.map +1 -1
  151. package/dist/runtime/client.d.ts +38 -5
  152. package/dist/runtime/client.d.ts.map +1 -1
  153. package/dist/runtime/client.js +132 -5
  154. package/dist/runtime/client.js.map +1 -1
  155. package/dist/runtime/client.test.js +1 -0
  156. package/dist/runtime/client.test.js.map +1 -1
  157. package/dist/runtime/driver-sqlite.test.js +12 -0
  158. package/dist/runtime/driver-sqlite.test.js.map +1 -1
  159. package/dist/runtime/driver.d.ts +2 -0
  160. package/dist/runtime/driver.d.ts.map +1 -1
  161. package/dist/runtime/driver.js +28 -8
  162. package/dist/runtime/driver.js.map +1 -1
  163. package/dist/runtime/executor.d.ts +2 -0
  164. package/dist/runtime/executor.d.ts.map +1 -1
  165. package/dist/runtime/executor.js +19 -6
  166. package/dist/runtime/executor.js.map +1 -1
  167. package/dist/runtime/mariadb-driver.d.ts +25 -0
  168. package/dist/runtime/mariadb-driver.d.ts.map +1 -0
  169. package/dist/runtime/mariadb-driver.js +143 -0
  170. package/dist/runtime/mariadb-driver.js.map +1 -0
  171. package/dist/runtime/mysql-driver.d.ts +25 -0
  172. package/dist/runtime/mysql-driver.d.ts.map +1 -0
  173. package/dist/runtime/mysql-driver.js +105 -0
  174. package/dist/runtime/mysql-driver.js.map +1 -0
  175. package/dist/runtime/mysql-error.d.ts +15 -0
  176. package/dist/runtime/mysql-error.d.ts.map +1 -0
  177. package/dist/runtime/mysql-error.js +119 -0
  178. package/dist/runtime/mysql-error.js.map +1 -0
  179. package/dist/runtime/mysql-family-pool.d.ts +50 -0
  180. package/dist/runtime/mysql-family-pool.d.ts.map +1 -0
  181. package/dist/runtime/mysql-family-pool.js +52 -0
  182. package/dist/runtime/mysql-family-pool.js.map +1 -0
  183. package/dist/runtime/mysql-family-pool.test.d.ts +2 -0
  184. package/dist/runtime/mysql-family-pool.test.d.ts.map +1 -0
  185. package/dist/runtime/mysql-family-pool.test.js +341 -0
  186. package/dist/runtime/mysql-family-pool.test.js.map +1 -0
  187. package/dist/runtime/mysql-placeholders.d.ts +18 -0
  188. package/dist/runtime/mysql-placeholders.d.ts.map +1 -0
  189. package/dist/runtime/mysql-placeholders.js +133 -0
  190. package/dist/runtime/mysql-placeholders.js.map +1 -0
  191. package/dist/runtime/mysql-placeholders.test.d.ts +2 -0
  192. package/dist/runtime/mysql-placeholders.test.d.ts.map +1 -0
  193. package/dist/runtime/mysql-placeholders.test.js +33 -0
  194. package/dist/runtime/mysql-placeholders.test.js.map +1 -0
  195. package/dist/runtime/query/aggregate.d.ts.map +1 -1
  196. package/dist/runtime/query/aggregate.js +33 -2
  197. package/dist/runtime/query/aggregate.js.map +1 -1
  198. package/dist/runtime/query/compile-aggregate.d.ts +2 -1
  199. package/dist/runtime/query/compile-aggregate.d.ts.map +1 -1
  200. package/dist/runtime/query/compile-aggregate.js +33 -21
  201. package/dist/runtime/query/compile-aggregate.js.map +1 -1
  202. package/dist/runtime/query/compile-where.d.ts +9 -9
  203. package/dist/runtime/query/compile-where.d.ts.map +1 -1
  204. package/dist/runtime/query/compile-where.js +92 -66
  205. package/dist/runtime/query/compile-where.js.map +1 -1
  206. package/dist/runtime/query/compile-write.d.ts +17 -11
  207. package/dist/runtime/query/compile-write.d.ts.map +1 -1
  208. package/dist/runtime/query/compile-write.js +172 -66
  209. package/dist/runtime/query/compile-write.js.map +1 -1
  210. package/dist/runtime/query/compile.d.ts +2 -2
  211. package/dist/runtime/query/compile.d.ts.map +1 -1
  212. package/dist/runtime/query/compile.js +2 -2
  213. package/dist/runtime/query/compile.js.map +1 -1
  214. package/dist/runtime/query/count.d.ts.map +1 -1
  215. package/dist/runtime/query/count.js +4 -1
  216. package/dist/runtime/query/count.js.map +1 -1
  217. package/dist/runtime/query/create.d.ts.map +1 -1
  218. package/dist/runtime/query/create.js +52 -13
  219. package/dist/runtime/query/create.js.map +1 -1
  220. package/dist/runtime/query/cursor.d.ts +1 -1
  221. package/dist/runtime/query/cursor.d.ts.map +1 -1
  222. package/dist/runtime/query/cursor.js +6 -7
  223. package/dist/runtime/query/cursor.js.map +1 -1
  224. package/dist/runtime/query/delete.d.ts.map +1 -1
  225. package/dist/runtime/query/delete.js +83 -15
  226. package/dist/runtime/query/delete.js.map +1 -1
  227. package/dist/runtime/query/execute.d.ts +1 -0
  228. package/dist/runtime/query/execute.d.ts.map +1 -1
  229. package/dist/runtime/query/execute.js +23 -8
  230. package/dist/runtime/query/execute.js.map +1 -1
  231. package/dist/runtime/query/find-or-create.d.ts +1 -1
  232. package/dist/runtime/query/find-or-create.d.ts.map +1 -1
  233. package/dist/runtime/query/find-or-create.js +16 -8
  234. package/dist/runtime/query/find-or-create.js.map +1 -1
  235. package/dist/runtime/query/find.d.ts +2 -0
  236. package/dist/runtime/query/find.d.ts.map +1 -1
  237. package/dist/runtime/query/find.js +150 -76
  238. package/dist/runtime/query/find.js.map +1 -1
  239. package/dist/runtime/query/map-row.d.ts.map +1 -1
  240. package/dist/runtime/query/map-row.js +11 -2
  241. package/dist/runtime/query/map-row.js.map +1 -1
  242. package/dist/runtime/query/mutation-returning.d.ts +12 -0
  243. package/dist/runtime/query/mutation-returning.d.ts.map +1 -0
  244. package/dist/runtime/query/mutation-returning.js +107 -0
  245. package/dist/runtime/query/mutation-returning.js.map +1 -0
  246. package/dist/runtime/query/paginate.d.ts.map +1 -1
  247. package/dist/runtime/query/paginate.js +3 -3
  248. package/dist/runtime/query/paginate.js.map +1 -1
  249. package/dist/runtime/query/relation-join.d.ts +5 -0
  250. package/dist/runtime/query/relation-join.d.ts.map +1 -0
  251. package/dist/runtime/query/relation-join.js +26 -0
  252. package/dist/runtime/query/relation-join.js.map +1 -0
  253. package/dist/runtime/query/relation-planner.d.ts +3 -1
  254. package/dist/runtime/query/relation-planner.d.ts.map +1 -1
  255. package/dist/runtime/query/relation-planner.js +77 -57
  256. package/dist/runtime/query/relation-planner.js.map +1 -1
  257. package/dist/runtime/query/relation-writes.d.ts +2 -2
  258. package/dist/runtime/query/relation-writes.d.ts.map +1 -1
  259. package/dist/runtime/query/relation-writes.js +264 -100
  260. package/dist/runtime/query/relation-writes.js.map +1 -1
  261. package/dist/runtime/query/strip.d.ts.map +1 -1
  262. package/dist/runtime/query/strip.js +23 -3
  263. package/dist/runtime/query/strip.js.map +1 -1
  264. package/dist/runtime/query/table-index.d.ts +4 -0
  265. package/dist/runtime/query/table-index.d.ts.map +1 -1
  266. package/dist/runtime/query/table-index.js +29 -10
  267. package/dist/runtime/query/table-index.js.map +1 -1
  268. package/dist/runtime/query/unique.d.ts +9 -0
  269. package/dist/runtime/query/unique.d.ts.map +1 -1
  270. package/dist/runtime/query/unique.js +66 -10
  271. package/dist/runtime/query/unique.js.map +1 -1
  272. package/dist/runtime/query/unique.test.js +125 -8
  273. package/dist/runtime/query/unique.test.js.map +1 -1
  274. package/dist/runtime/query/update.d.ts.map +1 -1
  275. package/dist/runtime/query/update.js +172 -35
  276. package/dist/runtime/query/update.js.map +1 -1
  277. package/dist/runtime/query/updated-at.js +2 -2
  278. package/dist/runtime/query/updated-at.js.map +1 -1
  279. package/dist/runtime/query/upsert.d.ts.map +1 -1
  280. package/dist/runtime/query/upsert.js +29 -5
  281. package/dist/runtime/query/upsert.js.map +1 -1
  282. package/dist/runtime/transaction.d.ts +1 -0
  283. package/dist/runtime/transaction.d.ts.map +1 -1
  284. package/dist/runtime/transaction.js +8 -0
  285. package/dist/runtime/transaction.js.map +1 -1
  286. package/dist/runtime/transaction.test.js +22 -1
  287. package/dist/runtime/transaction.test.js.map +1 -1
  288. package/dist/runtime/types.d.ts +10 -2
  289. package/dist/runtime/types.d.ts.map +1 -1
  290. package/dist/schema/column-constraints.d.ts +1 -1
  291. package/dist/schema/column-constraints.d.ts.map +1 -1
  292. package/dist/schema/column-constraints.js +6 -3
  293. package/dist/schema/column-constraints.js.map +1 -1
  294. package/dist/schema/column.d.ts +2 -2
  295. package/dist/schema/column.d.ts.map +1 -1
  296. package/dist/schema/column.js +1 -1
  297. package/dist/schema/column.js.map +1 -1
  298. package/dist/schema/index.d.ts +4 -4
  299. package/dist/schema/index.d.ts.map +1 -1
  300. package/dist/schema/index.js +2 -2
  301. package/dist/schema/index.js.map +1 -1
  302. package/dist/schema/nested-relation-types.d.ts +10 -9
  303. package/dist/schema/nested-relation-types.d.ts.map +1 -1
  304. package/dist/schema/relation-types.d.ts +73 -12
  305. package/dist/schema/relation-types.d.ts.map +1 -1
  306. package/dist/schema/relation.d.ts +11 -1
  307. package/dist/schema/relation.d.ts.map +1 -1
  308. package/dist/schema/relation.js +6 -0
  309. package/dist/schema/relation.js.map +1 -1
  310. package/dist/schema/table.d.ts +74 -11
  311. package/dist/schema/table.d.ts.map +1 -1
  312. package/dist/schema/table.js +93 -7
  313. package/dist/schema/table.js.map +1 -1
  314. package/dist/schema/types.d.ts +1 -1
  315. package/dist/schema/types.d.ts.map +1 -1
  316. package/dist/sql/builder.d.ts +13 -3
  317. package/dist/sql/builder.d.ts.map +1 -1
  318. package/dist/sql/builder.js +155 -5
  319. package/dist/sql/builder.js.map +1 -1
  320. package/dist/sql/index.d.ts +1 -0
  321. package/dist/sql/index.d.ts.map +1 -1
  322. package/dist/sql/index.js.map +1 -1
  323. package/dist/sql/qualify-tables.d.ts +15 -0
  324. package/dist/sql/qualify-tables.d.ts.map +1 -0
  325. package/dist/sql/qualify-tables.js +206 -0
  326. package/dist/sql/qualify-tables.js.map +1 -0
  327. package/dist/sql/template.d.ts +5 -0
  328. package/dist/sql/template.d.ts.map +1 -1
  329. package/dist/sql/template.js +23 -3
  330. package/dist/sql/template.js.map +1 -1
  331. package/docs/cli.md +9 -7
  332. package/docs/configuration.md +7 -6
  333. package/docs/elysia.md +131 -0
  334. package/docs/errors.md +1 -1
  335. package/docs/examples.md +4 -2
  336. package/docs/getting-started.md +8 -4
  337. package/docs/mariadb.md +153 -0
  338. package/docs/migrations.md +5 -3
  339. package/docs/mysql.md +136 -0
  340. package/docs/plugins.md +1 -1
  341. package/docs/queries.md +29 -12
  342. package/docs/relations.md +19 -4
  343. package/docs/schema.md +73 -10
  344. package/docs/sqlite.md +6 -2
  345. package/docs/typebox.md +4 -4
  346. package/docs/zod.md +2 -2
  347. package/package.json +19 -2
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  <strong>NeoOrm</strong> is a TypeScript-first SQL ORM built for people who want <strong>type safety without the complexity</strong>.
4
4
  Schema → codegen → typed client — you own the SQL, we handle the boilerplate.
5
5
 
6
- PostgreSQL and SQLite dialects ship today &mdash; MySQL and others are on the roadmap.
6
+ PostgreSQL, SQLite, MySQL 8, and MariaDB 10.11 dialects ship today.
7
7
  </p>
8
8
 
9
9
  <p>
@@ -11,6 +11,7 @@
11
11
  <a href="docs/getting-started.md"><strong>Getting started</strong></a> ·
12
12
  <a href="docs/zod.md"><strong>Zod schemas</strong></a> ·
13
13
  <a href="docs/typebox.md"><strong>TypeBox schemas</strong></a> ·
14
+ <a href="docs/elysia.md"><strong>Elysia schemas</strong></a> ·
14
15
  <a href="docs/cli.md"><strong>CLI reference</strong></a> ·
15
16
  <a href="examples/blog/queries.example.ts"><strong>Example</strong></a>
16
17
  </p>
@@ -18,9 +19,11 @@
18
19
  ```
19
20
  bun add neoorm pg # PostgreSQL
20
21
  bun add neoorm # SQLite (no extra driver needed)
22
+ bun add neoorm mysql2 # MySQL 8
23
+ bun add neoorm mariadb # MariaDB 10.11
21
24
  ```
22
25
 
23
- Requires **Node.js 22.5+** or **Bun** (SQLite uses built-in `node:sqlite` / `bun:sqlite`; see [SQLite](docs/sqlite.md)).
26
+ Requires **Node.js 22.5+** or **Bun** (SQLite uses built-in `node:sqlite` / `bun:sqlite`; see [SQLite](docs/sqlite.md). MySQL needs `mysql2`; see [MySQL](docs/mysql.md). MariaDB needs the official `mariadb` connector; see [MariaDB](docs/mariadb.md)).
24
27
 
25
28
  ---
26
29
 
@@ -33,7 +36,7 @@ Most ORMs force you to learn their query language, fight their type system, or s
33
36
  - **Schema as code** — one source of truth for types and the database
34
37
  - **Generated client** — zero-cost abstractions, full autocomplete
35
38
  - **Relations done right** — nested reads, writes, and filters without N+1 footguns
36
- - **PostgreSQL powered** — arrays, JSONB, PostGIS, enums, full-text, extensions — no abstraction layer that gets in the way. SQLite ships too for local dev and single-file deployments; MySQL and more are coming.
39
+ - **PostgreSQL powered** — arrays, JSONB, PostGIS, enums, full-text, extensions — no abstraction layer that gets in the way. SQLite ships for local dev and single-file deployments; MySQL 8 ships via optional `mysql2`; MariaDB 10.11 ships via the official `mariadb` connector.
37
40
  - **Migrations built-in** — diff your schema, get SQL, deploy. Rollback supported.
38
41
 
39
42
  ---
@@ -72,7 +75,7 @@ const posts = await db.posts.findMany({
72
75
  <table>
73
76
  <tr>
74
77
  <td width="50%"><strong>🧩 Schema DSL</strong><br/>Accessor-based tables (`table({…})`), fluent FKs (`fk("users")`), `many("tags")`, `id()`, `timestamps()`, array extras, checks, and partial indexes.</td>
75
- <td width="50%"><strong>📦 Code generation</strong><br/>`neoorm generate` emits a typed client, models with payload types, include types, a manifest, and migration SQL. Set `generate.zod` or `generate.typebox` to also emit Select/Create/Update schemas (`out/zod.ts`, `out/typebox.ts`).</td>
78
+ <td width="50%"><strong>📦 Code generation</strong><br/>`neoorm generate` emits a typed client, models with payload types, include types, a manifest, and migration SQL. Set `generate.zod`, `generate.typebox`, or `generate.elysia` to also emit Select/Create/Update schemas (`out/zod.ts`, `out/typebox.ts`, `out/elysia.ts`).</td>
76
79
  </tr>
77
80
  <tr>
78
81
  <td><strong>🔍 Rich queries</strong><br/>`findMany`, `findById`, `findUnique`, `count`, `aggregate`, `groupBy`. Where operators for strings, numbers, dates, JSONB, and nulls. `AND/OR/NOT` combinators.</td>
@@ -113,6 +116,8 @@ const posts = await db.posts.findMany({
113
116
  | [Documentation site](docs/getting-started.md) | Run `neoorm docs` for a local docs browser |
114
117
  | [Configuration](docs/configuration.md) | Config file options reference |
115
118
  | [SQLite](docs/sqlite.md) | SQLite dialect, drivers, type mapping, limitations |
119
+ | [MySQL](docs/mysql.md) | MySQL 8 dialect, mysql2, type mapping, limitations |
120
+ | [MariaDB](docs/mariadb.md) | MariaDB 10.11 dialect, official mariadb connector, type mapping, limitations |
116
121
  | [Plugins](docs/plugins.md) | PostGIS, citext, custom plugins |
117
122
 
118
123
  See [Getting started](docs/getting-started.md) and [Examples](docs/examples.md) to begin, or the [blog example](examples/blog/schema.ts) for a full schema and [queries.example.ts](examples/blog/queries.example.ts) for typed queries and mutations.
@@ -138,7 +143,7 @@ NeoOrm was built because existing TypeScript ORMs either sacrificed type safety
138
143
  - **Schema is the source of truth** — not decorators, not reflection, not a proprietary DSL. Your schema file is plain TypeScript.
139
144
  - **Generated code is a compile-time artifact** — no runtime dependency on the schema. Swap the schema, regenerate, everything still compiles.
140
145
  - **SQL is not hidden** — the client compiles to parameterized SQL that you can inspect. No magic, no surprises.
141
- - **PostgreSQL and SQLite first** — we ship Postgres and SQLite dialects and lean into each one's strengths. MySQL and other dialects are on the roadmap and will slot into the same architecture.
146
+ - **PostgreSQL, SQLite, MySQL, and MariaDB first** — we ship Postgres, SQLite, MySQL 8, and MariaDB 10.11 dialects and lean into each one's strengths.
142
147
 
143
148
  ---
144
149
 
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function runValidateCommand(): Promise<void>;
3
3
  //# sourceMappingURL=neoorm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"neoorm.d.ts","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"neoorm.d.ts","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":";AA6QA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBxD"}
@@ -1,20 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import { writeFile } from "node:fs/promises";
3
3
  import { join, resolve } from "node:path";
4
- import { createInterface } from "node:readline/promises";
5
4
  import { Command } from "commander";
6
5
  import { Pool } from "pg";
7
6
  import packageJson from "../../package.json" with { type: "json" };
8
- import { formatGenerateSummary, generateFromSchema, } from "../codegen/generate.js";
7
+ import { compileSchemaToManifest, formatGenerateSummary, generateFromSchema, } from "../codegen/generate.js";
9
8
  import { loadConfig } from "../config.js";
10
- import { isPostgresProvider, isSqliteProvider, } from "../datasource-provider.js";
9
+ import { isMariadbProvider, isMysqlFamilyProvider, isMysqlProvider, isPostgresProvider, isSqliteProvider, } from "../datasource-provider.js";
11
10
  import { postgresDialect } from "../dialect/postgres.js";
11
+ import { dialectForProvider } from "../dialect/resolve.js";
12
12
  import { sqliteDialect } from "../dialect/sqlite.js";
13
+ import { printInitComplete, resolveInitOptions } from "../init/prompt.js";
13
14
  import { formatInitNextSteps, runInit } from "../init/scaffold.js";
14
- import { introspectPostgres, introspectSqlite } from "../introspect/pull.js";
15
+ import { introspectMysql, introspectPostgres, introspectSqlite, } from "../introspect/pull.js";
16
+ import { acquireMigrateDevLock } from "../migrate/dev-lock.js";
15
17
  import { dbPushWarnings, formatMigrateStatus, migrateDeploy, migrateDown, migrateReset, migrateStatus, pushCurrentSchema, } from "../migrate/runner.js";
16
18
  import { pgClient, sqliteClient } from "../runtime/driver.js";
17
19
  import { isNeoOrmError } from "../runtime/errors.js";
20
+ import { createMariadbPoolFromUrl, mariadbClient, } from "../runtime/mariadb-driver.js";
21
+ import { createMysqlPoolFromUrl, mysqlClient, } from "../runtime/mysql-driver.js";
18
22
  import { openSqliteDatabase } from "../runtime/sqlite-open.js";
19
23
  function connectDb(config) {
20
24
  if (isSqliteProvider(config.datasource.provider)) {
@@ -26,6 +30,24 @@ function connectDb(config) {
26
30
  close: () => client.close(),
27
31
  };
28
32
  }
33
+ if (isMysqlProvider(config.datasource.provider)) {
34
+ const pool = createMysqlPoolFromUrl(config.datasource.url);
35
+ const client = mysqlClient(pool, { ownsPool: true });
36
+ return {
37
+ client,
38
+ dialect: dialectForProvider("mysql"),
39
+ close: () => client.close(),
40
+ };
41
+ }
42
+ if (isMariadbProvider(config.datasource.provider)) {
43
+ const pool = createMariadbPoolFromUrl(config.datasource.url);
44
+ const client = mariadbClient(pool, { ownsPool: true });
45
+ return {
46
+ client,
47
+ dialect: dialectForProvider("mariadb"),
48
+ close: () => client.close(),
49
+ };
50
+ }
29
51
  const pool = new Pool({ connectionString: config.datasource.url });
30
52
  const client = pgClient(pool);
31
53
  return {
@@ -102,7 +124,9 @@ async function runDbPull(config, options) {
102
124
  try {
103
125
  const content = isSqliteProvider(config.datasource.provider)
104
126
  ? await introspectSqlite(client)
105
- : await introspectPostgres(client, dbSchema ? { schema: dbSchema } : {});
127
+ : isMysqlFamilyProvider(config.datasource.provider)
128
+ ? await introspectMysql(client)
129
+ : await introspectPostgres(client, dbSchema ? { schema: dbSchema } : {});
106
130
  const outputPath = resolve(cwd, options.output ?? "schema.pulled.ts");
107
131
  await writeFile(outputPath, content, "utf-8");
108
132
  console.log(`Schema written to ${outputPath}`);
@@ -138,6 +162,7 @@ function generateOptionsFromConfig(config, options, dbSchema) {
138
162
  ...(dbSchema ? { schema: dbSchema } : {}),
139
163
  ...(config.generate?.zod === true ? { zod: true } : {}),
140
164
  ...(config.generate?.typebox === true ? { typebox: true } : {}),
165
+ ...(config.generate?.elysia === true ? { elysia: true } : {}),
141
166
  };
142
167
  }
143
168
  async function runGenerateCommand(options) {
@@ -150,6 +175,7 @@ async function runGenerateCommand(options) {
150
175
  for (const line of formatGenerateSummary(summary, outDir, {
151
176
  ...(config.generate?.zod === true ? { zod: true } : {}),
152
177
  ...(config.generate?.typebox === true ? { typebox: true } : {}),
178
+ ...(config.generate?.elysia === true ? { elysia: true } : {}),
153
179
  })) {
154
180
  console.log(line);
155
181
  }
@@ -160,85 +186,77 @@ async function runGenerateCommand(options) {
160
186
  process.exit(1);
161
187
  }
162
188
  }
189
+ export async function runValidateCommand() {
190
+ const cwd = process.cwd();
191
+ const config = await loadConfig(cwd);
192
+ const schemaPath = resolve(cwd, config.schema);
193
+ const dbSchema = config.datasource.schema;
194
+ const { manifest, warnings } = await compileSchemaToManifest(schemaPath, generateOptionsFromConfig(config, {}, dbSchema));
195
+ for (const warning of warnings) {
196
+ console.warn(`Warning: ${warning}`);
197
+ }
198
+ const names = Object.keys(manifest.tables).sort();
199
+ console.log(`Validation passed: config and schema are valid (${names.length} tables: ${names.join(", ")})`);
200
+ }
163
201
  function normalizeProvider(input) {
164
202
  const v = input.trim().toLowerCase();
165
203
  if (v === "postgresql" || v === "postgres" || v === "pg")
166
204
  return "postgresql";
167
205
  if (v === "sqlite")
168
206
  return "sqlite";
207
+ if (v === "mysql")
208
+ return "mysql";
209
+ if (v === "mariadb")
210
+ return "mariadb";
169
211
  return null;
170
212
  }
171
- async function promptForProvider() {
172
- const rl = createInterface({
173
- input: process.stdin,
174
- output: process.stdout,
175
- });
176
- try {
177
- const answer = await rl.question("Database provider? (1) PostgreSQL (2) SQLite [1]: ");
178
- const trimmed = answer.trim().toLowerCase();
179
- if (trimmed === "2" || trimmed === "sqlite")
180
- return "sqlite";
181
- if (trimmed === "" ||
182
- trimmed === "1" ||
183
- trimmed === "postgresql" ||
184
- trimmed === "postgres" ||
185
- trimmed === "pg")
186
- return "postgresql";
187
- console.log(`Unknown choice "${answer}", defaulting to PostgreSQL`);
188
- return "postgresql";
189
- }
190
- finally {
191
- rl.close();
192
- }
193
- }
194
213
  program
195
214
  .command("init")
196
215
  .description("Scaffold neoorm.config.ts, schema.ts, and .env.example (no codegen — run `neoorm migrate dev` after)")
197
216
  .option("--force", "Overwrite existing scaffold files")
198
217
  .option("--schema <path>", "Schema file path", "./schema.ts")
199
218
  .option("--out <dir>", "Generated output directory", "./neoorm")
200
- .option("--provider <provider>", "Database provider (postgresql|postgres|sqlite)")
219
+ .option("--provider <provider>", "Database provider (postgresql|postgres|sqlite|mysql|mariadb)")
201
220
  .option("--database-url <url>", "Database URL / file path")
202
- .action(async (options) => {
221
+ .action(async (options, command) => {
203
222
  const cwd = process.cwd();
223
+ const interactive = Boolean(process.stdin.isTTY && process.stdout.isTTY);
204
224
  try {
205
225
  let provider;
206
226
  if (options.provider) {
207
227
  const normalized = normalizeProvider(options.provider);
208
228
  if (!normalized) {
209
- console.error(`--provider must be one of: postgresql, sqlite (got "${options.provider}")`);
229
+ console.error(`--provider must be one of: postgresql, sqlite, mysql, mariadb (got "${options.provider}")`);
210
230
  process.exit(1);
211
231
  }
212
232
  provider = normalized;
213
233
  }
214
- else if (process.stdin.isTTY && process.stdout.isTTY) {
215
- provider = await promptForProvider();
216
- }
217
- const result = await runInit({
234
+ const resolved = await resolveInitOptions({
218
235
  cwd,
219
- schemaPath: options.schema,
220
- outDir: options.out,
236
+ interactive,
221
237
  ...(options.force ? { force: true } : {}),
222
238
  ...(provider ? { provider } : {}),
223
239
  ...(options.databaseUrl
224
240
  ? { databaseUrl: options.databaseUrl }
225
241
  : {}),
242
+ ...(command.getOptionValueSource("schema") === "cli"
243
+ ? { schemaPath: options.schema }
244
+ : {}),
245
+ ...(command.getOptionValueSource("out") === "cli"
246
+ ? { outDir: options.out }
247
+ : {}),
226
248
  });
227
- if (result.written.length > 0) {
228
- console.log("Scaffolded:");
229
- for (const file of result.written) {
230
- console.log(` + ${file}`);
231
- }
232
- }
233
- if (result.skipped.length > 0) {
234
- console.log("Skipped (already exists):");
235
- for (const file of result.skipped) {
236
- console.log(` - ${file}`);
237
- }
238
- }
239
- for (const line of formatInitNextSteps(cwd, options.schema, options.out)) {
240
- console.log(line);
241
- }
249
+ const result = await runInit({
250
+ cwd,
251
+ schemaPath: resolved.schemaPath,
252
+ outDir: resolved.outDir,
253
+ provider: resolved.provider,
254
+ ...(resolved.force ? { force: true } : {}),
255
+ ...(resolved.databaseUrl
256
+ ? { databaseUrl: resolved.databaseUrl }
257
+ : {}),
258
+ });
259
+ printInitComplete(result, formatInitNextSteps(cwd, resolved.schemaPath, resolved.outDir), interactive);
242
260
  }
243
261
  catch (err) {
244
262
  console.error(err instanceof Error ? err.message : String(err));
@@ -258,6 +276,18 @@ program
258
276
  process.exit(1);
259
277
  }
260
278
  });
279
+ program
280
+ .command("validate")
281
+ .description("Validate neoorm.config.ts and schema without writing files")
282
+ .action(async () => {
283
+ try {
284
+ await runValidateCommand();
285
+ }
286
+ catch (err) {
287
+ printCliError(err);
288
+ process.exit(1);
289
+ }
290
+ });
261
291
  program
262
292
  .command("migrate")
263
293
  .description("Run migrations")
@@ -289,9 +319,9 @@ program
289
319
  ...(options.skipApply ? { skipApply: true } : {}),
290
320
  ...(dbSchema ? { schema: dbSchema } : {}),
291
321
  });
292
- console.log(isSqliteProvider(config.datasource.provider)
293
- ? "✓ Database reset (all tables dropped and recreated)"
294
- : `✓ Database schema reset (${dbSchema ?? "public"} schema dropped and recreated)`);
322
+ console.log(isPostgresProvider(config.datasource.provider)
323
+ ? `✓ Database schema reset (${dbSchema ?? "public"} schema dropped and recreated)`
324
+ : "✓ Database reset (all tables dropped and recreated)");
295
325
  if (options.skipApply) {
296
326
  console.log(" Skipped re-applying migrations (--skip-apply)");
297
327
  }
@@ -329,55 +359,68 @@ program
329
359
  return;
330
360
  }
331
361
  if (subcommand === "deploy" || subcommand === "dev") {
332
- const schemaPath = resolve(cwd, config.schema);
333
- const { readSnapshot } = await import("../codegen/generate.js");
334
- const snapshotManifest = await readSnapshot(outDir);
335
- const applied = await migrateDeploy(client, dialect, migrationsDir, {
336
- ...(dbSchema ? { schema: dbSchema } : {}),
337
- schemaPath,
338
- ...(snapshotManifest
339
- ? { manifest: snapshotManifest }
340
- : {}),
341
- });
342
- if (applied.length === 0) {
343
- console.log("No pending migrations");
344
- }
345
- else {
346
- console.log(`Applied ${applied.length} migration(s):`);
347
- for (const name of applied) {
348
- console.log(` - ${name}`);
349
- }
350
- }
351
- if (subcommand === "dev") {
352
- const { warnings, summary, migrationName, manifest, destructiveBlocked, } = await generateFromSchema(schemaPath, outDir, generateOptionsFromConfig(config, options, dbSchema));
353
- for (const line of formatGenerateSummary(summary, outDir, {
354
- ...(config.generate?.zod === true
355
- ? { zod: true }
356
- : {}),
357
- ...(config.generate?.typebox === true
358
- ? { typebox: true }
362
+ const releaseDevLock = subcommand === "dev"
363
+ ? await acquireMigrateDevLock(outDir)
364
+ : undefined;
365
+ try {
366
+ const schemaPath = resolve(cwd, config.schema);
367
+ const { readSnapshot } = await import("../codegen/generate.js");
368
+ const snapshotManifest = await readSnapshot(outDir);
369
+ const applied = await migrateDeploy(client, dialect, migrationsDir, {
370
+ ...(dbSchema ? { schema: dbSchema } : {}),
371
+ schemaPath,
372
+ ...(snapshotManifest
373
+ ? { manifest: snapshotManifest }
359
374
  : {}),
360
- })) {
361
- console.log(line);
375
+ });
376
+ if (applied.length === 0) {
377
+ console.log("No pending migrations");
362
378
  }
363
- for (const warning of warnings) {
364
- console.warn(`Warning: ${warning}`);
365
- }
366
- if (migrationName) {
367
- const newlyApplied = await migrateDeploy(client, dialect, join(outDir, "migrations"), {
368
- ...(dbSchema ? { schema: dbSchema } : {}),
369
- manifest,
370
- schemaPath,
371
- });
372
- if (newlyApplied.length > 0) {
373
- console.log(`Applied new migration: ${newlyApplied.join(", ")}`);
379
+ else {
380
+ console.log(`Applied ${applied.length} migration(s):`);
381
+ for (const name of applied) {
382
+ console.log(` - ${name}`);
374
383
  }
375
384
  }
376
- if (destructiveBlocked) {
377
- process.exit(1);
385
+ if (subcommand === "dev") {
386
+ const { warnings, summary, migrationName, manifest, destructiveBlocked, } = await generateFromSchema(schemaPath, outDir, generateOptionsFromConfig(config, options, dbSchema));
387
+ for (const line of formatGenerateSummary(summary, outDir, {
388
+ ...(config.generate?.zod === true
389
+ ? { zod: true }
390
+ : {}),
391
+ ...(config.generate?.typebox === true
392
+ ? { typebox: true }
393
+ : {}),
394
+ ...(config.generate?.elysia === true
395
+ ? { elysia: true }
396
+ : {}),
397
+ })) {
398
+ console.log(line);
399
+ }
400
+ for (const warning of warnings) {
401
+ console.warn(`Warning: ${warning}`);
402
+ }
403
+ if (migrationName) {
404
+ const newlyApplied = await migrateDeploy(client, dialect, join(outDir, "migrations"), {
405
+ ...(dbSchema
406
+ ? { schema: dbSchema }
407
+ : {}),
408
+ manifest,
409
+ schemaPath,
410
+ });
411
+ if (newlyApplied.length > 0) {
412
+ console.log(`Applied new migration: ${newlyApplied.join(", ")}`);
413
+ }
414
+ }
415
+ if (destructiveBlocked) {
416
+ process.exit(1);
417
+ }
378
418
  }
419
+ return;
420
+ }
421
+ finally {
422
+ await releaseDevLock?.();
379
423
  }
380
- return;
381
424
  }
382
425
  console.error("Usage: neoorm migrate dev | deploy | status | reset | down");
383
426
  process.exit(1);
@@ -434,8 +477,11 @@ program
434
477
  const config = await loadConfig(process.cwd());
435
478
  await runDbPull(config, opts);
436
479
  });
437
- program.parseAsync(process.argv).catch((err) => {
438
- printCliError(err);
439
- process.exit(1);
440
- });
480
+ if (process.env.VITEST !== "true" &&
481
+ process.env.VITEST_WORKER_ID === undefined) {
482
+ program.parseAsync(process.argv).catch((err) => {
483
+ printCliError(err);
484
+ process.exit(1);
485
+ });
486
+ }
441
487
  //# sourceMappingURL=neoorm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"neoorm.js","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neoorm.js","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff-manifest.d.ts","sourceRoot":"","sources":["../../src/codegen/diff-manifest.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEX,iBAAiB,EACjB,OAAO,EAEP,QAAQ,EACR,cAAc,EACd,YAAY,EAGZ,SAAS,EACT,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,aAAa,CAC5B,GAAG,EAAE,cAAc,EACnB,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,GAAE,OAAyB,GAChC,MAAM,CAER;AA+CD,wBAAgB,YAAY,CAC3B,CAAC,EAAE,cAAc,EACjB,CAAC,EAAE,cAAc,EACjB,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,GAAE,OAAyB,GAChC,OAAO,CAgBT;AAkhBD,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,SAAS,EAAE,EACvB,UAAU,GAAE,MAAM,EAAO,EACzB,QAAQ,CAAC,EAAE,QAAQ,EACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EAC5D,OAAO,GAAE,OAAyB,GAChC,MAAM,EAAE,CAkDV;AAoCD,wBAAgB,YAAY,CAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,OAAyB,GAChC,YAAY,CAmEd;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAMxC;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,OAAyB,GAChC,MAAM,EAAE,CAKV;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,OAAO,EACvB,OAAO,GAAE,OAAyB,GAChC;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAwDjD;AAcD,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,GAChB,MAAM,EAAE,CA8DV;AAED,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,iBAAiB,EAAE,GAC9B,MAAM,EAAE,CAyBV"}
1
+ {"version":3,"file":"diff-manifest.d.ts","sourceRoot":"","sources":["../../src/codegen/diff-manifest.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEX,iBAAiB,EACjB,OAAO,EAEP,QAAQ,EACR,cAAc,EACd,YAAY,EAIZ,SAAS,EACT,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,aAAa,CAC5B,GAAG,EAAE,cAAc,EACnB,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,GAAE,OAAyB,GAChC,MAAM,CAER;AA6DD,wBAAgB,YAAY,CAC3B,CAAC,EAAE,cAAc,EACjB,CAAC,EAAE,cAAc,EACjB,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,GAAE,OAAyB,GAChC,OAAO,CAkBT;AA8nBD,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,SAAS,EAAE,EACvB,UAAU,GAAE,MAAM,EAAO,EACzB,QAAQ,CAAC,EAAE,QAAQ,EACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EAC5D,OAAO,GAAE,OAAyB,GAChC,MAAM,EAAE,CAkDV;AAoCD,wBAAgB,YAAY,CAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,OAAyB,GAChC,YAAY,CAmEd;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAMxC;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,OAAyB,GAChC,MAAM,EAAE,CAKV;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,OAAO,EACvB,OAAO,GAAE,OAAyB,GAChC;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAwDjD;AAcD,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,GAChB,MAAM,EAAE,CA8DV;AAED,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,iBAAiB,EAAE,GAC9B,MAAM,EAAE,CAyBV"}