@nixxie-cms/core 1.0.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 (658) hide show
  1. package/CHANGELOG.md +3158 -0
  2. package/LICENSE +21 -0
  3. package/README.md +6 -0
  4. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-id-field-view.cjs.d.ts +2 -0
  5. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-id-field-view.cjs.js +244 -0
  6. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-id-field-view.esm.js +235 -0
  7. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/package.json +4 -0
  8. package/___internal-do-not-use-will-break-in-patch/admin-ui/next-config/package.json +4 -0
  9. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-App.cjs.d.ts +2 -0
  10. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-App.cjs.js +59 -0
  11. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-App.esm.js +55 -0
  12. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/package.json +4 -0
  13. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-CreateItemPage.cjs.d.ts +2 -0
  14. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-CreateItemPage.cjs.js +116 -0
  15. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-CreateItemPage.esm.js +112 -0
  16. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/package.json +4 -0
  17. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-HomePage.cjs.d.ts +2 -0
  18. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-HomePage.cjs.js +336 -0
  19. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-HomePage.esm.js +332 -0
  20. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/package.json +4 -0
  21. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ItemPage.cjs.d.ts +2 -0
  22. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ItemPage.cjs.js +463 -0
  23. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ItemPage.esm.js +455 -0
  24. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/package.json +4 -0
  25. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ListPage.cjs.d.ts +2 -0
  26. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ListPage.cjs.js +1195 -0
  27. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ListPage.esm.js +1187 -0
  28. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/package.json +4 -0
  29. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-NoAccessPage.cjs.d.ts +2 -0
  30. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-NoAccessPage.cjs.js +40 -0
  31. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-NoAccessPage.esm.js +35 -0
  32. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/package.json +4 -0
  33. package/___internal-do-not-use-will-break-in-patch/artifacts/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-artifacts.cjs.d.ts +2 -0
  34. package/___internal-do-not-use-will-break-in-patch/artifacts/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-artifacts.cjs.js +51 -0
  35. package/___internal-do-not-use-will-break-in-patch/artifacts/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-artifacts.esm.js +38 -0
  36. package/___internal-do-not-use-will-break-in-patch/artifacts/package.json +4 -0
  37. package/access/dist/nixxie-cms-core-access.cjs.d.ts +2 -0
  38. package/access/dist/nixxie-cms-core-access.cjs.js +26 -0
  39. package/access/dist/nixxie-cms-core-access.esm.js +19 -0
  40. package/access/package.json +4 -0
  41. package/admin-ui/apollo/dist/nixxie-cms-core-admin-ui-apollo.cjs.d.ts +2 -0
  42. package/admin-ui/apollo/dist/nixxie-cms-core-admin-ui-apollo.cjs.js +87 -0
  43. package/admin-ui/apollo/dist/nixxie-cms-core-admin-ui-apollo.esm.js +2 -0
  44. package/admin-ui/apollo/package.json +4 -0
  45. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.cjs.d.ts +2 -0
  46. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.cjs.js +77 -0
  47. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.esm.js +58 -0
  48. package/admin-ui/components/package.json +4 -0
  49. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.cjs.d.ts +2 -0
  50. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.cjs.js +35 -0
  51. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.esm.js +23 -0
  52. package/admin-ui/context/package.json +4 -0
  53. package/admin-ui/image/dist/nixxie-cms-core-admin-ui-image.cjs.d.ts +3 -0
  54. package/admin-ui/image/dist/nixxie-cms-core-admin-ui-image.cjs.js +18 -0
  55. package/admin-ui/image/dist/nixxie-cms-core-admin-ui-image.esm.js +2 -0
  56. package/admin-ui/image/package.json +4 -0
  57. package/admin-ui/router/dist/nixxie-cms-core-admin-ui-router.cjs.d.ts +2 -0
  58. package/admin-ui/router/dist/nixxie-cms-core-admin-ui-router.cjs.js +34 -0
  59. package/admin-ui/router/dist/nixxie-cms-core-admin-ui-router.esm.js +12 -0
  60. package/admin-ui/router/package.json +4 -0
  61. package/admin-ui/utils/dist/nixxie-cms-core-admin-ui-utils.cjs.d.ts +2 -0
  62. package/admin-ui/utils/dist/nixxie-cms-core-admin-ui-utils.cjs.js +45 -0
  63. package/admin-ui/utils/dist/nixxie-cms-core-admin-ui-utils.esm.js +22 -0
  64. package/admin-ui/utils/package.json +4 -0
  65. package/bin/cli.js +3 -0
  66. package/context/dist/nixxie-cms-core-context.cjs.d.ts +2 -0
  67. package/context/dist/nixxie-cms-core-context.cjs.js +31 -0
  68. package/context/dist/nixxie-cms-core-context.esm.js +23 -0
  69. package/context/package.json +4 -0
  70. package/dist/CreateItemDialog-33335548.esm.js +55 -0
  71. package/dist/CreateItemDialog-56cf59b7.cjs.js +57 -0
  72. package/dist/Errors-575adfa3.cjs.js +147 -0
  73. package/dist/Errors-bf24759e.esm.js +143 -0
  74. package/dist/Field-47f85161.esm.js +278 -0
  75. package/dist/Field-ed8d7627.cjs.js +287 -0
  76. package/dist/Fields-956d9a14.esm.js +203 -0
  77. package/dist/Fields-e2c28056.cjs.js +206 -0
  78. package/dist/GraphQLErrorNotice-cd74180d.cjs.js +57 -0
  79. package/dist/GraphQLErrorNotice-d9f0931b.esm.js +55 -0
  80. package/dist/NullableFieldWrapper-6ea48af3.esm.js +71 -0
  81. package/dist/NullableFieldWrapper-daa0a080.cjs.js +74 -0
  82. package/dist/PageContainer-27c27f10.cjs.js +1144 -0
  83. package/dist/PageContainer-7db73317.esm.js +1129 -0
  84. package/dist/actionData-64d4c37a.esm.js +28 -0
  85. package/dist/actionData-7858738d.cjs.js +32 -0
  86. package/dist/admin-meta-14c60fec.esm.js +210 -0
  87. package/dist/admin-meta-18d0c276.cjs.js +217 -0
  88. package/dist/admin-meta-graphql-6f7f5331.esm.js +142 -0
  89. package/dist/admin-meta-graphql-c8f926e9.cjs.js +144 -0
  90. package/dist/common-1a350e11.cjs.js +324 -0
  91. package/dist/common-29fc82e6.esm.js +315 -0
  92. package/dist/context-3132c3ed.esm.js +419 -0
  93. package/dist/context-e7a45152.cjs.js +432 -0
  94. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.d.ts +6 -0
  95. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.d.ts.map +1 -0
  96. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.d.ts +10 -0
  97. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.d.ts.map +1 -0
  98. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.d.ts +6 -0
  99. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.d.ts.map +1 -0
  100. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.d.ts +2 -0
  101. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.d.ts.map +1 -0
  102. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.d.ts +6 -0
  103. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.d.ts.map +1 -0
  104. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.d.ts +12 -0
  105. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.d.ts.map +1 -0
  106. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.d.ts +7 -0
  107. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.d.ts.map +1 -0
  108. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/artifacts.d.ts +6 -0
  109. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/artifacts.d.ts.map +1 -0
  110. package/dist/declarations/src/access.d.ts +12 -0
  111. package/dist/declarations/src/access.d.ts.map +1 -0
  112. package/dist/declarations/src/admin-ui/apollo.d.ts +8 -0
  113. package/dist/declarations/src/admin-ui/apollo.d.ts.map +1 -0
  114. package/dist/declarations/src/admin-ui/components/CellContainer.d.ts +5 -0
  115. package/dist/declarations/src/admin-ui/components/CellContainer.d.ts.map +1 -0
  116. package/dist/declarations/src/admin-ui/components/CreateItemDialog.d.ts +5 -0
  117. package/dist/declarations/src/admin-ui/components/CreateItemDialog.d.ts.map +1 -0
  118. package/dist/declarations/src/admin-ui/components/Errors.d.ts +28 -0
  119. package/dist/declarations/src/admin-ui/components/Errors.d.ts.map +1 -0
  120. package/dist/declarations/src/admin-ui/components/GraphQLErrorNotice.d.ts +6 -0
  121. package/dist/declarations/src/admin-ui/components/GraphQLErrorNotice.d.ts.map +1 -0
  122. package/dist/declarations/src/admin-ui/components/InlineCode.d.ts +3 -0
  123. package/dist/declarations/src/admin-ui/components/InlineCode.d.ts.map +1 -0
  124. package/dist/declarations/src/admin-ui/components/Logo.d.ts +2 -0
  125. package/dist/declarations/src/admin-ui/components/Logo.d.ts.map +1 -0
  126. package/dist/declarations/src/admin-ui/components/Navigation.d.ts +22 -0
  127. package/dist/declarations/src/admin-ui/components/Navigation.d.ts.map +1 -0
  128. package/dist/declarations/src/admin-ui/components/NullableFieldWrapper.d.ts +33 -0
  129. package/dist/declarations/src/admin-ui/components/NullableFieldWrapper.d.ts.map +1 -0
  130. package/dist/declarations/src/admin-ui/components/PageContainer.d.ts +10 -0
  131. package/dist/declarations/src/admin-ui/components/PageContainer.d.ts.map +1 -0
  132. package/dist/declarations/src/admin-ui/components/index.d.ts +11 -0
  133. package/dist/declarations/src/admin-ui/components/index.d.ts.map +1 -0
  134. package/dist/declarations/src/admin-ui/context.d.ts +50 -0
  135. package/dist/declarations/src/admin-ui/context.d.ts.map +1 -0
  136. package/dist/declarations/src/admin-ui/image.d.ts +3 -0
  137. package/dist/declarations/src/admin-ui/image.d.ts.map +1 -0
  138. package/dist/declarations/src/admin-ui/router.d.ts +15 -0
  139. package/dist/declarations/src/admin-ui/router.d.ts.map +1 -0
  140. package/dist/declarations/src/admin-ui/utils/Fields.d.ts +16 -0
  141. package/dist/declarations/src/admin-ui/utils/Fields.d.ts.map +1 -0
  142. package/dist/declarations/src/admin-ui/utils/filters.d.ts +10 -0
  143. package/dist/declarations/src/admin-ui/utils/filters.d.ts.map +1 -0
  144. package/dist/declarations/src/admin-ui/utils/index.d.ts +8 -0
  145. package/dist/declarations/src/admin-ui/utils/index.d.ts.map +1 -0
  146. package/dist/declarations/src/admin-ui/utils/useCreateItem.d.ts +24 -0
  147. package/dist/declarations/src/admin-ui/utils/useCreateItem.d.ts.map +1 -0
  148. package/dist/declarations/src/admin-ui/utils/utils.d.ts +8 -0
  149. package/dist/declarations/src/admin-ui/utils/utils.d.ts.map +1 -0
  150. package/dist/declarations/src/artifacts.d.ts +14 -0
  151. package/dist/declarations/src/artifacts.d.ts.map +1 -0
  152. package/dist/declarations/src/context.d.ts +2 -0
  153. package/dist/declarations/src/context.d.ts.map +1 -0
  154. package/dist/declarations/src/fields/filters/enum-filter.d.ts +27 -0
  155. package/dist/declarations/src/fields/filters/enum-filter.d.ts.map +1 -0
  156. package/dist/declarations/src/fields/filters/index.d.ts +2 -0
  157. package/dist/declarations/src/fields/filters/index.d.ts.map +1 -0
  158. package/dist/declarations/src/fields/filters/internal.d.ts +21 -0
  159. package/dist/declarations/src/fields/filters/internal.d.ts.map +1 -0
  160. package/dist/declarations/src/fields/filters/providers/mysql.d.ts +182 -0
  161. package/dist/declarations/src/fields/filters/providers/mysql.d.ts.map +1 -0
  162. package/dist/declarations/src/fields/filters/providers/postgresql.d.ts +182 -0
  163. package/dist/declarations/src/fields/filters/providers/postgresql.d.ts.map +1 -0
  164. package/dist/declarations/src/fields/filters/providers/sqlite.d.ts +179 -0
  165. package/dist/declarations/src/fields/filters/providers/sqlite.d.ts.map +1 -0
  166. package/dist/declarations/src/fields/index.d.ts +35 -0
  167. package/dist/declarations/src/fields/index.d.ts.map +1 -0
  168. package/dist/declarations/src/fields/types/bigInt/index.d.ts +20 -0
  169. package/dist/declarations/src/fields/types/bigInt/index.d.ts.map +1 -0
  170. package/dist/declarations/src/fields/types/bigInt/views/index.d.ts +24 -0
  171. package/dist/declarations/src/fields/types/bigInt/views/index.d.ts.map +1 -0
  172. package/dist/declarations/src/fields/types/bytes/index.d.ts +70 -0
  173. package/dist/declarations/src/fields/types/bytes/index.d.ts.map +1 -0
  174. package/dist/declarations/src/fields/types/bytes/views/index.d.ts +24 -0
  175. package/dist/declarations/src/fields/types/bytes/views/index.d.ts.map +1 -0
  176. package/dist/declarations/src/fields/types/calendarDay/index.d.ts +15 -0
  177. package/dist/declarations/src/fields/types/calendarDay/index.d.ts.map +1 -0
  178. package/dist/declarations/src/fields/types/calendarDay/views/index.d.ts +18 -0
  179. package/dist/declarations/src/fields/types/calendarDay/views/index.d.ts.map +1 -0
  180. package/dist/declarations/src/fields/types/checkbox/index.d.ts +11 -0
  181. package/dist/declarations/src/fields/types/checkbox/index.d.ts.map +1 -0
  182. package/dist/declarations/src/fields/types/checkbox/views/index.d.ts +9 -0
  183. package/dist/declarations/src/fields/types/checkbox/views/index.d.ts.map +1 -0
  184. package/dist/declarations/src/fields/types/decimal/index.d.ts +20 -0
  185. package/dist/declarations/src/fields/types/decimal/index.d.ts.map +1 -0
  186. package/dist/declarations/src/fields/types/decimal/views/index.d.ts +22 -0
  187. package/dist/declarations/src/fields/types/decimal/views/index.d.ts.map +1 -0
  188. package/dist/declarations/src/fields/types/file/index.d.ts +34 -0
  189. package/dist/declarations/src/fields/types/file/index.d.ts.map +1 -0
  190. package/dist/declarations/src/fields/types/file/views/Field.d.ts +17 -0
  191. package/dist/declarations/src/fields/types/file/views/Field.d.ts.map +1 -0
  192. package/dist/declarations/src/fields/types/file/views/index.d.ts +29 -0
  193. package/dist/declarations/src/fields/types/file/views/index.d.ts.map +1 -0
  194. package/dist/declarations/src/fields/types/float/index.d.ts +18 -0
  195. package/dist/declarations/src/fields/types/float/index.d.ts.map +1 -0
  196. package/dist/declarations/src/fields/types/float/views/index.d.ts +22 -0
  197. package/dist/declarations/src/fields/types/float/views/index.d.ts.map +1 -0
  198. package/dist/declarations/src/fields/types/image/index.d.ts +34 -0
  199. package/dist/declarations/src/fields/types/image/index.d.ts.map +1 -0
  200. package/dist/declarations/src/fields/types/image/utils.d.ts +2 -0
  201. package/dist/declarations/src/fields/types/image/utils.d.ts.map +1 -0
  202. package/dist/declarations/src/fields/types/image/views/Field.d.ts +4 -0
  203. package/dist/declarations/src/fields/types/image/views/Field.d.ts.map +1 -0
  204. package/dist/declarations/src/fields/types/image/views/index.d.ts +49 -0
  205. package/dist/declarations/src/fields/types/image/views/index.d.ts.map +1 -0
  206. package/dist/declarations/src/fields/types/integer/index.d.ts +20 -0
  207. package/dist/declarations/src/fields/types/integer/index.d.ts.map +1 -0
  208. package/dist/declarations/src/fields/types/integer/views/index.d.ts +23 -0
  209. package/dist/declarations/src/fields/types/integer/views/index.d.ts.map +1 -0
  210. package/dist/declarations/src/fields/types/json/index.d.ts +25 -0
  211. package/dist/declarations/src/fields/types/json/index.d.ts.map +1 -0
  212. package/dist/declarations/src/fields/types/json/views/index.d.ts +9 -0
  213. package/dist/declarations/src/fields/types/json/views/index.d.ts.map +1 -0
  214. package/dist/declarations/src/fields/types/multiselect/index.d.ts +50 -0
  215. package/dist/declarations/src/fields/types/multiselect/index.d.ts.map +1 -0
  216. package/dist/declarations/src/fields/types/multiselect/views/index.d.ts +26 -0
  217. package/dist/declarations/src/fields/types/multiselect/views/index.d.ts.map +1 -0
  218. package/dist/declarations/src/fields/types/password/index.d.ts +49 -0
  219. package/dist/declarations/src/fields/types/password/index.d.ts.map +1 -0
  220. package/dist/declarations/src/fields/types/password/views/index.d.ts +47 -0
  221. package/dist/declarations/src/fields/types/password/views/index.d.ts.map +1 -0
  222. package/dist/declarations/src/fields/types/relationship/index.d.ts +113 -0
  223. package/dist/declarations/src/fields/types/relationship/index.d.ts.map +1 -0
  224. package/dist/declarations/src/fields/types/relationship/views/ComboboxMany.d.ts +26 -0
  225. package/dist/declarations/src/fields/types/relationship/views/ComboboxMany.d.ts.map +1 -0
  226. package/dist/declarations/src/fields/types/relationship/views/ComboboxSingle.d.ts +24 -0
  227. package/dist/declarations/src/fields/types/relationship/views/ComboboxSingle.d.ts.map +1 -0
  228. package/dist/declarations/src/fields/types/relationship/views/index.d.ts +27 -0
  229. package/dist/declarations/src/fields/types/relationship/views/index.d.ts.map +1 -0
  230. package/dist/declarations/src/fields/types/relationship/views/types.d.ts +39 -0
  231. package/dist/declarations/src/fields/types/relationship/views/types.d.ts.map +1 -0
  232. package/dist/declarations/src/fields/types/select/index.d.ts +42 -0
  233. package/dist/declarations/src/fields/types/select/index.d.ts.map +1 -0
  234. package/dist/declarations/src/fields/types/select/views/index.d.ts +32 -0
  235. package/dist/declarations/src/fields/types/select/views/index.d.ts.map +1 -0
  236. package/dist/declarations/src/fields/types/text/index.d.ts +58 -0
  237. package/dist/declarations/src/fields/types/text/index.d.ts.map +1 -0
  238. package/dist/declarations/src/fields/types/text/views/index.d.ts +36 -0
  239. package/dist/declarations/src/fields/types/text/views/index.d.ts.map +1 -0
  240. package/dist/declarations/src/fields/types/timestamp/index.d.ts +19 -0
  241. package/dist/declarations/src/fields/types/timestamp/index.d.ts.map +1 -0
  242. package/dist/declarations/src/fields/types/timestamp/views/index.d.ts +14 -0
  243. package/dist/declarations/src/fields/types/timestamp/views/index.d.ts.map +1 -0
  244. package/dist/declarations/src/fields/types/timestamp/views/utils.d.ts +14 -0
  245. package/dist/declarations/src/fields/types/timestamp/views/utils.d.ts.map +1 -0
  246. package/dist/declarations/src/fields/types/virtual/index.d.ts +40 -0
  247. package/dist/declarations/src/fields/types/virtual/index.d.ts.map +1 -0
  248. package/dist/declarations/src/fields/types/virtual/views/index.d.ts +7 -0
  249. package/dist/declarations/src/fields/types/virtual/views/index.d.ts.map +1 -0
  250. package/dist/declarations/src/graphql-ts.d.ts +5 -0
  251. package/dist/declarations/src/graphql-ts.d.ts.map +1 -0
  252. package/dist/declarations/src/helpers.d.ts +121 -0
  253. package/dist/declarations/src/helpers.d.ts.map +1 -0
  254. package/dist/declarations/src/index.d.ts +6 -0
  255. package/dist/declarations/src/index.d.ts.map +1 -0
  256. package/dist/declarations/src/lib/admin-meta.d.ts +71 -0
  257. package/dist/declarations/src/lib/admin-meta.d.ts.map +1 -0
  258. package/dist/declarations/src/lib/core/access-control.d.ts +39 -0
  259. package/dist/declarations/src/lib/core/access-control.d.ts.map +1 -0
  260. package/dist/declarations/src/lib/core/initialise-lists.d.ts +131 -0
  261. package/dist/declarations/src/lib/core/initialise-lists.d.ts.map +1 -0
  262. package/dist/declarations/src/lib/core/resolve-relationships.d.ts +30 -0
  263. package/dist/declarations/src/lib/core/resolve-relationships.d.ts.map +1 -0
  264. package/dist/declarations/src/lib/core/where-inputs.d.ts +15 -0
  265. package/dist/declarations/src/lib/core/where-inputs.d.ts.map +1 -0
  266. package/dist/declarations/src/lib/express.d.ts +10 -0
  267. package/dist/declarations/src/lib/express.d.ts.map +1 -0
  268. package/dist/declarations/src/lib/migrations.d.ts +13 -0
  269. package/dist/declarations/src/lib/migrations.d.ts.map +1 -0
  270. package/dist/declarations/src/lib/system.d.ts +35 -0
  271. package/dist/declarations/src/lib/system.d.ts.map +1 -0
  272. package/dist/declarations/src/schema.d.ts +40 -0
  273. package/dist/declarations/src/schema.d.ts.map +1 -0
  274. package/dist/declarations/src/scripts/cli.d.ts +11 -0
  275. package/dist/declarations/src/scripts/cli.d.ts.map +1 -0
  276. package/dist/declarations/src/scripts/index.d.ts +2 -0
  277. package/dist/declarations/src/scripts/index.d.ts.map +1 -0
  278. package/dist/declarations/src/scripts/utils.d.ts +7 -0
  279. package/dist/declarations/src/scripts/utils.d.ts.map +1 -0
  280. package/dist/declarations/src/session.d.ts +86 -0
  281. package/dist/declarations/src/session.d.ts.map +1 -0
  282. package/dist/declarations/src/testing.d.ts +2 -0
  283. package/dist/declarations/src/testing.d.ts.map +1 -0
  284. package/dist/declarations/src/types/admin-meta.d.ts +190 -0
  285. package/dist/declarations/src/types/admin-meta.d.ts.map +1 -0
  286. package/dist/declarations/src/types/config/access-control.d.ts +108 -0
  287. package/dist/declarations/src/types/config/access-control.d.ts.map +1 -0
  288. package/dist/declarations/src/types/config/fields.d.ts +67 -0
  289. package/dist/declarations/src/types/config/fields.d.ts.map +1 -0
  290. package/dist/declarations/src/types/config/hooks.d.ts +441 -0
  291. package/dist/declarations/src/types/config/hooks.d.ts.map +1 -0
  292. package/dist/declarations/src/types/config/index.d.ts +283 -0
  293. package/dist/declarations/src/types/config/index.d.ts.map +1 -0
  294. package/dist/declarations/src/types/config/lists.d.ts +430 -0
  295. package/dist/declarations/src/types/config/lists.d.ts.map +1 -0
  296. package/dist/declarations/src/types/context.d.ts +458 -0
  297. package/dist/declarations/src/types/context.d.ts.map +1 -0
  298. package/dist/declarations/src/types/core.d.ts +9 -0
  299. package/dist/declarations/src/types/core.d.ts.map +1 -0
  300. package/dist/declarations/src/types/index.d.ts +9 -0
  301. package/dist/declarations/src/types/index.d.ts.map +1 -0
  302. package/dist/declarations/src/types/next-fields.d.ts +308 -0
  303. package/dist/declarations/src/types/next-fields.d.ts.map +1 -0
  304. package/dist/declarations/src/types/prisma.d.ts +13 -0
  305. package/dist/declarations/src/types/prisma.d.ts.map +1 -0
  306. package/dist/declarations/src/types/schema/g.d.ts +7 -0
  307. package/dist/declarations/src/types/schema/g.d.ts.map +1 -0
  308. package/dist/declarations/src/types/schema/gWithContext.d.ts +12 -0
  309. package/dist/declarations/src/types/schema/gWithContext.d.ts.map +1 -0
  310. package/dist/declarations/src/types/schema/index.d.ts +4 -0
  311. package/dist/declarations/src/types/schema/index.d.ts.map +1 -0
  312. package/dist/declarations/src/types/schema/legacy-alias.d.ts +28 -0
  313. package/dist/declarations/src/types/schema/scalars.d.ts +22 -0
  314. package/dist/declarations/src/types/schema/scalars.d.ts.map +1 -0
  315. package/dist/declarations/src/types/session.d.ts +28 -0
  316. package/dist/declarations/src/types/session.d.ts.map +1 -0
  317. package/dist/declarations/src/types/type-info.d.ts +35 -0
  318. package/dist/declarations/src/types/type-info.d.ts.map +1 -0
  319. package/dist/declarations/src/types/utils.d.ts +78 -0
  320. package/dist/declarations/src/types/utils.d.ts.map +1 -0
  321. package/dist/declarations/types/dist/nixxie-cms-core-types.cjs.d.ts +2 -0
  322. package/dist/express-6743b918.esm.js +476 -0
  323. package/dist/express-e9ed9a7d.cjs.js +495 -0
  324. package/dist/filters-8c8616f9.esm.js +89 -0
  325. package/dist/filters-b3e5eb50.cjs.js +96 -0
  326. package/dist/index-24b78415.esm.js +419 -0
  327. package/dist/index-ac01583b.cjs.js +425 -0
  328. package/dist/migrations-996e66a0.esm.js +76 -0
  329. package/dist/migrations-ab2e0fd4.cjs.js +78 -0
  330. package/dist/next-fields-49c025ef.cjs.js +251 -0
  331. package/dist/next-fields-9bf04ed8.esm.js +241 -0
  332. package/dist/nixxie-cms-core.cjs.d.ts +2 -0
  333. package/dist/nixxie-cms-core.cjs.js +522 -0
  334. package/dist/nixxie-cms-core.esm.js +504 -0
  335. package/dist/non-null-graphql-17b83ddc.cjs.js +72 -0
  336. package/dist/non-null-graphql-5315718c.esm.js +67 -0
  337. package/dist/pick-5fe45878.cjs.js +71 -0
  338. package/dist/pick-b7ef3115.esm.js +68 -0
  339. package/dist/resolve-hooks-17aafd37.esm.js +2026 -0
  340. package/dist/resolve-hooks-66fe8a8e.cjs.js +2043 -0
  341. package/dist/system-48c5f6df.cjs.js +4283 -0
  342. package/dist/system-dfec2f0a.esm.js +4273 -0
  343. package/dist/useCreateItem-1be4987e.cjs.js +160 -0
  344. package/dist/useCreateItem-1f94d252.esm.js +157 -0
  345. package/dist/useFilter-0b5a1ee6.esm.js +118 -0
  346. package/dist/useFilter-1a4e6900.cjs.js +120 -0
  347. package/dist/utils-0cc426c8.esm.js +19 -0
  348. package/dist/utils-1b632a8f.cjs.js +21 -0
  349. package/dist/utils-230cddb1.cjs.js +150 -0
  350. package/dist/utils-5e1d4d28.esm.js +138 -0
  351. package/dist/utils-b031e11c.cjs.js +49 -0
  352. package/dist/utils-e74e3527.cjs.js +87 -0
  353. package/dist/utils-ef2cd0f4.esm.js +80 -0
  354. package/dist/utils-f9556354.esm.js +41 -0
  355. package/fields/dist/nixxie-cms-core-fields.cjs.d.ts +2 -0
  356. package/fields/dist/nixxie-cms-core-fields.cjs.js +1808 -0
  357. package/fields/dist/nixxie-cms-core-fields.esm.js +1785 -0
  358. package/fields/package.json +4 -0
  359. package/fields/types/bigInt/views/dist/nixxie-cms-core-fields-types-bigInt-views.cjs.d.ts +2 -0
  360. package/fields/types/bigInt/views/dist/nixxie-cms-core-fields-types-bigInt-views.cjs.js +258 -0
  361. package/fields/types/bigInt/views/dist/nixxie-cms-core-fields-types-bigInt-views.esm.js +253 -0
  362. package/fields/types/bigInt/views/package.json +4 -0
  363. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.cjs.d.ts +2 -0
  364. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.cjs.js +221 -0
  365. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.esm.js +216 -0
  366. package/fields/types/bytes/package.json +4 -0
  367. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.cjs.d.ts +2 -0
  368. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.cjs.js +239 -0
  369. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.esm.js +234 -0
  370. package/fields/types/bytes/views/package.json +4 -0
  371. package/fields/types/calendarDay/views/dist/nixxie-cms-core-fields-types-calendarDay-views.cjs.d.ts +2 -0
  372. package/fields/types/calendarDay/views/dist/nixxie-cms-core-fields-types-calendarDay-views.cjs.js +147 -0
  373. package/fields/types/calendarDay/views/dist/nixxie-cms-core-fields-types-calendarDay-views.esm.js +141 -0
  374. package/fields/types/calendarDay/views/package.json +4 -0
  375. package/fields/types/checkbox/views/dist/nixxie-cms-core-fields-types-checkbox-views.cjs.d.ts +2 -0
  376. package/fields/types/checkbox/views/dist/nixxie-cms-core-fields-types-checkbox-views.cjs.js +126 -0
  377. package/fields/types/checkbox/views/dist/nixxie-cms-core-fields-types-checkbox-views.esm.js +120 -0
  378. package/fields/types/checkbox/views/package.json +4 -0
  379. package/fields/types/decimal/views/dist/nixxie-cms-core-fields-types-decimal-views.cjs.d.ts +2 -0
  380. package/fields/types/decimal/views/dist/nixxie-cms-core-fields-types-decimal-views.cjs.js +248 -0
  381. package/fields/types/decimal/views/dist/nixxie-cms-core-fields-types-decimal-views.esm.js +239 -0
  382. package/fields/types/decimal/views/package.json +4 -0
  383. package/fields/types/file/utils/package.json +4 -0
  384. package/fields/types/file/views/dist/nixxie-cms-core-fields-types-file-views.cjs.d.ts +2 -0
  385. package/fields/types/file/views/dist/nixxie-cms-core-fields-types-file-views.cjs.js +86 -0
  386. package/fields/types/file/views/dist/nixxie-cms-core-fields-types-file-views.esm.js +81 -0
  387. package/fields/types/file/views/package.json +4 -0
  388. package/fields/types/float/views/dist/nixxie-cms-core-fields-types-float-views.cjs.d.ts +2 -0
  389. package/fields/types/float/views/dist/nixxie-cms-core-fields-types-float-views.cjs.js +237 -0
  390. package/fields/types/float/views/dist/nixxie-cms-core-fields-types-float-views.esm.js +232 -0
  391. package/fields/types/float/views/package.json +4 -0
  392. package/fields/types/image/utils/dist/nixxie-cms-core-fields-types-image-utils.cjs.d.ts +2 -0
  393. package/fields/types/image/utils/dist/nixxie-cms-core-fields-types-image-utils.cjs.js +7 -0
  394. package/fields/types/image/utils/dist/nixxie-cms-core-fields-types-image-utils.esm.js +3 -0
  395. package/fields/types/image/utils/package.json +4 -0
  396. package/fields/types/image/views/dist/nixxie-cms-core-fields-types-image-views.cjs.d.ts +2 -0
  397. package/fields/types/image/views/dist/nixxie-cms-core-fields-types-image-views.cjs.js +361 -0
  398. package/fields/types/image/views/dist/nixxie-cms-core-fields-types-image-views.esm.js +354 -0
  399. package/fields/types/image/views/package.json +4 -0
  400. package/fields/types/integer/views/dist/nixxie-cms-core-fields-types-integer-views.cjs.d.ts +2 -0
  401. package/fields/types/integer/views/dist/nixxie-cms-core-fields-types-integer-views.cjs.js +254 -0
  402. package/fields/types/integer/views/dist/nixxie-cms-core-fields-types-integer-views.esm.js +249 -0
  403. package/fields/types/integer/views/package.json +4 -0
  404. package/fields/types/json/views/dist/nixxie-cms-core-fields-types-json-views.cjs.d.ts +2 -0
  405. package/fields/types/json/views/dist/nixxie-cms-core-fields-types-json-views.cjs.js +83 -0
  406. package/fields/types/json/views/dist/nixxie-cms-core-fields-types-json-views.esm.js +77 -0
  407. package/fields/types/json/views/package.json +4 -0
  408. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.cjs.d.ts +2 -0
  409. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.cjs.js +147 -0
  410. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.esm.js +141 -0
  411. package/fields/types/multiselect/views/package.json +4 -0
  412. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.cjs.d.ts +2 -0
  413. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.cjs.js +206 -0
  414. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.esm.js +196 -0
  415. package/fields/types/password/package.json +4 -0
  416. package/fields/types/password/views/dist/nixxie-cms-core-fields-types-password-views.cjs.d.ts +2 -0
  417. package/fields/types/password/views/dist/nixxie-cms-core-fields-types-password-views.cjs.js +330 -0
  418. package/fields/types/password/views/dist/nixxie-cms-core-fields-types-password-views.esm.js +320 -0
  419. package/fields/types/password/views/package.json +4 -0
  420. package/fields/types/relationship/views/RelationshipSelect/package.json +4 -0
  421. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.cjs.d.ts +2 -0
  422. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.cjs.js +1213 -0
  423. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.esm.js +1201 -0
  424. package/fields/types/relationship/views/package.json +4 -0
  425. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.cjs.d.ts +2 -0
  426. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.cjs.js +422 -0
  427. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.esm.js +416 -0
  428. package/fields/types/select/views/package.json +4 -0
  429. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.cjs.d.ts +2 -0
  430. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.cjs.js +316 -0
  431. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.esm.js +311 -0
  432. package/fields/types/text/views/package.json +4 -0
  433. package/fields/types/timestamp/views/dist/nixxie-cms-core-fields-types-timestamp-views.cjs.d.ts +2 -0
  434. package/fields/types/timestamp/views/dist/nixxie-cms-core-fields-types-timestamp-views.cjs.js +285 -0
  435. package/fields/types/timestamp/views/dist/nixxie-cms-core-fields-types-timestamp-views.esm.js +279 -0
  436. package/fields/types/timestamp/views/package.json +4 -0
  437. package/fields/types/virtual/views/dist/nixxie-cms-core-fields-types-virtual-views.cjs.d.ts +2 -0
  438. package/fields/types/virtual/views/dist/nixxie-cms-core-fields-types-virtual-views.cjs.js +54 -0
  439. package/fields/types/virtual/views/dist/nixxie-cms-core-fields-types-virtual-views.esm.js +48 -0
  440. package/fields/types/virtual/views/package.json +4 -0
  441. package/graphql-ts/dist/nixxie-cms-core-graphql-ts.cjs.d.ts +2 -0
  442. package/graphql-ts/dist/nixxie-cms-core-graphql-ts.cjs.js +45 -0
  443. package/graphql-ts/dist/nixxie-cms-core-graphql-ts.esm.js +2 -0
  444. package/graphql-ts/package.json +4 -0
  445. package/package.json +339 -0
  446. package/schema/package.json +4 -0
  447. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.cjs.d.ts +2 -0
  448. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.cjs.js +1607 -0
  449. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.esm.js +1586 -0
  450. package/scripts/cli/package.json +4 -0
  451. package/scripts/dist/nixxie-cms-core-scripts.cjs.d.ts +2 -0
  452. package/scripts/dist/nixxie-cms-core-scripts.cjs.js +73 -0
  453. package/scripts/dist/nixxie-cms-core-scripts.esm.js +71 -0
  454. package/scripts/package.json +4 -0
  455. package/session/dist/nixxie-cms-core-session.cjs.d.ts +2 -0
  456. package/session/dist/nixxie-cms-core-session.cjs.js +157 -0
  457. package/session/dist/nixxie-cms-core-session.esm.js +129 -0
  458. package/session/package.json +4 -0
  459. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.tsx +167 -0
  460. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.tsx +22 -0
  461. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.tsx +71 -0
  462. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.tsx +333 -0
  463. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/common.tsx +358 -0
  464. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.tsx +483 -0
  465. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/FilterAdd.tsx +221 -0
  466. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/PaginationControls.tsx +170 -0
  467. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/Tag.tsx +72 -0
  468. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.tsx +1006 -0
  469. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.tsx +24 -0
  470. package/src/___internal-do-not-use-will-break-in-patch/artifacts.ts +5 -0
  471. package/src/access.ts +25 -0
  472. package/src/admin-ui/admin-meta-graphql.ts +168 -0
  473. package/src/admin-ui/apollo.tsx +35 -0
  474. package/src/admin-ui/components/CellContainer.tsx +6 -0
  475. package/src/admin-ui/components/CommandPalette.tsx +431 -0
  476. package/src/admin-ui/components/Container.tsx +14 -0
  477. package/src/admin-ui/components/CreateButtonLink.tsx +46 -0
  478. package/src/admin-ui/components/CreateItemDialog.tsx +56 -0
  479. package/src/admin-ui/components/EmptyState.tsx +52 -0
  480. package/src/admin-ui/components/Errors.tsx +130 -0
  481. package/src/admin-ui/components/GraphQLErrorNotice.tsx +78 -0
  482. package/src/admin-ui/components/InlineCode.tsx +17 -0
  483. package/src/admin-ui/components/Logo.tsx +70 -0
  484. package/src/admin-ui/components/Navigation.tsx +385 -0
  485. package/src/admin-ui/components/NullableFieldWrapper.tsx +72 -0
  486. package/src/admin-ui/components/PageContainer.tsx +310 -0
  487. package/src/admin-ui/components/WelcomeDialog.tsx +119 -0
  488. package/src/admin-ui/components/index.ts +23 -0
  489. package/src/admin-ui/context.tsx +338 -0
  490. package/src/admin-ui/image.tsx +2 -0
  491. package/src/admin-ui/index.tsx +1 -0
  492. package/src/admin-ui/router.tsx +24 -0
  493. package/src/admin-ui/system/generateAdminUI.ts +155 -0
  494. package/src/admin-ui/system/index.ts +1 -0
  495. package/src/admin-ui/templates/app.ts +60 -0
  496. package/src/admin-ui/templates/create-item.ts +5 -0
  497. package/src/admin-ui/templates/home.ts +2 -0
  498. package/src/admin-ui/templates/index.ts +53 -0
  499. package/src/admin-ui/templates/item.tsx +5 -0
  500. package/src/admin-ui/templates/list.tsx +5 -0
  501. package/src/admin-ui/templates/next-config.ts +16 -0
  502. package/src/admin-ui/templates/no-access.ts +7 -0
  503. package/src/admin-ui/utils/Fields.tsx +241 -0
  504. package/src/admin-ui/utils/actionData.ts +36 -0
  505. package/src/admin-ui/utils/filters.ts +148 -0
  506. package/src/admin-ui/utils/index.ts +10 -0
  507. package/src/admin-ui/utils/pick.ts +12 -0
  508. package/src/admin-ui/utils/useCreateItem.ts +171 -0
  509. package/src/admin-ui/utils/usePreventNavigation.tsx +31 -0
  510. package/src/admin-ui/utils/utils.tsx +127 -0
  511. package/src/artifacts.ts +110 -0
  512. package/src/context.ts +1 -0
  513. package/src/fields/filters/enum-filter.ts +77 -0
  514. package/src/fields/filters/index.ts +1 -0
  515. package/src/fields/filters/internal.ts +89 -0
  516. package/src/fields/filters/providers/mysql.ts +450 -0
  517. package/src/fields/filters/providers/postgresql.ts +448 -0
  518. package/src/fields/filters/providers/sqlite.ts +442 -0
  519. package/src/fields/index.ts +34 -0
  520. package/src/fields/non-null-graphql.ts +115 -0
  521. package/src/fields/resolve-hooks.ts +61 -0
  522. package/src/fields/types/bigInt/index.ts +181 -0
  523. package/src/fields/types/bigInt/views/index.tsx +254 -0
  524. package/src/fields/types/bytes/index.ts +275 -0
  525. package/src/fields/types/bytes/views/index.tsx +190 -0
  526. package/src/fields/types/calendarDay/index.ts +194 -0
  527. package/src/fields/types/calendarDay/views/index.tsx +144 -0
  528. package/src/fields/types/checkbox/index.ts +76 -0
  529. package/src/fields/types/checkbox/views/index.tsx +97 -0
  530. package/src/fields/types/decimal/index.ts +182 -0
  531. package/src/fields/types/decimal/views/index.tsx +215 -0
  532. package/src/fields/types/file/index.ts +168 -0
  533. package/src/fields/types/file/views/Field.tsx +300 -0
  534. package/src/fields/types/file/views/index.tsx +74 -0
  535. package/src/fields/types/float/index.ts +133 -0
  536. package/src/fields/types/float/views/index.tsx +215 -0
  537. package/src/fields/types/image/index.ts +244 -0
  538. package/src/fields/types/image/internal-utils.ts +58 -0
  539. package/src/fields/types/image/utils.ts +1 -0
  540. package/src/fields/types/image/views/Field.tsx +295 -0
  541. package/src/fields/types/image/views/index.tsx +92 -0
  542. package/src/fields/types/integer/index.ts +156 -0
  543. package/src/fields/types/integer/views/index.tsx +255 -0
  544. package/src/fields/types/json/index.ts +77 -0
  545. package/src/fields/types/json/views/index.tsx +76 -0
  546. package/src/fields/types/multiselect/index.ts +212 -0
  547. package/src/fields/types/multiselect/views/index.tsx +151 -0
  548. package/src/fields/types/password/index.ts +241 -0
  549. package/src/fields/types/password/views/index.tsx +342 -0
  550. package/src/fields/types/relationship/index.ts +381 -0
  551. package/src/fields/types/relationship/views/ComboboxMany.tsx +110 -0
  552. package/src/fields/types/relationship/views/ComboboxSingle.tsx +115 -0
  553. package/src/fields/types/relationship/views/ContextualActions.tsx +139 -0
  554. package/src/fields/types/relationship/views/RelationshipTable.tsx +190 -0
  555. package/src/fields/types/relationship/views/index.tsx +492 -0
  556. package/src/fields/types/relationship/views/types.ts +46 -0
  557. package/src/fields/types/relationship/views/useApolloQuery.ts +185 -0
  558. package/src/fields/types/relationship/views/useFilter.tsx +109 -0
  559. package/src/fields/types/select/index.ts +226 -0
  560. package/src/fields/types/select/views/SegmentedControl.tsx +83 -0
  561. package/src/fields/types/select/views/index.tsx +318 -0
  562. package/src/fields/types/text/index.ts +207 -0
  563. package/src/fields/types/text/views/index.tsx +273 -0
  564. package/src/fields/types/timestamp/index.ts +116 -0
  565. package/src/fields/types/timestamp/views/__tests__/index.tsx +68 -0
  566. package/src/fields/types/timestamp/views/__tests__/utils.tsx +16 -0
  567. package/src/fields/types/timestamp/views/index.tsx +262 -0
  568. package/src/fields/types/timestamp/views/utils.ts +22 -0
  569. package/src/fields/types/virtual/index.ts +108 -0
  570. package/src/fields/types/virtual/views/index.tsx +53 -0
  571. package/src/graphql-ts.ts +32 -0
  572. package/src/helpers.ts +316 -0
  573. package/src/index.ts +20 -0
  574. package/src/lib/admin-meta-graphql.ts +407 -0
  575. package/src/lib/admin-meta.ts +369 -0
  576. package/src/lib/coerceAndValidateForGraphQLInput.ts +29 -0
  577. package/src/lib/context/api.ts +99 -0
  578. package/src/lib/context/createContext.ts +161 -0
  579. package/src/lib/context/graphql.ts +300 -0
  580. package/src/lib/core/access-control.ts +434 -0
  581. package/src/lib/core/field-assertions.ts +118 -0
  582. package/src/lib/core/filter-order-access.ts +48 -0
  583. package/src/lib/core/graphql-errors.ts +76 -0
  584. package/src/lib/core/hooks.ts +111 -0
  585. package/src/lib/core/initialise-lists.ts +1097 -0
  586. package/src/lib/core/mutations/index.ts +917 -0
  587. package/src/lib/core/mutations/nested-mutation-many-input-resolvers.ts +145 -0
  588. package/src/lib/core/mutations/nested-mutation-one-input-resolvers.ts +71 -0
  589. package/src/lib/core/prisma-schema-printer.ts +256 -0
  590. package/src/lib/core/queries/index.ts +66 -0
  591. package/src/lib/core/queries/output-field.ts +178 -0
  592. package/src/lib/core/queries/resolvers.ts +258 -0
  593. package/src/lib/core/resolve-relationships.ts +303 -0
  594. package/src/lib/core/utils.ts +56 -0
  595. package/src/lib/core/where-inputs.ts +130 -0
  596. package/src/lib/express.ts +109 -0
  597. package/src/lib/graphql.ts +83 -0
  598. package/src/lib/id-field.ts +214 -0
  599. package/src/lib/middleware.ts +68 -0
  600. package/src/lib/migrations.ts +90 -0
  601. package/src/lib/otel.ts +43 -0
  602. package/src/lib/prompts.ts +29 -0
  603. package/src/lib/system.ts +207 -0
  604. package/src/lib/telemetry.ts +342 -0
  605. package/src/lib/typescript-schema-printer.ts +227 -0
  606. package/src/lib/utils.ts +21 -0
  607. package/src/pkg-dir.ts +6 -0
  608. package/src/schema.ts +233 -0
  609. package/src/scripts/build.ts +64 -0
  610. package/src/scripts/cli.ts +124 -0
  611. package/src/scripts/dev.ts +452 -0
  612. package/src/scripts/esbuild.ts +120 -0
  613. package/src/scripts/index.ts +20 -0
  614. package/src/scripts/migrate.ts +214 -0
  615. package/src/scripts/prisma.ts +49 -0
  616. package/src/scripts/start.ts +76 -0
  617. package/src/scripts/telemetry.ts +37 -0
  618. package/src/scripts/utils.ts +22 -0
  619. package/src/session.ts +168 -0
  620. package/src/testing.ts +23 -0
  621. package/src/types/admin-meta.ts +218 -0
  622. package/src/types/config/access-control.ts +186 -0
  623. package/src/types/config/fields.ts +96 -0
  624. package/src/types/config/hooks.ts +529 -0
  625. package/src/types/config/index.ts +333 -0
  626. package/src/types/config/lists.ts +565 -0
  627. package/src/types/context.ts +530 -0
  628. package/src/types/core.ts +16 -0
  629. package/src/types/index.ts +8 -0
  630. package/src/types/next-fields.ts +499 -0
  631. package/src/types/prisma.ts +16 -0
  632. package/src/types/schema/g.ts +5 -0
  633. package/src/types/schema/gWithContext.ts +20 -0
  634. package/src/types/schema/index.ts +4 -0
  635. package/src/types/schema/legacy-alias.d.ts +28 -0
  636. package/src/types/schema/legacy-alias.js +1 -0
  637. package/src/types/schema/scalars.ts +220 -0
  638. package/src/types/session.ts +26 -0
  639. package/src/types/telemetry.ts +51 -0
  640. package/src/types/type-info.ts +38 -0
  641. package/src/types/type-tests.ts +21 -0
  642. package/src/types/utils.ts +108 -0
  643. package/static/admin-error.html +53 -0
  644. package/static/dev-loading.html +146 -0
  645. package/static/favicon.ico +0 -0
  646. package/static/favicon.svg +4 -0
  647. package/system/package.json +4 -0
  648. package/testing/dist/nixxie-cms-core-testing.cjs.d.ts +2 -0
  649. package/testing/dist/nixxie-cms-core-testing.cjs.js +29 -0
  650. package/testing/dist/nixxie-cms-core-testing.esm.js +21 -0
  651. package/testing/package.json +4 -0
  652. package/tests/conditional-filters.test.ts +326 -0
  653. package/tests/telemetry.test.ts +361 -0
  654. package/tsconfig.json +20 -0
  655. package/types/dist/nixxie-cms-core-types.cjs.d.ts +2 -0
  656. package/types/dist/nixxie-cms-core-types.cjs.js +29 -0
  657. package/types/dist/nixxie-cms-core-types.esm.js +9 -0
  658. package/types/package.json +4 -0
