@baseplate-dev/react-generators 0.4.4 → 0.5.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 (245) hide show
  1. package/dist/constants/react-packages.d.ts +2 -6
  2. package/dist/constants/react-packages.d.ts.map +1 -1
  3. package/dist/constants/react-packages.js +2 -6
  4. package/dist/constants/react-packages.js.map +1 -1
  5. package/dist/generators/admin/_providers/admin-crud-action-container.d.ts +14 -0
  6. package/dist/generators/admin/_providers/admin-crud-action-container.d.ts.map +1 -1
  7. package/dist/generators/admin/_providers/admin-crud-action-container.js.map +1 -1
  8. package/dist/generators/admin/_providers/admin-crud-column-container.d.ts +6 -2
  9. package/dist/generators/admin/_providers/admin-crud-column-container.d.ts.map +1 -1
  10. package/dist/generators/admin/_providers/admin-crud-column-container.js.map +1 -1
  11. package/dist/generators/admin/_providers/admin-crud-input-container.d.ts +4 -2
  12. package/dist/generators/admin/_providers/admin-crud-input-container.d.ts.map +1 -1
  13. package/dist/generators/admin/_providers/admin-crud-input-container.js.map +1 -1
  14. package/dist/generators/admin/_providers/index.d.ts +1 -2
  15. package/dist/generators/admin/_providers/index.d.ts.map +1 -1
  16. package/dist/generators/admin/_providers/index.js +1 -2
  17. package/dist/generators/admin/_providers/index.js.map +1 -1
  18. package/dist/generators/admin/_utils/data-loader.d.ts +48 -0
  19. package/dist/generators/admin/_utils/data-loader.d.ts.map +1 -0
  20. package/dist/generators/admin/_utils/data-loader.js +55 -0
  21. package/dist/generators/admin/_utils/data-loader.js.map +1 -0
  22. package/dist/generators/admin/_utils/get-model-name-variants.d.ts +14 -0
  23. package/dist/generators/admin/_utils/get-model-name-variants.d.ts.map +1 -0
  24. package/dist/generators/admin/_utils/get-model-name-variants.js +23 -0
  25. package/dist/generators/admin/_utils/get-model-name-variants.js.map +1 -0
  26. package/dist/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.d.ts +15 -2
  27. package/dist/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.d.ts.map +1 -1
  28. package/dist/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.js +65 -17
  29. package/dist/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.js.map +1 -1
  30. package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.d.ts +21 -205
  31. package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.d.ts.map +1 -1
  32. package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.js +235 -93
  33. package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.js.map +1 -1
  34. package/dist/generators/admin/admin-crud-edit/generated/index.d.ts +59 -18
  35. package/dist/generators/admin/admin-crud-edit/generated/index.d.ts.map +1 -1
  36. package/dist/generators/admin/admin-crud-edit/generated/template-renderers.d.ts +13 -0
  37. package/dist/generators/admin/admin-crud-edit/generated/template-renderers.d.ts.map +1 -1
  38. package/dist/generators/admin/admin-crud-edit/generated/template-renderers.js +4 -2
  39. package/dist/generators/admin/admin-crud-edit/generated/template-renderers.js.map +1 -1
  40. package/dist/generators/admin/admin-crud-edit/generated/typed-templates.d.ts +46 -18
  41. package/dist/generators/admin/admin-crud-edit/generated/typed-templates.d.ts.map +1 -1
  42. package/dist/generators/admin/admin-crud-edit/generated/typed-templates.js +21 -14
  43. package/dist/generators/admin/admin-crud-edit/generated/typed-templates.js.map +1 -1
  44. package/dist/generators/admin/admin-crud-edit/templates/create.tsx +15 -21
  45. package/dist/generators/admin/admin-crud-edit/templates/edit-form.tsx +20 -22
  46. package/dist/generators/admin/admin-crud-edit/templates/edit.tsx +18 -21
  47. package/dist/generators/admin/admin-crud-edit/templates/route.tsx +1 -1
  48. package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.d.ts +2 -2
  49. package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.d.ts.map +1 -1
  50. package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.js +21 -21
  51. package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.js.map +1 -1
  52. package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.d.ts +1 -0
  53. package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.d.ts.map +1 -1
  54. package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.js +12 -5
  55. package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.js.map +1 -1
  56. package/dist/generators/admin/admin-crud-foreign-column/admin-crud-foreign-column.generator.d.ts +3 -9
  57. package/dist/generators/admin/admin-crud-foreign-column/admin-crud-foreign-column.generator.d.ts.map +1 -1
  58. package/dist/generators/admin/admin-crud-foreign-column/admin-crud-foreign-column.generator.js +22 -33
  59. package/dist/generators/admin/admin-crud-foreign-column/admin-crud-foreign-column.generator.js.map +1 -1
  60. package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.d.ts +15 -2
  61. package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.d.ts.map +1 -1
  62. package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.js +76 -32
  63. package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.js.map +1 -1
  64. package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.d.ts +28 -3
  65. package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.d.ts.map +1 -1
  66. package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.js +114 -89
  67. package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.js.map +1 -1
  68. package/dist/generators/admin/admin-crud-list/generated/index.d.ts +38 -221
  69. package/dist/generators/admin/admin-crud-list/generated/index.d.ts.map +1 -1
  70. package/dist/generators/admin/admin-crud-list/generated/template-renderers.d.ts +13 -0
  71. package/dist/generators/admin/admin-crud-list/generated/template-renderers.d.ts.map +1 -1
  72. package/dist/generators/admin/admin-crud-list/generated/template-renderers.js +4 -4
  73. package/dist/generators/admin/admin-crud-list/generated/template-renderers.js.map +1 -1
  74. package/dist/generators/admin/admin-crud-list/generated/typed-templates.d.ts +25 -221
  75. package/dist/generators/admin/admin-crud-list/generated/typed-templates.d.ts.map +1 -1
  76. package/dist/generators/admin/admin-crud-list/generated/typed-templates.js +11 -10
  77. package/dist/generators/admin/admin-crud-list/generated/typed-templates.js.map +1 -1
  78. package/dist/generators/admin/admin-crud-list/templates/index.tsx +8 -10
  79. package/dist/generators/admin/admin-crud-list/templates/table.tsx +9 -4
  80. package/dist/generators/admin/admin-crud-text-column/admin-crud-text-column.generator.d.ts.map +1 -1
  81. package/dist/generators/admin/admin-crud-text-column/admin-crud-text-column.generator.js +2 -4
  82. package/dist/generators/admin/admin-crud-text-column/admin-crud-text-column.generator.js.map +1 -1
  83. package/dist/generators/admin/admin-home/admin-home.generator.d.ts +8 -7
  84. package/dist/generators/admin/admin-home/admin-home.generator.d.ts.map +1 -1
  85. package/dist/generators/admin/admin-home/generated/index.d.ts +16 -14
  86. package/dist/generators/admin/admin-home/generated/index.d.ts.map +1 -1
  87. package/dist/generators/admin/admin-home/generated/template-renderers.d.ts +8 -7
  88. package/dist/generators/admin/admin-home/generated/template-renderers.d.ts.map +1 -1
  89. package/dist/generators/admin/admin-home/generated/template-renderers.js +4 -4
  90. package/dist/generators/admin/admin-home/generated/template-renderers.js.map +1 -1
  91. package/dist/generators/admin/admin-home/generated/typed-templates.d.ts +8 -7
  92. package/dist/generators/admin/admin-home/generated/typed-templates.d.ts.map +1 -1
  93. package/dist/generators/admin/admin-home/generated/typed-templates.js +2 -2
  94. package/dist/generators/admin/admin-home/generated/typed-templates.js.map +1 -1
  95. package/dist/generators/admin/admin-home/templates/routes/index.tsx +14 -4
  96. package/dist/generators/admin/admin-layout/admin-layout.generator.d.ts +8 -1
  97. package/dist/generators/admin/admin-layout/admin-layout.generator.d.ts.map +1 -1
  98. package/dist/generators/admin/admin-layout/generated/index.d.ts +16 -3
  99. package/dist/generators/admin/admin-layout/generated/index.d.ts.map +1 -1
  100. package/dist/generators/admin/admin-layout/generated/template-renderers.d.ts +8 -1
  101. package/dist/generators/admin/admin-layout/generated/template-renderers.d.ts.map +1 -1
  102. package/dist/generators/admin/admin-layout/generated/template-renderers.js +7 -1
  103. package/dist/generators/admin/admin-layout/generated/template-renderers.js.map +1 -1
  104. package/dist/generators/admin/admin-layout/generated/typed-templates.d.ts +16 -3
  105. package/dist/generators/admin/admin-layout/generated/typed-templates.d.ts.map +1 -1
  106. package/dist/generators/admin/admin-layout/generated/typed-templates.js +4 -0
  107. package/dist/generators/admin/admin-layout/generated/typed-templates.js.map +1 -1
  108. package/dist/generators/admin/admin-layout/templates/components/layouts/admin-layout.tsx +4 -1
  109. package/dist/generators/admin/admin-layout/templates/components/layouts/app-breadcrumbs.tsx +31 -4
  110. package/dist/generators/admin/index.d.ts +0 -1
  111. package/dist/generators/admin/index.d.ts.map +1 -1
  112. package/dist/generators/admin/index.js +0 -1
  113. package/dist/generators/admin/index.js.map +1 -1
  114. package/dist/generators/apollo/react-apollo/generated/index.d.ts +42 -22
  115. package/dist/generators/apollo/react-apollo/generated/index.d.ts.map +1 -1
  116. package/dist/generators/apollo/react-apollo/generated/template-paths.d.ts +2 -1
  117. package/dist/generators/apollo/react-apollo/generated/template-paths.d.ts.map +1 -1
  118. package/dist/generators/apollo/react-apollo/generated/template-paths.js +3 -2
  119. package/dist/generators/apollo/react-apollo/generated/template-paths.js.map +1 -1
  120. package/dist/generators/apollo/react-apollo/generated/template-renderers.d.ts +3 -15
  121. package/dist/generators/apollo/react-apollo/generated/template-renderers.d.ts.map +1 -1
  122. package/dist/generators/apollo/react-apollo/generated/template-renderers.js +4 -33
  123. package/dist/generators/apollo/react-apollo/generated/template-renderers.js.map +1 -1
  124. package/dist/generators/apollo/react-apollo/generated/ts-import-providers.d.ts +30 -5
  125. package/dist/generators/apollo/react-apollo/generated/ts-import-providers.d.ts.map +1 -1
  126. package/dist/generators/apollo/react-apollo/generated/ts-import-providers.js +13 -5
  127. package/dist/generators/apollo/react-apollo/generated/ts-import-providers.js.map +1 -1
  128. package/dist/generators/apollo/react-apollo/generated/typed-templates.d.ts +33 -4
  129. package/dist/generators/apollo/react-apollo/generated/typed-templates.d.ts.map +1 -1
  130. package/dist/generators/apollo/react-apollo/generated/typed-templates.js +38 -10
  131. package/dist/generators/apollo/react-apollo/generated/typed-templates.js.map +1 -1
  132. package/dist/generators/apollo/react-apollo/graphql-eslint-rules.d.ts +2 -0
  133. package/dist/generators/apollo/react-apollo/graphql-eslint-rules.d.ts.map +1 -0
  134. package/dist/generators/apollo/react-apollo/graphql-eslint-rules.js +43 -0
  135. package/dist/generators/apollo/react-apollo/graphql-eslint-rules.js.map +1 -0
  136. package/dist/generators/apollo/react-apollo/providers/graphql-imports.d.ts +29 -0
  137. package/dist/generators/apollo/react-apollo/providers/graphql-imports.d.ts.map +1 -0
  138. package/dist/generators/apollo/react-apollo/providers/graphql-imports.js +11 -0
  139. package/dist/generators/apollo/react-apollo/providers/graphql-imports.js.map +1 -0
  140. package/dist/generators/apollo/react-apollo/providers/index.d.ts +1 -1
  141. package/dist/generators/apollo/react-apollo/providers/index.d.ts.map +1 -1
  142. package/dist/generators/apollo/react-apollo/providers/index.js +1 -1
  143. package/dist/generators/apollo/react-apollo/providers/index.js.map +1 -1
  144. package/dist/generators/apollo/react-apollo/react-apollo.generator.d.ts +24 -17
  145. package/dist/generators/apollo/react-apollo/react-apollo.generator.d.ts.map +1 -1
  146. package/dist/generators/apollo/react-apollo/react-apollo.generator.js +74 -83
  147. package/dist/generators/apollo/react-apollo/react-apollo.generator.js.map +1 -1
  148. package/dist/generators/apollo/react-apollo/templates/package/graphql.config.ts +6 -0
  149. package/dist/generators/apollo/react-apollo/templates/src/graphql.ts +17 -0
  150. package/dist/generators/auth/_providers/auth-hooks.d.ts +0 -2
  151. package/dist/generators/auth/_providers/auth-hooks.d.ts.map +1 -1
  152. package/dist/generators/auth/_providers/auth-hooks.js +0 -1
  153. package/dist/generators/auth/_providers/auth-hooks.js.map +1 -1
  154. package/dist/generators/auth/auth-errors/auth-errors.generator.d.ts +0 -1
  155. package/dist/generators/auth/auth-errors/auth-errors.generator.d.ts.map +1 -1
  156. package/dist/generators/auth/auth-identify/auth-identify.generator.d.ts +0 -1
  157. package/dist/generators/auth/auth-identify/auth-identify.generator.d.ts.map +1 -1
  158. package/dist/generators/core/react/react.generator.d.ts +1 -0
  159. package/dist/generators/core/react/react.generator.d.ts.map +1 -1
  160. package/dist/generators/core/react-error-boundary/generated/index.d.ts +224 -0
  161. package/dist/generators/core/react-error-boundary/generated/index.d.ts.map +1 -1
  162. package/dist/generators/core/react-error-boundary/generated/index.js +2 -0
  163. package/dist/generators/core/react-error-boundary/generated/index.js.map +1 -1
  164. package/dist/generators/core/react-error-boundary/generated/template-paths.d.ts +1 -0
  165. package/dist/generators/core/react-error-boundary/generated/template-paths.d.ts.map +1 -1
  166. package/dist/generators/core/react-error-boundary/generated/template-paths.js +1 -0
  167. package/dist/generators/core/react-error-boundary/generated/template-paths.js.map +1 -1
  168. package/dist/generators/core/react-error-boundary/generated/template-renderers.d.ts +3 -0
  169. package/dist/generators/core/react-error-boundary/generated/template-renderers.d.ts.map +1 -1
  170. package/dist/generators/core/react-error-boundary/generated/template-renderers.js +11 -0
  171. package/dist/generators/core/react-error-boundary/generated/template-renderers.js.map +1 -1
  172. package/dist/generators/core/react-error-boundary/generated/ts-import-providers.d.ts +18 -0
  173. package/dist/generators/core/react-error-boundary/generated/ts-import-providers.d.ts.map +1 -0
  174. package/dist/generators/core/react-error-boundary/generated/ts-import-providers.js +26 -0
  175. package/dist/generators/core/react-error-boundary/generated/ts-import-providers.js.map +1 -0
  176. package/dist/generators/core/react-error-boundary/generated/typed-templates.d.ts +215 -0
  177. package/dist/generators/core/react-error-boundary/generated/typed-templates.d.ts.map +1 -1
  178. package/dist/generators/core/react-error-boundary/generated/typed-templates.js +14 -1
  179. package/dist/generators/core/react-error-boundary/generated/typed-templates.js.map +1 -1
  180. package/dist/generators/core/react-error-boundary/index.d.ts +2 -0
  181. package/dist/generators/core/react-error-boundary/index.d.ts.map +1 -1
  182. package/dist/generators/core/react-error-boundary/index.js +1 -0
  183. package/dist/generators/core/react-error-boundary/index.js.map +1 -1
  184. package/dist/generators/core/react-error-boundary/react-error-boundary.generator.d.ts +26 -14
  185. package/dist/generators/core/react-error-boundary/react-error-boundary.generator.d.ts.map +1 -1
  186. package/dist/generators/core/react-error-boundary/react-error-boundary.generator.js +7 -17
  187. package/dist/generators/core/react-error-boundary/react-error-boundary.generator.js.map +1 -1
  188. package/dist/generators/core/react-error-boundary/templates/components/ui/async-boundary.tsx +48 -0
  189. package/dist/generators/core/react-error-boundary/templates/components/ui/error-boundary.tsx +2 -10
  190. package/dist/generators/core/react-router/react-router.generator.d.ts +1 -0
  191. package/dist/generators/core/react-router/react-router.generator.d.ts.map +1 -1
  192. package/dist/generators/core/react-typescript/react-typescript.generator.d.ts +5 -1
  193. package/dist/generators/core/react-typescript/react-typescript.generator.d.ts.map +1 -1
  194. package/dist/generators/core/react-typescript/react-typescript.generator.js +31 -24
  195. package/dist/generators/core/react-typescript/react-typescript.generator.js.map +1 -1
  196. package/dist/writers/graphql/gql-tada.d.ts +69 -0
  197. package/dist/writers/graphql/gql-tada.d.ts.map +1 -0
  198. package/dist/writers/graphql/gql-tada.js +118 -0
  199. package/dist/writers/graphql/gql-tada.js.map +1 -0
  200. package/dist/writers/graphql/graphql.d.ts +133 -0
  201. package/dist/writers/graphql/graphql.d.ts.map +1 -0
  202. package/dist/writers/graphql/graphql.js +188 -0
  203. package/dist/writers/graphql/graphql.js.map +1 -0
  204. package/dist/writers/graphql/index.d.ts +2 -65
  205. package/dist/writers/graphql/index.d.ts.map +1 -1
  206. package/dist/writers/graphql/index.js +2 -216
  207. package/dist/writers/graphql/index.js.map +1 -1
  208. package/package.json +7 -5
  209. package/dist/generators/admin/_providers/admin-crud-display-container.d.ts +0 -7
  210. package/dist/generators/admin/_providers/admin-crud-display-container.d.ts.map +0 -1
  211. package/dist/generators/admin/_providers/admin-crud-display-container.js +0 -3
  212. package/dist/generators/admin/_providers/admin-crud-display-container.js.map +0 -1
  213. package/dist/generators/admin/_providers/admin-loader.d.ts +0 -14
  214. package/dist/generators/admin/_providers/admin-loader.d.ts.map +0 -1
  215. package/dist/generators/admin/_providers/admin-loader.js +0 -26
  216. package/dist/generators/admin/_providers/admin-loader.js.map +0 -1
  217. package/dist/generators/admin/_utils/data-display.d.ts +0 -10
  218. package/dist/generators/admin/_utils/data-display.d.ts.map +0 -1
  219. package/dist/generators/admin/_utils/data-display.js +0 -2
  220. package/dist/generators/admin/_utils/data-display.js.map +0 -1
  221. package/dist/generators/admin/_utils/data-loaders.d.ts +0 -23
  222. package/dist/generators/admin/_utils/data-loaders.d.ts.map +0 -1
  223. package/dist/generators/admin/_utils/data-loaders.js +0 -44
  224. package/dist/generators/admin/_utils/data-loaders.js.map +0 -1
  225. package/dist/generators/admin/_utils/foreign-data-dependency.d.ts +0 -15
  226. package/dist/generators/admin/_utils/foreign-data-dependency.d.ts.map +0 -1
  227. package/dist/generators/admin/_utils/foreign-data-dependency.js +0 -56
  228. package/dist/generators/admin/_utils/foreign-data-dependency.js.map +0 -1
  229. package/dist/generators/admin/_utils/graphql.d.ts +0 -3
  230. package/dist/generators/admin/_utils/graphql.d.ts.map +0 -1
  231. package/dist/generators/admin/_utils/graphql.js +0 -16
  232. package/dist/generators/admin/_utils/graphql.js.map +0 -1
  233. package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.d.ts +0 -34
  234. package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.d.ts.map +0 -1
  235. package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.js +0 -203
  236. package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.js.map +0 -1
  237. package/dist/generators/admin/admin-crud-queries/index.d.ts +0 -2
  238. package/dist/generators/admin/admin-crud-queries/index.d.ts.map +0 -1
  239. package/dist/generators/admin/admin-crud-queries/index.js +0 -2
  240. package/dist/generators/admin/admin-crud-queries/index.js.map +0 -1
  241. package/dist/generators/apollo/react-apollo/providers/generated-graphql.d.ts +0 -9
  242. package/dist/generators/apollo/react-apollo/providers/generated-graphql.d.ts.map +0 -1
  243. package/dist/generators/apollo/react-apollo/providers/generated-graphql.js +0 -7
  244. package/dist/generators/apollo/react-apollo/providers/generated-graphql.js.map +0 -1
  245. package/dist/generators/apollo/react-apollo/templates/package/codegen.ts +0 -24