@@ -0,0 +1,495 @@
1
+ 'use strict';
2
+
3
+ var fs = require('node:fs/promises');
4
+ var path = require('node:path');
5
+ var internals = require('@prisma/internals');
6
+ var clientGeneratorRegistry = require('@prisma/client-generator-registry');
7
+ var graphql = require('graphql');
8
+ var utils = require('./utils-b031e11c.cjs.js');
9
+ var system = require('./system-48c5f6df.cjs.js');
10
+ var http = require('http');
11
+ var cors = require('cors');
12
+ var bodyParser = require('body-parser');
13
+ var express4 = require('@apollo/server/express4');
14
+ var express = require('express');
15
+ var server = require('@apollo/server');
16
+ var disabled = require('@apollo/server/plugin/disabled');
17
+ var _default = require('@apollo/server/plugin/landingPage/default');
18
+ var graphqlUploadExpress = require('graphql-upload/graphqlUploadExpress.js');
19
+
20
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
21
+
22
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
23
+ var path__default = /*#__PURE__*/_interopDefault(path);
24
+ var cors__default = /*#__PURE__*/_interopDefault(cors);
25
+ var express__default = /*#__PURE__*/_interopDefault(express);
26
+ var graphqlUploadExpress__default = /*#__PURE__*/_interopDefault(graphqlUploadExpress);
27
+
28
+ const modifiers = {
29
+ required: '',
30
+ optional: '?',
31
+ many: '[]'
32
+ };
33
+ function printIndex(fieldPath, index) {
34
+ return {
35
+ none: '',
36
+ unique: '@unique',
37
+ index: `\n@@index([${fieldPath}])`
38
+ }[index !== null && index !== void 0 ? index : 'none'];
39
+ }
40
+ function printNativeType(nativeType, datasourceName) {
41
+ return nativeType === undefined ? '' : ` @${datasourceName}.${nativeType}`;
42
+ }
43
+ function printScalarDefaultValue(defaultValue) {
44
+ if (defaultValue.kind === 'literal') {
45
+ if (defaultValue instanceof Uint8Array) {
46
+ // can't find documentation for it but it seems the expected format for Bytes defaults in Prisma is base64
47
+ // https://github.com/prisma/prisma-engines/blob/11f45a26bee8dc9c91606fc5130d1025a6e22197/psl/psl-core/src/validate/validation_pipeline/validations/default_value.rs#L77
48
+ return ` @default("${Buffer.from(defaultValue).toString('base64')}")`;
49
+ }
50
+ if (typeof defaultValue.value === 'string') {
51
+ return ` @default(${JSON.stringify(defaultValue.value)})`;
52
+ }
53
+ return ` @default(${defaultValue.value.toString()})`;
54
+ }
55
+ if (defaultValue.kind === 'cuid' || defaultValue.kind === 'uuid') {
56
+ var _defaultValue$version;
57
+ return ` @default(${defaultValue.kind}(${(_defaultValue$version = defaultValue.version) !== null && _defaultValue$version !== void 0 ? _defaultValue$version : ''}))`;
58
+ }
59
+ if (defaultValue.kind === 'nanoid') {
60
+ var _defaultValue$length;
61
+ return ` @default(nanoid(${(_defaultValue$length = defaultValue.length) !== null && _defaultValue$length !== void 0 ? _defaultValue$length : ''}))`;
62
+ }
63
+ if (defaultValue.kind === 'now' || defaultValue.kind === 'autoincrement' || defaultValue.kind === 'ulid') {
64
+ return ` @default(${defaultValue.kind}())`;
65
+ }
66
+ if (defaultValue.kind === 'dbgenerated') {
67
+ return ` @default(dbgenerated(${JSON.stringify(defaultValue.value)}))`;
68
+ }
69
+ if (defaultValue.kind === 'random') {
70
+ return '';
71
+ }
72
+ assertNever(defaultValue);
73
+ }
74
+ function assertNever(arg) {
75
+ throw new Error(`expected to never be called but was called with ${arg}`);
76
+ }
77
+ function printField(fieldPath, field, datasourceName, lists) {
78
+ if (field.kind === 'scalar') {
79
+ const nativeType = printNativeType(field.nativeType, datasourceName);
80
+ const index = printIndex(fieldPath, field.index);
81
+ const defaultValue = field.default ? printScalarDefaultValue(field.default) : '';
82
+ const map = field.map ? ` @map(${JSON.stringify(field.map)})` : '';
83
+ const updatedAt = field.updatedAt ? ' @updatedAt' : '';
84
+ return `${fieldPath} ${field.scalar}${modifiers[field.mode]}${updatedAt}${nativeType}${defaultValue}${map}${index}`;
85
+ }
86
+ if (field.kind === 'enum') {
87
+ const index = printIndex(fieldPath, field.index);
88
+ const defaultValue = field.default ? ` @default(${field.default.value})` : '';
89
+ const map = field.map ? ` @map(${JSON.stringify(field.map)})` : '';
90
+ return `${fieldPath} ${field.name}${modifiers[field.mode]}${defaultValue}${map}${index}`;
91
+ }
92
+ if (field.kind === 'multi') {
93
+ return Object.entries(field.fields).map(([subField, field]) => printField(utils.getDBFieldKeyForFieldOnMultiField(fieldPath, subField), field, datasourceName, lists)).join('\n');
94
+ }
95
+ if (field.kind === 'relation') {
96
+ if (field.mode === 'many') return `${fieldPath} ${field.list}[] @relation("${field.relationName}")`;
97
+ if (field.foreignIdField.kind === 'none') return `${fieldPath} ${field.list}? @relation("${field.relationName}")`;
98
+ const relationIdFieldPath = `${fieldPath}Id`;
99
+ const relationField = `${fieldPath} ${field.list}? @relation("${field.relationName}", fields: [${relationIdFieldPath}], references: [id])`;
100
+ const foreignList = lists[field.list];
101
+ const foreignIdField = foreignList.resolvedDbFields.id;
102
+ assertDbFieldIsValidForIdField(foreignList.listKey, foreignList.isSingleton, foreignIdField);
103
+ const nativeType = printNativeType(foreignIdField.nativeType, datasourceName);
104
+ const foreignIndex = field.foreignIdField.kind === 'owned' ? 'index' : 'unique';
105
+ const index = printIndex(relationIdFieldPath, foreignIndex);
106
+ const relationIdField = `${relationIdFieldPath} ${foreignIdField.scalar}? @map(${JSON.stringify(field.foreignIdField.map)}) ${nativeType}${index}`;
107
+ return `${relationField}\n${relationIdField}`;
108
+ }
109
+ // TypeScript's control flow analysis doesn't understand that this will never happen without the assertNever
110
+ // (this will still correctly validate if any case is unhandled though)
111
+ return assertNever(field);
112
+ }
113
+ function collectEnums(lists) {
114
+ const enums = {};
115
+ for (const [listKey, {
116
+ resolvedDbFields
117
+ }] of Object.entries(lists)) {
118
+ for (const [fieldPath, field] of Object.entries(resolvedDbFields)) {
119
+ const fields = field.kind === 'multi' ? Object.entries(field.fields).map(([key, field]) => [field, `${listKey}.${fieldPath} (sub field ${key})`]) : [[field, `${listKey}.${fieldPath}`]];
120
+ for (const [field, ref] of fields) {
121
+ if (field.kind !== 'enum') continue;
122
+ const alreadyExistingEnum = enums[field.name];
123
+ if (alreadyExistingEnum === undefined) {
124
+ enums[field.name] = {
125
+ values: field.values,
126
+ firstDefinedByRef: ref
127
+ };
128
+ continue;
129
+ }
130
+ if (!utils.areArraysEqual(alreadyExistingEnum.values, field.values)) {
131
+ throw new Error(`The fields ${alreadyExistingEnum.firstDefinedByRef} and ${ref} both specify Prisma schema enums` + `with the name ${field.name} but they have different values:\n` + `enum from ${alreadyExistingEnum.firstDefinedByRef}:\n${JSON.stringify(alreadyExistingEnum.values, null, 2)}\n` + `enum from ${ref}:\n${JSON.stringify(field.values, null, 2)}`);
132
+ }
133
+ }
134
+ }
135
+ }
136
+ return Object.entries(enums).map(([enumName, {
137
+ values
138
+ }]) => `enum ${enumName} {\n${values.join('\n')}\n}`).join('\n');
139
+ }
140
+ function assertDbFieldIsValidForIdField(listKey, isSingleton, field) {
141
+ if (field.kind !== 'scalar') {
142
+ throw new Error(`id fields must be either a String or Int Prisma scalar but the id field for the ${listKey} list is not a scalar`);
143
+ }
144
+ // this may be loosened in the future
145
+ if (field.scalar !== 'String' && field.scalar !== 'Int' && field.scalar !== 'BigInt') {
146
+ throw new Error(`id fields must be String, Int or BigInt Prisma scalars but the id field for the ${listKey} list is a ${field.scalar} scalar`);
147
+ }
148
+ if (field.mode !== 'required') {
149
+ throw new Error(`id fields must be a singular required field but the id field for the ${listKey} list is ${field.mode === 'many' ? 'a many' : 'an optional'} field`);
150
+ }
151
+ if (field.index !== undefined) {
152
+ throw new Error(`id fields must not specify indexes themselves but the id field for the ${listKey} list specifies an index`);
153
+ }
154
+ }
155
+ function printPrismaSchema(config, lists) {
156
+ var _extendPrismaComplete;
157
+ const {
158
+ prismaClientPath,
159
+ provider,
160
+ extendPrismaSchema: extendPrismaCompleteSchema
161
+ } = config.db;
162
+ const prismaSchema = [`// This file is automatically generated by Nixxie, do not modify it manually.`, `// Modify your Nixxie config when you want to change this.`, ``, `datasource ${provider} {`, ` url = env("DATABASE_URL")`, ` shadowDatabaseUrl = env("SHADOW_DATABASE_URL")`, ` provider = "${provider}"`, `}`, ``, `generator client {`, ` provider = "prisma-client-js"`, ...(prismaClientPath === '@prisma/client' ? [] : [` output = "${prismaClientPath}"`]), '}'];
163
+ for (const [listKey, {
164
+ resolvedDbFields,
165
+ prisma: {
166
+ mapping,
167
+ extendPrismaSchema: extendPrismaListSchema
168
+ },
169
+ isSingleton
170
+ }] of Object.entries(lists)) {
171
+ const listPrisma = [`model ${listKey} {`];
172
+ for (const [fieldPath, field] of Object.entries(resolvedDbFields)) {
173
+ if (fieldPath === 'id') {
174
+ assertDbFieldIsValidForIdField(listKey, isSingleton, field);
175
+ }
176
+ if (field.kind !== 'none') {
177
+ let fieldPrisma = printField(fieldPath, field, provider, lists);
178
+ if (fieldPath === 'id') {
179
+ fieldPrisma += ' @id';
180
+ }
181
+ listPrisma.push(field.extendPrismaSchema ? field.extendPrismaSchema(fieldPrisma) : fieldPrisma);
182
+ }
183
+ }
184
+ if (mapping !== undefined) {
185
+ listPrisma.push(`@@map(${JSON.stringify(mapping)})`);
186
+ }
187
+ listPrisma.push('}');
188
+ const listPrismaStr = listPrisma.join('\n');
189
+ prismaSchema.push(extendPrismaListSchema ? extendPrismaListSchema(listPrismaStr) : listPrismaStr);
190
+ }
191
+ prismaSchema.push(collectEnums(lists));
192
+ const prismaSchemaStr = prismaSchema.join('\n');
193
+ return (_extendPrismaComplete = extendPrismaCompleteSchema === null || extendPrismaCompleteSchema === void 0 ? void 0 : extendPrismaCompleteSchema(prismaSchemaStr)) !== null && _extendPrismaComplete !== void 0 ? _extendPrismaComplete : prismaSchemaStr;
194
+ }
195
+
196
+ const introspectionTypesSet = new Set(graphql.introspectionTypes);
197
+
198
+ // note this is the types for scalars as _input_ types
199
+ // and before scalar parsing
200
+ const SCALARS = {
201
+ ID: 'string',
202
+ Boolean: 'boolean',
203
+ String: 'string',
204
+ Int: 'number',
205
+ Float: 'number',
206
+ JSON: `import('@nixxie-cms/core/types').JSONValue`,
207
+ Decimal: `import('@nixxie-cms/core/types').Decimal | string`,
208
+ Empty: `{}`
209
+ };
210
+ function stringify(x) {
211
+ return JSON.stringify(x).slice(1, -1);
212
+ }
213
+ function printTypeReference(type) {
214
+ if (type instanceof graphql.GraphQLNonNull) return printTypeReferenceWithoutNullable(type.ofType);
215
+ return `${printTypeReferenceWithoutNullable(type)} | null`;
216
+ }
217
+ function printTypeReferenceWithoutNullable(type) {
218
+ if (type instanceof graphql.GraphQLList) return `ReadonlyArray<${printTypeReference(type.ofType)}> | ${printTypeReference(type.ofType)}`;
219
+ const name = type.name;
220
+ if (type instanceof graphql.GraphQLScalarType) {
221
+ if (name in SCALARS) return SCALARS[name];
222
+ return `any`;
223
+ }
224
+ return name;
225
+ }
226
+ function printInterimType(prismaClientPath, list, operation) {
227
+ const name = list.prisma.types[`${operation}InputName`];
228
+ const prismaType = `import('${prismaClientPath}').Prisma.${name}`;
229
+ return [`type Resolved${name} = {`, ...Object.entries(list.fields).map(([fieldKey, {
230
+ dbField,
231
+ graphql
232
+ }]) => {
233
+ if (dbField.kind === 'none') return ` ${fieldKey}?: undefined`;
234
+
235
+ // TODO: this could be elsewhere, maybe id-field.ts
236
+ if (fieldKey === 'id') {
237
+ // autoincrement doesn't support passing an identifier
238
+ if ('default' in dbField) {
239
+ var _dbField$default;
240
+ if (((_dbField$default = dbField.default) === null || _dbField$default === void 0 ? void 0 : _dbField$default.kind) === 'autoincrement') {
241
+ return ` id?: undefined`;
242
+ }
243
+ }
244
+
245
+ // soft-block `id` updates for relationship safety
246
+ if (operation === 'update') return ` id?: undefined`;
247
+ }
248
+ if (dbField.kind === 'multi') {
249
+ return [` ${fieldKey}: {`, ...Object.entries(dbField.fields).map(([subFieldKey, subDbField]) => {
250
+ const optional = operation === 'create' && subDbField.mode === 'required' && !subDbField.default ? '' : '?';
251
+ return ` ${subFieldKey}${optional}: ${prismaType}['${fieldKey}_${subFieldKey}']`;
252
+ }), ` }`].join('\n');
253
+ }
254
+ const optional = operation === 'create' && dbField.mode === 'required' && !dbField.default || graphql.isNonNull[operation] ? '' : '?';
255
+ return ` ${fieldKey}${optional}: ${prismaType}['${fieldKey}']`;
256
+ }), `}`].join('\n');
257
+ }
258
+ function printGeneratedTypes(prismaClientPath, graphQLSchema, lists) {
259
+ prismaClientPath = stringify(prismaClientPath).replace(/'/g, `\\'`);
260
+ return ['/* eslint-disable */', '', [...function* () {
261
+ for (const type of Object.values(graphQLSchema.getTypeMap())) {
262
+ // We don't want to print TS types for the built-in GraphQL introspection types
263
+ // they won't be used for anything we want to print here.
264
+ if (introspectionTypesSet.has(type)) continue;
265
+ if (type instanceof graphql.GraphQLInputObjectType) {
266
+ yield [`export type ${type.name} = {`, ...function* () {
267
+ for (const {
268
+ name,
269
+ type: type_
270
+ } of Object.values(type.getFields())) {
271
+ const maybe = type_ instanceof graphql.GraphQLNonNull ? '' : '?';
272
+ yield ` readonly ${name}${maybe}: ${printTypeReference(type_)}`;
273
+ }
274
+ }(), '}'].join('\n');
275
+ continue;
276
+ }
277
+ if (type instanceof graphql.GraphQLEnumType) {
278
+ yield [`export type ${type.name} =`, type.getValues().map(x => ` | '${stringify(x.name)}'`).join('\n')].join('\n');
279
+ continue;
280
+ }
281
+ if (type.name === 'Empty') {
282
+ yield `export type Empty = {}`;
283
+ continue;
284
+ }
285
+ }
286
+ }()].join('\n\n'), '',
287
+ // Resolved* types
288
+ ...function* () {
289
+ for (const list of Object.values(lists)) {
290
+ yield printInterimType(prismaClientPath, list, 'create');
291
+ yield printInterimType(prismaClientPath, list, 'update');
292
+ }
293
+ }(), '', 'export declare namespace Lists {', ...function* () {
294
+ for (const [listKey, list] of Object.entries(lists)) {
295
+ const {
296
+ createInputName,
297
+ updateInputName
298
+ } = list.prisma.types;
299
+ const listTypeInfoName = `Lists.${listKey}.TypeInfo`;
300
+ yield [`export type ${listKey}<Session = any> = import('@nixxie-cms/core/types').ListConfig<${listTypeInfoName}<Session>>`, `namespace ${listKey} {`, ` export type Item = import('${prismaClientPath}').${listKey}`, ` export type TypeInfo<Session = any> = {`, ` key: '${listKey}'`, ` isSingleton: ${list.isSingleton}`, ` fields: ${Object.keys(list.fields).map(x => `'${x}'`).join(' | ')}`, ` actions: ${Object.values(list.actions).map(x => `'${x.actionKey}'`).join(' | ') || 'never'}`, ` item: Item`, ` inputs: {`, ` where: ${printTypeReferenceWithoutNullable(list.graphql.types.where)}`, ` uniqueWhere: ${printTypeReferenceWithoutNullable(list.graphql.types.uniqueWhere)}`, ` create: ${printTypeReferenceWithoutNullable(list.graphql.types.create)}`, ` update: ${printTypeReferenceWithoutNullable(list.graphql.types.update)}`, ` orderBy: ${printTypeReferenceWithoutNullable(list.graphql.types.orderBy)}`, ` }`, ` prisma: {`, ` create: Resolved${createInputName}`, ` update: Resolved${updateInputName}`, ` }`, ` all: __TypeInfo<Session>`, ` }`, `}`].map(line => ` ${line}`).join('\n');
301
+ }
302
+ }(), '}', `export type Context<Session = any> = import('@nixxie-cms/core/types').NixxieContext<TypeInfo<Session>>`, `export type Config<Session = any> = import('@nixxie-cms/core/types').NixxieConfig<TypeInfo<Session>>`, '', 'export type TypeInfo<Session = any> = {', ` lists: {`, ...function* () {
303
+ for (const listKey in lists) {
304
+ yield ` readonly ${listKey}: Lists.${listKey}.TypeInfo<Session>`;
305
+ }
306
+ }(), ` }`, ` prisma: import('${prismaClientPath}').PrismaClient`, ` session: Session`, `}`, ``,
307
+ // we need to reference the `TypeInfo` above in another type that is also called `TypeInfo`
308
+ `type __TypeInfo<Session = any> = TypeInfo<Session>`, ``, `export type Lists<Session = any> = {`, ` [Key in keyof TypeInfo['lists']]?: import('@nixxie-cms/core/types').ListConfig<TypeInfo<Session>['lists'][Key]>`, `} & Record<string, import('@nixxie-cms/core/types').ListConfig<any>>`, ``, `export {}`, ``].join('\n');
309
+ }
310
+
311
+ function getFormattedGraphQLSchema(schema) {
312
+ return '# This file is automatically generated by Nixxie, do not modify it manually.\n' + '# Modify your Nixxie config when you want to change this.\n\n' + schema + '\n';
313
+ }
314
+ async function readFileOrUndefined(path) {
315
+ try {
316
+ return await fs__default["default"].readFile(path, 'utf8');
317
+ } catch (err) {
318
+ if (err.code === 'ENOENT') return;
319
+ throw err;
320
+ }
321
+ }
322
+ async function validateArtifacts(cwd, system$1) {
323
+ await system.withSpan('validating artifacts', async () => {
324
+ const paths = system$1.getPaths(cwd);
325
+ const artifacts = await buildArtifacts(system$1);
326
+ const [writtenGraphQLSchema, writtenPrismaSchema] = await Promise.all([readFileOrUndefined(paths.schema.graphql), readFileOrUndefined(paths.schema.prisma)]);
327
+ if (writtenGraphQLSchema !== artifacts.graphql && writtenPrismaSchema !== artifacts.prisma) {
328
+ throw new Error('Your Prisma and GraphQL schemas are not up to date');
329
+ }
330
+ if (writtenGraphQLSchema !== artifacts.graphql) {
331
+ throw new Error('Your GraphQL schema is not up to date');
332
+ }
333
+ if (writtenPrismaSchema !== artifacts.prisma) {
334
+ throw new Error('Your Prisma schema is not up to date');
335
+ }
336
+ });
337
+ }
338
+
339
+ // exported for tests
340
+ async function buildArtifacts(system$1) {
341
+ return await system.withSpan('building artifacts', async () => {
342
+ const prismaSchema = await internals.formatSchema({
343
+ schemas: [[system$1.config.db.prismaSchemaPath, printPrismaSchema(system$1.config, system$1.lists)]]
344
+ });
345
+ return {
346
+ graphql: getFormattedGraphQLSchema(graphql.printSchema(system$1.graphql.schemas.public)),
347
+ prisma: prismaSchema[0][1]
348
+ };
349
+ });
350
+ }
351
+ async function generateArtifacts(cwd, system$1) {
352
+ return await system.withSpan('generating artifacts', async () => {
353
+ const paths = system$1.getPaths(cwd);
354
+ const artifacts = await buildArtifacts(system$1);
355
+ await fs__default["default"].writeFile(paths.schema.graphql, artifacts.graphql);
356
+ await fs__default["default"].writeFile(paths.schema.prisma, artifacts.prisma);
357
+ return artifacts;
358
+ });
359
+ }
360
+ async function generateTypes(cwd, system$1) {
361
+ return await system.withSpan('generating types', async () => {
362
+ const paths = system$1.getPaths(cwd);
363
+ const schema = printGeneratedTypes(paths.types.relativePrismaPath, system$1.graphql.schemas.internal, system$1.lists);
364
+ await fs__default["default"].mkdir(path__default["default"].dirname(paths.schema.types), {
365
+ recursive: true
366
+ });
367
+ await fs__default["default"].writeFile(paths.schema.types, schema);
368
+ });
369
+ }
370
+ async function generatePrismaClient(cwd, system$1) {
371
+ return await system.withSpan('generating prisma client', async () => {
372
+ const paths = system$1.getPaths(cwd);
373
+ const generators = await internals.getGenerators({
374
+ schemaPath: paths.schema.prisma,
375
+ registry: clientGeneratorRegistry.defaultRegistry.toInternal()
376
+ });
377
+ await Promise.all(generators.map(async generator => {
378
+ try {
379
+ await generator.generate();
380
+ } finally {
381
+ generator.stop();
382
+ }
383
+ }));
384
+ });
385
+ }
386
+
387
+ class ExitError extends Error {
388
+ constructor(code, message = '') {
389
+ super(`The process exited with ${code}${message ? `: ${message}` : ''}`);
390
+ this.code = code;
391
+ this.message = message;
392
+ }
393
+ }
394
+
395
+ // TODO: this cannot be changed for now, circular dependency with getSystemPaths, getEsbuildConfig
396
+ async function importBuiltNixxieConfiguration(cwd) {
397
+ const builtConfigPath = system.getBuiltNixxieConfigurationPath(cwd);
398
+ if (!(await fs__default["default"].stat(builtConfigPath).catch(() => null))) {
399
+ throw new Error('You need to run "nixxie build"');
400
+ }
401
+ return require(builtConfigPath).default;
402
+ }
403
+
404
+ /*
405
+ NOTE: This creates the main Nixxie express server, including the
406
+ GraphQL API, but does NOT add the Admin UI middleware.
407
+
408
+ The Admin UI takes a while to build for dev, and is created separately
409
+ so the CLI can bring up the dev server early to handle GraphQL requests.
410
+ */
411
+
412
+ function formatError(graphqlConfig) {
413
+ let debug = graphqlConfig.debug;
414
+ if (debug === undefined) {
415
+ debug = process.env.NODE_ENV !== 'production';
416
+ }
417
+ return (formattedError, error) => {
418
+ var _error$originalError, _graphqlConfig$apollo;
419
+ if (error instanceof graphql.GraphQLError && (_error$originalError = error.originalError) !== null && _error$originalError !== void 0 && _error$originalError.name.startsWith('Prisma')) {
420
+ formattedError = {
421
+ ...formattedError,
422
+ extensions: {
423
+ ...formattedError.extensions,
424
+ code: 'KS_PRISMA_ERROR'
425
+ },
426
+ message: 'Prisma error'
427
+ };
428
+ }
429
+ if (!debug && formattedError.extensions) {
430
+ // Strip out any `debug` extensions
431
+ delete formattedError.extensions.debug;
432
+ delete formattedError.extensions.exception;
433
+ }
434
+ if ((_graphqlConfig$apollo = graphqlConfig.apolloConfig) !== null && _graphqlConfig$apollo !== void 0 && _graphqlConfig$apollo.formatError) {
435
+ return graphqlConfig.apolloConfig.formatError(formattedError, error);
436
+ }
437
+ return formattedError;
438
+ };
439
+ }
440
+ async function createExpressServer(config, context) {
441
+ var _apolloConfig$plugins;
442
+ const expressServer = express__default["default"]();
443
+ const httpServer = http.createServer(expressServer);
444
+ if (config.server.cors !== null) {
445
+ expressServer.use(cors__default["default"](config.server.cors));
446
+ }
447
+ await config.server.extendExpressApp(expressServer, context);
448
+ await config.server.extendHttpServer(httpServer, context);
449
+ const apolloConfig = config.graphql.apolloConfig;
450
+ const serverConfig = {
451
+ includeStacktraceInErrorResponses: config.graphql.debug,
452
+ ...apolloConfig,
453
+ formatError: formatError(config.graphql),
454
+ schema: context.graphql.schema,
455
+ plugins: config.graphql.playground === 'apollo' ? apolloConfig === null || apolloConfig === void 0 ? void 0 : apolloConfig.plugins : [config.graphql.playground ? _default.ApolloServerPluginLandingPageLocalDefault() : disabled.ApolloServerPluginLandingPageDisabled(), ...((_apolloConfig$plugins = apolloConfig === null || apolloConfig === void 0 ? void 0 : apolloConfig.plugins) !== null && _apolloConfig$plugins !== void 0 ? _apolloConfig$plugins : [])]
456
+ }; // TODO: satisfies
457
+
458
+ const apolloServer = new server.ApolloServer({
459
+ ...serverConfig
460
+ });
461
+ const maxFileSize = config.server.maxFileSize;
462
+ expressServer.use(graphqlUploadExpress__default["default"]({
463
+ maxFileSize
464
+ }));
465
+ await apolloServer.start();
466
+ expressServer.use(config.graphql.path, bodyParser.json(config.graphql.bodyParser), (req, res, next) => {
467
+ var _req$body;
468
+ // WARNING: body-parser@^2 only sets .body if a .body is parsed, Apollo always wants .body to be set
469
+ (_req$body = req.body) !== null && _req$body !== void 0 ? _req$body : req.body = {};
470
+ next();
471
+ }, express4.expressMiddleware(apolloServer, {
472
+ context: async ({
473
+ req,
474
+ res
475
+ }) => {
476
+ return await context.withRequest(req, res);
477
+ }
478
+ }));
479
+ return {
480
+ expressServer,
481
+ apolloServer,
482
+ httpServer
483
+ };
484
+ }
485
+
486
+ exports.ExitError = ExitError;
487
+ exports.buildArtifacts = buildArtifacts;
488
+ exports.createExpressServer = createExpressServer;
489
+ exports.generateArtifacts = generateArtifacts;
490
+ exports.generatePrismaClient = generatePrismaClient;
491
+ exports.generateTypes = generateTypes;
492
+ exports.getFormattedGraphQLSchema = getFormattedGraphQLSchema;
493
+ exports.importBuiltNixxieConfiguration = importBuiltNixxieConfiguration;
494
+ exports.printPrismaSchema = printPrismaSchema;
495
+ exports.validateArtifacts = validateArtifacts;
@@ -0,0 +1,89 @@
1
+ function isConditionalFilterOperator(key) {
2
+ return key === 'AND' || key === 'OR' || key === 'NOT';
3
+ }
4
+ function isFieldFilter(value) {
5
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
6
+ }
7
+ function applyFilter(filter, value) {
8
+ // WARNING: this is implicit AND
9
+ if (filter.equals !== undefined && value !== filter.equals) return false;
10
+ if (filter.in !== undefined && !filter.in.includes(value)) return false;
11
+ return true;
12
+ }
13
+ function testFilter(filter, serialized) {
14
+ if (filter === undefined) return false;
15
+ if (typeof filter === 'boolean') return filter;
16
+ if (filter.AND !== undefined && !filter.AND.every(filter => testFilter(filter, serialized))) {
17
+ return false;
18
+ }
19
+ if (filter.OR !== undefined && !filter.OR.some(filter => testFilter(filter, serialized))) {
20
+ return false;
21
+ }
22
+ if (filter.NOT !== undefined && testFilter(filter.NOT, serialized)) {
23
+ return false;
24
+ }
25
+ for (const [key, fieldFilter] of Object.entries(filter)) {
26
+ if (!isFieldFilter(fieldFilter)) continue;
27
+ if (isConditionalFilterOperator(key)) continue;
28
+ const serializedValue = serialized[key];
29
+ if (!applyFilter(fieldFilter, serializedValue)) return false;
30
+ if (fieldFilter.not !== undefined && applyFilter(fieldFilter.not, serializedValue)) {
31
+ return false;
32
+ }
33
+ }
34
+ return true;
35
+ }
36
+ function serializeItemForConditionalFilters(fields, itemValue) {
37
+ const serialized = {};
38
+ for (const [fieldKey, field] of Object.entries(fields)) {
39
+ Object.assign(serialized, field.controller.serialize(itemValue[fieldKey]));
40
+ }
41
+ return serialized;
42
+ }
43
+ function resolveActionMode(actionMode, serialized) {
44
+ if (typeof actionMode === 'string') return actionMode;
45
+ if (testFilter(actionMode.hidden, serialized)) return 'hidden';
46
+ if (testFilter(actionMode.disabled, serialized)) return 'disabled';
47
+ return 'enabled';
48
+ }
49
+ function resolveFieldMode(fieldMode, serialized, view) {
50
+ if (typeof fieldMode === 'string') return fieldMode;
51
+ if (testFilter(fieldMode.hidden, serialized)) return 'hidden';
52
+ if (view === 'itemView' && testFilter(fieldMode.read, serialized)) return 'read';
53
+ return 'edit';
54
+ }
55
+ function isActionAvailable(action, {
56
+ actionMode
57
+ }) {
58
+ if (action.graphql.arguments.some(a => !a.source)) return false;
59
+
60
+ // conditional filters cannot be prefiltered ahead of time
61
+ if (typeof actionMode !== 'string') return true;
62
+ return actionMode !== 'hidden';
63
+ }
64
+ function getConditionalFilterFieldKeys(actionMode) {
65
+ if (typeof actionMode === 'string') return [];
66
+ const fieldKeys = new Set();
67
+ function collectFieldKeys(filter) {
68
+ if (!filter || typeof filter !== 'object') return;
69
+ if (filter.AND !== undefined) {
70
+ filter.AND.forEach(collectFieldKeys);
71
+ }
72
+ if (filter.OR !== undefined) {
73
+ filter.OR.forEach(collectFieldKeys);
74
+ }
75
+ if (filter.NOT !== undefined) {
76
+ collectFieldKeys(filter.NOT);
77
+ }
78
+ for (const key of Object.keys(filter)) {
79
+ if (isConditionalFilterOperator(key)) continue;
80
+ fieldKeys.add(key);
81
+ }
82
+ }
83
+ for (const conditionalFilter of Object.values(actionMode)) {
84
+ collectFieldKeys(conditionalFilter);
85
+ }
86
+ return [...fieldKeys];
87
+ }
88
+
89
+ export { resolveFieldMode as a, getConditionalFilterFieldKeys as g, isActionAvailable as i, resolveActionMode as r, serializeItemForConditionalFilters as s, testFilter as t };
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ function isConditionalFilterOperator(key) {
4
+ return key === 'AND' || key === 'OR' || key === 'NOT';
5
+ }
6
+ function isFieldFilter(value) {
7
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
8
+ }
9
+ function applyFilter(filter, value) {
10
+ // WARNING: this is implicit AND
11
+ if (filter.equals !== undefined && value !== filter.equals) return false;
12
+ if (filter.in !== undefined && !filter.in.includes(value)) return false;
13
+ return true;
14
+ }
15
+ function testFilter(filter, serialized) {
16
+ if (filter === undefined) return false;
17
+ if (typeof filter === 'boolean') return filter;
18
+ if (filter.AND !== undefined && !filter.AND.every(filter => testFilter(filter, serialized))) {
19
+ return false;
20
+ }
21
+ if (filter.OR !== undefined && !filter.OR.some(filter => testFilter(filter, serialized))) {
22
+ return false;
23
+ }
24
+ if (filter.NOT !== undefined && testFilter(filter.NOT, serialized)) {
25
+ return false;
26
+ }
27
+ for (const [key, fieldFilter] of Object.entries(filter)) {
28
+ if (!isFieldFilter(fieldFilter)) continue;
29
+ if (isConditionalFilterOperator(key)) continue;
30
+ const serializedValue = serialized[key];
31
+ if (!applyFilter(fieldFilter, serializedValue)) return false;
32
+ if (fieldFilter.not !== undefined && applyFilter(fieldFilter.not, serializedValue)) {
33
+ return false;
34
+ }
35
+ }
36
+ return true;
37
+ }
38
+ function serializeItemForConditionalFilters(fields, itemValue) {
39
+ const serialized = {};
40
+ for (const [fieldKey, field] of Object.entries(fields)) {
41
+ Object.assign(serialized, field.controller.serialize(itemValue[fieldKey]));
42
+ }
43
+ return serialized;
44
+ }
45
+ function resolveActionMode(actionMode, serialized) {
46
+ if (typeof actionMode === 'string') return actionMode;
47
+ if (testFilter(actionMode.hidden, serialized)) return 'hidden';
48
+ if (testFilter(actionMode.disabled, serialized)) return 'disabled';
49
+ return 'enabled';
50
+ }
51
+ function resolveFieldMode(fieldMode, serialized, view) {
52
+ if (typeof fieldMode === 'string') return fieldMode;
53
+ if (testFilter(fieldMode.hidden, serialized)) return 'hidden';
54
+ if (view === 'itemView' && testFilter(fieldMode.read, serialized)) return 'read';
55
+ return 'edit';
56
+ }
57
+ function isActionAvailable(action, {
58
+ actionMode
59
+ }) {
60
+ if (action.graphql.arguments.some(a => !a.source)) return false;
61
+
62
+ // conditional filters cannot be prefiltered ahead of time
63
+ if (typeof actionMode !== 'string') return true;
64
+ return actionMode !== 'hidden';
65
+ }
66
+ function getConditionalFilterFieldKeys(actionMode) {
67
+ if (typeof actionMode === 'string') return [];
68
+ const fieldKeys = new Set();
69
+ function collectFieldKeys(filter) {
70
+ if (!filter || typeof filter !== 'object') return;
71
+ if (filter.AND !== undefined) {
72
+ filter.AND.forEach(collectFieldKeys);
73
+ }
74
+ if (filter.OR !== undefined) {
75
+ filter.OR.forEach(collectFieldKeys);
76
+ }
77
+ if (filter.NOT !== undefined) {
78
+ collectFieldKeys(filter.NOT);
79
+ }
80
+ for (const key of Object.keys(filter)) {
81
+ if (isConditionalFilterOperator(key)) continue;
82
+ fieldKeys.add(key);
83
+ }
84
+ }
85
+ for (const conditionalFilter of Object.values(actionMode)) {
86
+ collectFieldKeys(conditionalFilter);
87
+ }
88
+ return [...fieldKeys];
89
+ }
90
+
91
+ exports.getConditionalFilterFieldKeys = getConditionalFilterFieldKeys;
92
+ exports.isActionAvailable = isActionAvailable;
93
+ exports.resolveActionMode = resolveActionMode;
94
+ exports.resolveFieldMode = resolveFieldMode;
95
+ exports.serializeItemForConditionalFilters = serializeItemForConditionalFilters;
96
+ exports.testFilter = testFilter;