@@ -33,12 +33,8 @@ export declare const REACT_PACKAGES: {
33
33
  readonly graphql: "16.11.0";
34
34
  readonly 'graphql-ws': "5.16.0";
35
35
  readonly rxjs: "7.8.2";
36
- readonly '@graphql-codegen/cli': "5.0.7";
37
- readonly '@graphql-codegen/typescript': "4.1.6";
38
- readonly '@graphql-codegen/typescript-operations': "4.6.1";
39
- readonly '@graphql-codegen/typed-document-node': "5.1.2";
40
- readonly '@graphql-typed-document-node/core': "3.2.0";
41
- readonly '@parcel/watcher': "2.5.1";
36
+ readonly 'gql.tada': "1.9.0";
37
+ readonly '@graphql-eslint/eslint-plugin': "4.4.0";
42
38
  readonly nanoid: "5.1.6";
43
39
  readonly 'use-subscription': "^1.5.1";
44
40
  readonly '@types/use-subscription': "^1.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"react-packages.d.ts","sourceRoot":"","sources":["../../src/constants/react-packages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DjB,CAAC"}
1
+ {"version":3,"file":"react-packages.d.ts","sourceRoot":"","sources":["../../src/constants/react-packages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DjB,CAAC"}
@@ -38,12 +38,8 @@ export const REACT_PACKAGES = {
38
38
  graphql: '16.11.0',
39
39
  'graphql-ws': '5.16.0',
40
40
  rxjs: '7.8.2',
41
- '@graphql-codegen/cli': '5.0.7',
42
- '@graphql-codegen/typescript': '4.1.6',
43
- '@graphql-codegen/typescript-operations': '4.6.1',
44
- '@graphql-codegen/typed-document-node': '5.1.2',
45
- '@graphql-typed-document-node/core': '3.2.0',
46
- '@parcel/watcher': '2.5.1',
41
+ 'gql.tada': '1.9.0',
42
+ '@graphql-eslint/eslint-plugin': '4.4.0',
47
43
  // Utils
48
44
  nanoid: '5.1.6',
49
45
  'use-subscription': '^1.5.1',
@@ -1 +1 @@
1
- {"version":3,"file":"react-packages.js","sourceRoot":"","sources":["../../src/constants/react-packages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,QAAQ;IACrB,wBAAwB,EAAE,SAAS;IACnC,yBAAyB,EAAE,SAAS;IACpC,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,QAAQ;IACxB,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,OAAO;IAC/B,IAAI,EAAE,QAAQ;IACd,kBAAkB,EAAE,OAAO;IAC3B,qBAAqB,EAAE,OAAO;IAE9B,QAAQ,EAAE,OAAO;IAEjB,WAAW;IACX,mBAAmB,EAAE,QAAQ;IAC7B,WAAW,EAAE,QAAQ;IACrB,6BAA6B,EAAE,QAAQ;IACvC,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,OAAO;IAEzB,aAAa;IACb,qBAAqB,EAAE,OAAO;IAC9B,IAAI,EAAE,OAAO;IACb,iBAAiB,EAAE,QAAQ;IAC3B,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,OAAO;IAChB,sBAAsB,EAAE,OAAO;IAC/B,UAAU,EAAE,OAAO;IACnB,0BAA0B,EAAE,OAAO;IACnC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,OAAO;IAEf,cAAc;IACd,kBAAkB,EAAE,OAAO;IAC3B,UAAU,EAAE,OAAO;IAEnB,UAAU;IACV,gBAAgB,EAAE,QAAQ;IAC1B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,OAAO;IACb,sBAAsB,EAAE,OAAO;IAC/B,6BAA6B,EAAE,OAAO;IACtC,wCAAwC,EAAE,OAAO;IACjD,sCAAsC,EAAE,OAAO;IAC/C,mCAAmC,EAAE,OAAO;IAC5C,iBAAiB,EAAE,OAAO;IAE1B,QAAQ;IACR,MAAM,EAAE,OAAO;IACf,kBAAkB,EAAE,QAAQ;IAC5B,yBAAyB,EAAE,QAAQ;IAEnC,aAAa;IACb,GAAG,EAAE,QAAQ;IAEb,SAAS;IACT,eAAe,EAAE,QAAQ;CACjB,CAAC"}
1
+ {"version":3,"file":"react-packages.js","sourceRoot":"","sources":["../../src/constants/react-packages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,QAAQ;IACrB,wBAAwB,EAAE,SAAS;IACnC,yBAAyB,EAAE,SAAS;IACpC,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,QAAQ;IACxB,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,OAAO;IAC/B,IAAI,EAAE,QAAQ;IACd,kBAAkB,EAAE,OAAO;IAC3B,qBAAqB,EAAE,OAAO;IAE9B,QAAQ,EAAE,OAAO;IAEjB,WAAW;IACX,mBAAmB,EAAE,QAAQ;IAC7B,WAAW,EAAE,QAAQ;IACrB,6BAA6B,EAAE,QAAQ;IACvC,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,OAAO;IAEzB,aAAa;IACb,qBAAqB,EAAE,OAAO;IAC9B,IAAI,EAAE,OAAO;IACb,iBAAiB,EAAE,QAAQ;IAC3B,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,OAAO;IAChB,sBAAsB,EAAE,OAAO;IAC/B,UAAU,EAAE,OAAO;IACnB,0BAA0B,EAAE,OAAO;IACnC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,OAAO;IAEf,cAAc;IACd,kBAAkB,EAAE,OAAO;IAC3B,UAAU,EAAE,OAAO;IAEnB,UAAU;IACV,gBAAgB,EAAE,QAAQ;IAC1B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,OAAO;IACnB,+BAA+B,EAAE,OAAO;IAExC,QAAQ;IACR,MAAM,EAAE,OAAO;IACf,kBAAkB,EAAE,QAAQ;IAC5B,yBAAyB,EAAE,QAAQ;IAEnC,aAAa;IACb,GAAG,EAAE,QAAQ;IAEb,SAAS;IACT,eAAe,EAAE,QAAQ;CACjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { TsCodeFragment } from '@baseplate-dev/core-generators';
2
2
  import type { GraphQLField } from '#src/writers/graphql/index.js';
3
+ import type { DataLoader } from '../_utils/data-loader.js';
3
4
  export interface AdminCrudAction {
4
5
  type: string;
5
6
  name: string;
@@ -8,11 +9,24 @@ export interface AdminCrudAction {
8
9
  siblingContent?: TsCodeFragment;
9
10
  action: TsCodeFragment;
10
11
  graphQLFields?: GraphQLField[];
12
+ dataLoaders?: DataLoader[];
11
13
  order: number;
12
14
  }
13
15
  export interface AdminCrudActionContainer {
14
16
  addAction: (action: AdminCrudAction) => void;
15
17
  getModelName: () => string;
18
+ /**
19
+ * Gets the name of the parent component that contains the action.
20
+ */
21
+ getParentComponentName: () => string;
22
+ /**
23
+ * Gets the path of the parent component that contains the action.
24
+ */
25
+ getParentComponentPath: () => string;
26
+ /**
27
+ * Gets the variable name of the items fragment that is used in the parent component.
28
+ */
29
+ getItemsFragmentVariable: () => string;
16
30
  }
17
31
  export declare const adminCrudActionContainerProvider: import("@baseplate-dev/sync").ProviderType<AdminCrudActionContainer>;
18
32
  //# sourceMappingURL=admin-crud-action-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-action-container.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-action-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,gCAAgC,sEACgC,CAAC"}
1
+ {"version":3,"file":"admin-crud-action-container.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-action-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;OAEG;IACH,sBAAsB,EAAE,MAAM,MAAM,CAAC;IACrC;;OAEG;IACH,sBAAsB,EAAE,MAAM,MAAM,CAAC;IACrC;;OAEG;IACH,wBAAwB,EAAE,MAAM,MAAM,CAAC;CACxC;AAED,eAAO,MAAM,gCAAgC,sEACgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-action-container.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-action-container.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAoBzD,MAAM,CAAC,MAAM,gCAAgC,GAC3C,kBAAkB,CAA2B,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-crud-action-container.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-action-container.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAmCzD,MAAM,CAAC,MAAM,gCAAgC,GAC3C,kBAAkB,CAA2B,6BAA6B,CAAC,CAAC"}
@@ -1,8 +1,12 @@
1
- import type { AdminCrudDisplay } from '../_utils/data-display.js';
1
+ import type { TsCodeFragment } from '@baseplate-dev/core-generators';
2
+ import type { GraphQLField } from '#src/writers/graphql/graphql.js';
3
+ import type { DataLoader } from '../_utils/data-loader.js';
2
4
  export interface AdminCrudColumn {
3
5
  label: string;
4
- display: AdminCrudDisplay;
5
6
  order: number;
7
+ content: (itemName: string) => TsCodeFragment;
8
+ graphQLFields: GraphQLField[];
9
+ dataLoaders?: DataLoader[];
6
10
  }
7
11
  export interface AdminCrudColumnContainer {
8
12
  addColumn: (input: AdminCrudColumn) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-column-container.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-column-container.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,gCAAgC,sEACgC,CAAC"}
1
+ {"version":3,"file":"admin-crud-column-container.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-column-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,gCAAgC,sEACgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-column-container.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-column-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAezD,MAAM,CAAC,MAAM,gCAAgC,GAC3C,kBAAkB,CAA2B,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-crud-column-container.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-column-container.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAmBzD,MAAM,CAAC,MAAM,gCAAgC,GAC3C,kBAAkB,CAA2B,6BAA6B,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { TsCodeFragment } from '@baseplate-dev/core-generators';
2
2
  import type { GraphQLField } from '#src/writers/graphql/index.js';
3
- import type { AdminCrudDataDependency } from '../_utils/data-loaders.js';
3
+ import type { DataLoader } from '../_utils/data-loader.js';
4
4
  export interface AdminCrudInputValidation {
5
5
  key: string;
6
6
  expression: TsCodeFragment;
@@ -10,12 +10,14 @@ export interface AdminCrudInput {
10
10
  content: TsCodeFragment;
11
11
  graphQLFields: GraphQLField[];
12
12
  validation: AdminCrudInputValidation[];
13
- dataDependencies?: AdminCrudDataDependency[];
13
+ dataLoaders?: DataLoader[];
14
14
  header?: TsCodeFragment;
15
15
  }
16
16
  export interface AdminCrudInputContainer {
17
17
  addInput: (input: AdminCrudInput) => void;
18
18
  getModelName: () => string;
19
+ getParentComponentName: () => string;
20
+ getParentComponentPath: () => string;
19
21
  isInModal: () => boolean;
20
22
  }
21
23
  export declare const adminCrudInputContainerProvider: import("@baseplate-dev/sync").ProviderType<AdminCrudInputContainer>;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-input-container.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-input-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC7C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,+BAA+B,qEAC+B,CAAC"}
1
+ {"version":3,"file":"admin-crud-input-container.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-input-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,MAAM,CAAC;IACrC,sBAAsB,EAAE,MAAM,MAAM,CAAC;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,+BAA+B,qEAC+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-input-container.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-input-container.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA0BzD,MAAM,CAAC,MAAM,+BAA+B,GAC1C,kBAAkB,CAA0B,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-crud-input-container.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/admin-crud-input-container.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA4BzD,MAAM,CAAC,MAAM,+BAA+B,GAC1C,kBAAkB,CAA0B,4BAA4B,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
+ export * from '../_utils/data-loader.js';
1
2
  export * from './admin-crud-action-container.js';
2
3
  export * from './admin-crud-column-container.js';
3
- export * from './admin-crud-display-container.js';
4
4
  export * from './admin-crud-input-container.js';
5
- export * from './admin-loader.js';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC"}
@@ -1,6 +1,5 @@
1
+ export * from '../_utils/data-loader.js';
1
2
  export * from './admin-crud-action-container.js';
2
3
  export * from './admin-crud-column-container.js';
3
- export * from './admin-crud-display-container.js';
4
4
  export * from './admin-crud-input-container.js';
5
- export * from './admin-loader.js';
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/admin/_providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { TsCodeFragment } from '@baseplate-dev/core-generators';
2
+ /**
3
+ * Data loading requirements for the route loader
4
+ */
5
+ export interface RouteLoaderField {
6
+ /**
7
+ * The property key to pass through the loader
8
+ */
9
+ key: string;
10
+ /**
11
+ * The value to pass through the loader
12
+ */
13
+ value: TsCodeFragment;
14
+ /**
15
+ * Optional content to put into the body of the loader
16
+ */
17
+ loaderBody?: TsCodeFragment;
18
+ /**
19
+ * Any fields that need to be destructured from the context
20
+ */
21
+ contextFields?: string[];
22
+ /**
23
+ * Any fields that need to be destructured from the params
24
+ */
25
+ paramsFields?: string[];
26
+ /**
27
+ * Skip destructure (avoids destructuring in the component - useful for crumb)
28
+ */
29
+ skipDestructure?: boolean;
30
+ }
31
+ export interface DataLoader {
32
+ /** Fields to pass through the route loader to the component */
33
+ routeLoaderFields?: RouteLoaderField[];
34
+ /** Fragment to render inside the page component */
35
+ pageComponentBody?: TsCodeFragment;
36
+ /** The property name to use to pass through to the component */
37
+ propName: string;
38
+ /** The type of the property on the component */
39
+ propType: TsCodeFragment;
40
+ /** The value of the prop (used in the page component) */
41
+ propPageValue: TsCodeFragment;
42
+ }
43
+ export declare function renderDataLoaders(loaders: DataLoader[], extraRouteLoaderFields?: RouteLoaderField[]): {
44
+ routeLoader: TsCodeFragment | undefined;
45
+ componentBody: TsCodeFragment;
46
+ childProps: Record<string, TsCodeFragment>;
47
+ };
48
+ //# sourceMappingURL=data-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-loader.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_utils/data-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMrE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,QAAQ,EAAE,cAAc,CAAC;IACzB,yDAAyD;IACzD,aAAa,EAAE,cAAc,CAAC;CAC/B;AA6DD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EAAE,EACrB,sBAAsB,GAAE,gBAAgB,EAAO,GAC9C;IACD,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC5C,CAwCA"}
@@ -0,0 +1,55 @@
1
+ import { TsCodeUtils, tsTemplate } from '@baseplate-dev/core-generators';
2
+ import { assertNoDuplicates, notEmpty } from '@baseplate-dev/utils';
3
+ import { uniq } from 'es-toolkit';
4
+ function renderRouteLoaderFunction(routeLoaderFields) {
5
+ if (routeLoaderFields.length === 0)
6
+ return undefined;
7
+ assertNoDuplicates(routeLoaderFields, 'route loader fields');
8
+ const contextFields = uniq(routeLoaderFields.flatMap((r) => r.contextFields ?? []));
9
+ const contextArg = contextFields.length === 0
10
+ ? ''
11
+ : `context: { ${contextFields.join(', ')} }`;
12
+ const paramsFields = uniq(routeLoaderFields.flatMap((r) => r.paramsFields ?? []));
13
+ const paramsArg = paramsFields.length === 0 ? '' : `params: { ${paramsFields.join(', ')} }`;
14
+ const loaderArgs = contextArg || paramsArg
15
+ ? `{ ${[contextArg, paramsArg].filter(notEmpty).join(', ')} }`
16
+ : '';
17
+ const bodyFragments = Object.fromEntries(routeLoaderFields
18
+ .map((r) => r.loaderBody
19
+ ? [r.key, r.loaderBody]
20
+ : undefined)
21
+ .filter(notEmpty));
22
+ const loaderBody = Object.keys(bodyFragments).length === 0
23
+ ? undefined
24
+ : TsCodeUtils.mergeFragments(bodyFragments, '\n\n');
25
+ const loaderReturn = TsCodeUtils.mergeFragmentsAsObject(Object.fromEntries(routeLoaderFields.map((r) => [r.key, r.value])));
26
+ return tsTemplate `(${loaderArgs}) => ${loaderBody
27
+ ? tsTemplate `{
28
+ ${loaderBody}
29
+
30
+ return ${loaderReturn};
31
+ }`
32
+ : tsTemplate `(${loaderReturn})`}`;
33
+ }
34
+ export function renderDataLoaders(loaders, extraRouteLoaderFields = []) {
35
+ const routeLoader = renderRouteLoaderFunction([
36
+ ...loaders.flatMap((l) => l.routeLoaderFields ?? []),
37
+ ...extraRouteLoaderFields,
38
+ ]);
39
+ const loaderFieldsToDestructure = [
40
+ ...loaders.flatMap((l) => l.routeLoaderFields ?? []),
41
+ ...extraRouteLoaderFields,
42
+ ]
43
+ .filter((r) => !r.skipDestructure)
44
+ .map((r) => r.key);
45
+ const useLoaderDataFragment = loaderFieldsToDestructure.length === 0
46
+ ? tsTemplate ``
47
+ : tsTemplate `const { ${loaderFieldsToDestructure.join(', ')} } = Route.useLoaderData();`;
48
+ const componentBody = TsCodeUtils.mergeFragments(Object.fromEntries(loaders.map((l) => [l.propName, l.pageComponentBody])), '\n\n');
49
+ return {
50
+ routeLoader,
51
+ componentBody: TsCodeUtils.mergeFragmentsPresorted([useLoaderDataFragment, componentBody], '\n\n'),
52
+ childProps: Object.fromEntries(loaders.map((l) => [l.propName, l.propPageValue])),
53
+ };
54
+ }
55
+ //# sourceMappingURL=data-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-loader.js","sourceRoot":"","sources":["../../../../src/generators/admin/_utils/data-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ interface ModelNameVariants {
2
+ camel: string;
3
+ pascal: string;
4
+ title: string;
5
+ lowercaseWords: string;
6
+ graphqlById: string;
7
+ graphqlList: string;
8
+ graphqlObjectType: string;
9
+ pluralTitle: string;
10
+ pluralPascal: string;
11
+ }
12
+ export declare function getModelNameVariants(modelName: string): ModelNameVariants;
13
+ export {};
14
+ //# sourceMappingURL=get-model-name-variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-model-name-variants.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/_utils/get-model-name-variants.ts"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAkBzE"}
@@ -0,0 +1,23 @@
1
+ import { PASCAL_CASE_REGEX } from '@baseplate-dev/utils';
2
+ import { camelCase } from 'es-toolkit';
3
+ import { pluralize } from 'inflection';
4
+ import { titleizeCamel } from '#src/utils/case.js';
5
+ export function getModelNameVariants(modelName) {
6
+ if (!PASCAL_CASE_REGEX.test(modelName)) {
7
+ throw new Error(`Model name must be in PascalCase: ${modelName}`);
8
+ }
9
+ const camelCaseName = camelCase(modelName);
10
+ const titleizedModelName = titleizeCamel(modelName);
11
+ return {
12
+ camel: camelCaseName,
13
+ pascal: modelName,
14
+ title: titleizedModelName,
15
+ lowercaseWords: titleizeCamel(modelName).toLocaleLowerCase(),
16
+ graphqlById: camelCaseName,
17
+ graphqlList: pluralize(camelCaseName),
18
+ graphqlObjectType: modelName,
19
+ pluralTitle: titleizeCamel(pluralize(modelName)),
20
+ pluralPascal: pluralize(modelName),
21
+ };
22
+ }
23
+ //# sourceMappingURL=get-model-name-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-model-name-variants.js","sourceRoot":"","sources":["../../../../src/generators/admin/_utils/get-model-name-variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAcnD,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEpD,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,kBAAkB;QACzB,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE;QAC5D,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC;QACrC,iBAAiB,EAAE,SAAS;QAC5B,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC;KACnC,CAAC;AACJ,CAAC"}
@@ -2,11 +2,11 @@ export declare const adminCrudDeleteActionGenerator: import("@baseplate-dev/sync
2
2
  order: number;
3
3
  modelName: string;
4
4
  nameField: string;
5
+ idField: string;
5
6
  position?: "inline" | "dropdown" | undefined;
6
7
  }, {
7
8
  main: import("@baseplate-dev/sync").GeneratorTask<any, {
8
- adminCrudActionContainer: import("@baseplate-dev/sync").ProviderType<import("../_providers/admin-crud-action-container.js").AdminCrudActionContainer>;
9
- adminCrudQueries: import("@baseplate-dev/sync").ProviderType<import("../admin-crud-queries/admin-crud-queries.generator.js").AdminCrudQueriesProvider>;
9
+ adminCrudActionContainer: import("@baseplate-dev/sync").ProviderType<import("#src/generators/index.js").AdminCrudActionContainer>;
10
10
  reactComponentsImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
11
11
  AddOptionRequiredFields: {
12
12
  isTypeOnly: true;
@@ -223,6 +223,19 @@ export declare const adminCrudDeleteActionGenerator: import("@baseplate-dev/sync
223
223
  logAndFormatError: {};
224
224
  logError: {};
225
225
  }>>;
226
+ graphqlImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
227
+ graphql: {};
228
+ readFragment: {};
229
+ FragmentOf: {
230
+ isTypeOnly: true;
231
+ };
232
+ ResultOf: {
233
+ isTypeOnly: true;
234
+ };
235
+ VariablesOf: {
236
+ isTypeOnly: true;
237
+ };
238
+ }>>;
226
239
  }, any>;
227
240
  }>;
228
241
  //# sourceMappingURL=admin-crud-delete-action.generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-delete-action.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FzC,CAAC"}
1
+ {"version":3,"file":"admin-crud-delete-action.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuJzC,CAAC"}
@@ -1,30 +1,41 @@
1
- import { tsImportBuilder, tsTemplateWithImports, } from '@baseplate-dev/core-generators';
1
+ import { tsHoistedFragment, tsImportBuilder, tsTemplateWithImports, } from '@baseplate-dev/core-generators';
2
2
  import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
3
+ import { lowercaseFirstChar } from '@baseplate-dev/utils';
3
4
  import { z } from 'zod';
4
5
  import { reactComponentsImportsProvider, reactErrorImportsProvider, } from '#src/generators/core/index.js';
5
- import { titleizeCamel } from '#src/utils/case.js';
6
+ import { graphqlImportsProvider } from '#src/generators/index.js';
7
+ import { renderTadaOperation } from '#src/writers/graphql/gql-tada.js';
6
8
  import { adminCrudActionContainerProvider } from '../_providers/admin-crud-action-container.js';
7
- import { adminCrudQueriesProvider } from '../admin-crud-queries/admin-crud-queries.generator.js';
9
+ import { getModelNameVariants } from '../_utils/get-model-name-variants.js';
8
10
  const descriptorSchema = z.object({
9
11
  order: z.int().nonnegative(),
10
12
  modelName: z.string().min(1),
11
13
  position: z.enum(['inline', 'dropdown']).default('dropdown'),
12
14
  nameField: z.string().min(1),
15
+ idField: z.string().min(1),
13
16
  });
14
17
  export const adminCrudDeleteActionGenerator = createGenerator({
15
18
  name: 'admin/admin-crud-delete-action',
16
19
  generatorFileUrl: import.meta.url,
17
20
  descriptorSchema,
18
21
  getInstanceName: () => 'delete',
19
- buildTasks: ({ order, position, modelName, nameField }) => ({
22
+ buildTasks: ({ order, position, modelName, nameField, idField }) => ({
20
23
  main: createGeneratorTask({
21
24
  dependencies: {
22
25
  adminCrudActionContainer: adminCrudActionContainerProvider,
23
- adminCrudQueries: adminCrudQueriesProvider,
24
26
  reactComponentsImports: reactComponentsImportsProvider,
25
27
  reactErrorImports: reactErrorImportsProvider,
28
+ graphqlImports: graphqlImportsProvider,
26
29
  },
27
- run({ adminCrudActionContainer, adminCrudQueries, reactComponentsImports, reactErrorImports, }) {
30
+ run({ adminCrudActionContainer, reactComponentsImports, reactErrorImports, graphqlImports, }) {
31
+ const parentComponentName = adminCrudActionContainer.getParentComponentName();
32
+ const parentComponentPath = adminCrudActionContainer.getParentComponentPath();
33
+ const itemsFragmentVariable = adminCrudActionContainer.getItemsFragmentVariable();
34
+ const itemsFragment = tsTemplateWithImports([
35
+ graphqlImports.ResultOf.typeDeclaration(),
36
+ ]) `ResultOf<typeof ${itemsFragmentVariable}>`;
37
+ const modelNameVariants = getModelNameVariants(modelName);
38
+ const modelTitle = modelNameVariants.title;
28
39
  const actionFragment = position === 'inline'
29
40
  ? tsTemplateWithImports([
30
41
  reactComponentsImports.Button.declaration(),
@@ -48,32 +59,69 @@ export const adminCrudDeleteActionGenerator = createGenerator({
48
59
  Delete
49
60
  </DropdownMenuItem>
50
61
  `;
51
- const modelTitle = titleizeCamel(modelName);
62
+ const deleteMutationName = `${parentComponentName}Delete${modelNameVariants.pascal}`;
63
+ const deleteMutationVariable = `${lowercaseFirstChar(deleteMutationName)}Mutation`;
64
+ const graphqlDeleteFieldName = `delete${modelNameVariants.pascal}`;
65
+ const deleteMutation = {
66
+ type: 'mutation',
67
+ variableName: deleteMutationVariable,
68
+ operationName: deleteMutationName,
69
+ variables: [
70
+ { name: 'input', type: `Delete${modelNameVariants.pascal}Input!` },
71
+ ],
72
+ fields: [
73
+ {
74
+ name: graphqlDeleteFieldName,
75
+ args: [
76
+ {
77
+ name: 'input',
78
+ value: { type: 'variable', variable: 'input' },
79
+ },
80
+ ],
81
+ fields: [
82
+ {
83
+ name: modelNameVariants.camel,
84
+ fields: [{ name: idField }, { name: nameField }],
85
+ },
86
+ ],
87
+ },
88
+ ],
89
+ };
90
+ const deleteMutationHoistedFragment = renderTadaOperation(deleteMutation, { currentPath: parentComponentPath });
52
91
  const hookContent = tsTemplateWithImports([
53
92
  tsImportBuilder(['useMutation']).from('@apollo/client/react'),
54
93
  reactComponentsImports.useConfirmDialog.declaration(),
55
94
  tsImportBuilder(['toast']).from('sonner'),
56
95
  reactErrorImports.logAndFormatError.declaration(),
57
- ]) `
96
+ ], {
97
+ hoistedFragments: [
98
+ tsHoistedFragment('delete-action-mutation', deleteMutationHoistedFragment),
99
+ ],
100
+ }) `
58
101
  const { requestConfirm } = useConfirmDialog();
59
- const [${adminCrudQueries.getDeleteHookInfo().fieldName}] = useMutation(${adminCrudQueries.getDeleteHookInfo().documentExpression}, {
60
- refetchQueries: [{ query: ${adminCrudQueries.getListDocumentExpression()} }],
102
+ const [${graphqlDeleteFieldName}] = useMutation(${deleteMutationVariable}, {
103
+ update: (cache, result) => {
104
+ if (!result.data?.${graphqlDeleteFieldName}.${modelNameVariants.camel}) return;
105
+ const itemId = cache.identify(result.data.${graphqlDeleteFieldName}.${modelNameVariants.camel});
106
+ cache.evict({ id: itemId });
107
+ cache.gc();
108
+ },
61
109
  });
62
110
 
63
- function handleDelete(item: ${adminCrudQueries.getRowFragmentExpression()}): void {
111
+ function handleDelete(item: ${itemsFragment}): void {
64
112
  requestConfirm({
65
113
  title: 'Delete ${modelTitle}',
66
- content: \`Are you sure you want to delete ${modelTitle.toLocaleLowerCase()} \${item.${nameField} ? item.${nameField} : 'unnamed ${modelTitle.toLocaleLowerCase()}'}?\`,
114
+ content: \`Are you sure you want to delete ${modelNameVariants.lowercaseWords} \${item.${nameField} ? item.${nameField} : 'unnamed ${modelNameVariants.lowercaseWords}'}?\`,
67
115
  onConfirm: () => {
68
- ${adminCrudQueries.getDeleteHookInfo().fieldName}({
69
- variables: { input: { id: item.id } },
116
+ ${graphqlDeleteFieldName}({
117
+ variables: { input: { ${idField}: item.${idField} } },
70
118
  })
71
119
  .then(() => {
72
- toast.success('Successfully deleted ${modelTitle.toLocaleLowerCase()}!');
120
+ toast.success('Successfully deleted the ${modelNameVariants.lowercaseWords}!');
73
121
  })
74
122
  .catch((err: unknown) => {
75
123
  toast.error(
76
- logAndFormatError(err, 'Sorry we could not delete ${modelTitle.toLocaleLowerCase()}.'),
124
+ logAndFormatError(err, 'Sorry, we could not delete the ${modelNameVariants.lowercaseWords}.'),
77
125
  );
78
126
  });
79
127
  },
@@ -89,7 +137,7 @@ export const adminCrudDeleteActionGenerator = createGenerator({
89
137
  order,
90
138
  hookContent,
91
139
  action: actionFragment,
92
- graphQLFields: [{ name: 'id' }, { name: nameField }],
140
+ graphQLFields: [{ name: idField }, { name: nameField }],
93
141
  });
94
142
  return {};
95
143
  },
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-delete-action.generator.js","sourceRoot":"","sources":["../../../../src/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-crud-delete-action.generator.js","sourceRoot":"","sources":["../../../../src/generators/admin/admin-crud-delete-action/admin-crud-delete-action.generator.ts"],"names":[],"mappings":"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"}