@baseplate-dev/fastify-generators 0.5.0 → 0.5.2

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 (171) hide show
  1. package/CHANGELOG.md +578 -0
  2. package/dist/constants/fastify-packages.d.ts +6 -5
  3. package/dist/constants/fastify-packages.d.ts.map +1 -1
  4. package/dist/constants/fastify-packages.js +6 -5
  5. package/dist/constants/fastify-packages.js.map +1 -1
  6. package/dist/generators/auth/auth-context/auth-context.generator.d.ts +1 -0
  7. package/dist/generators/auth/auth-context/auth-context.generator.d.ts.map +1 -1
  8. package/dist/generators/auth/auth-context/generated/index.d.ts +3 -0
  9. package/dist/generators/auth/auth-context/generated/index.d.ts.map +1 -1
  10. package/dist/generators/auth/auth-context/generated/template-renderers.d.ts +1 -0
  11. package/dist/generators/auth/auth-context/generated/template-renderers.d.ts.map +1 -1
  12. package/dist/generators/auth/auth-context/generated/typed-templates.d.ts +4 -0
  13. package/dist/generators/auth/auth-context/generated/typed-templates.d.ts.map +1 -1
  14. package/dist/generators/auth/auth-context/templates/module/utils/auth-context.utils.ts +1 -1
  15. package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts +1 -0
  16. package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts.map +1 -1
  17. package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts +2 -0
  18. package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts.map +1 -1
  19. package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts +1 -0
  20. package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts.map +1 -1
  21. package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts +2 -0
  22. package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts.map +1 -1
  23. package/dist/generators/core/app-module/app-module.generator.d.ts.map +1 -1
  24. package/dist/generators/core/app-module/app-module.generator.js.map +1 -1
  25. package/dist/generators/core/app-module-setup/app-module-setup.generator.js +2 -2
  26. package/dist/generators/core/app-module-setup/app-module-setup.generator.js.map +1 -1
  27. package/dist/generators/core/axios/axios.generator.d.ts.map +1 -1
  28. package/dist/generators/core/axios/axios.generator.js +6 -1
  29. package/dist/generators/core/axios/axios.generator.js.map +1 -1
  30. package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts +2 -0
  31. package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts.map +1 -1
  32. package/dist/generators/core/error-handler-service/generated/index.d.ts +1 -0
  33. package/dist/generators/core/error-handler-service/generated/index.d.ts.map +1 -1
  34. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts +3 -0
  35. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts.map +1 -1
  36. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js +2 -0
  37. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js.map +1 -1
  38. package/dist/generators/core/error-handler-service/generated/typed-templates.d.ts.map +1 -1
  39. package/dist/generators/core/error-handler-service/generated/typed-templates.js +1 -0
  40. package/dist/generators/core/error-handler-service/generated/typed-templates.js.map +1 -1
  41. package/dist/generators/core/error-handler-service/templates/src/plugins/error-handler.ts +5 -0
  42. package/dist/generators/core/error-handler-service/templates/src/utils/http-errors.ts +16 -0
  43. package/dist/generators/core/fastify/fastify.generator.js +2 -1
  44. package/dist/generators/core/fastify/fastify.generator.js.map +1 -1
  45. package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.js +1 -1
  46. package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.js.map +1 -1
  47. package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts +1 -0
  48. package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts.map +1 -1
  49. package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts +2 -0
  50. package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts.map +1 -1
  51. package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts +1 -0
  52. package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts.map +1 -1
  53. package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts +1 -0
  54. package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts.map +1 -1
  55. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts +1 -0
  56. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts.map +1 -1
  57. package/dist/generators/core/fastify-sentry/generated/index.d.ts +2 -0
  58. package/dist/generators/core/fastify-sentry/generated/index.d.ts.map +1 -1
  59. package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts +1 -0
  60. package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts.map +1 -1
  61. package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts +1 -0
  62. package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts.map +1 -1
  63. package/dist/generators/core/logger-service/logger-service.generator.js +4 -3
  64. package/dist/generators/core/logger-service/logger-service.generator.js.map +1 -1
  65. package/dist/generators/core/service-file/service-file.generator.js +2 -2
  66. package/dist/generators/core/service-file/service-file.generator.js.map +1 -1
  67. package/dist/generators/index.d.ts +0 -1
  68. package/dist/generators/index.d.ts.map +1 -1
  69. package/dist/generators/index.js +0 -1
  70. package/dist/generators/index.js.map +1 -1
  71. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts.map +1 -1
  72. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js +2 -4
  73. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js.map +1 -1
  74. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts +27 -39
  75. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts.map +1 -1
  76. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js +28 -62
  77. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js.map +1 -1
  78. package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts +10 -0
  79. package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts.map +1 -1
  80. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +28 -2
  81. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -1
  82. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +1 -0
  83. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -1
  84. package/dist/generators/prisma/data-utils/generated/index.d.ts +2 -0
  85. package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -1
  86. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts +1 -0
  87. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts.map +1 -1
  88. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +2 -0
  89. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -1
  90. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +139 -75
  91. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +86 -104
  92. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-utils.ts +4 -2
  93. package/dist/generators/prisma/index.d.ts +1 -0
  94. package/dist/generators/prisma/index.d.ts.map +1 -1
  95. package/dist/generators/prisma/index.js +1 -0
  96. package/dist/generators/prisma/index.js.map +1 -1
  97. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +2 -0
  98. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
  99. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +1 -0
  100. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
  101. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +2 -0
  102. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
  103. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +1 -0
  104. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
  105. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -1
  106. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +6 -1
  107. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -1
  108. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.d.ts.map +1 -1
  109. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js +10 -9
  110. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js.map +1 -1
  111. package/dist/generators/prisma/prisma-model-authorizer/index.d.ts +2 -0
  112. package/dist/generators/prisma/prisma-model-authorizer/index.d.ts.map +1 -0
  113. package/dist/generators/prisma/prisma-model-authorizer/index.js +2 -0
  114. package/dist/generators/prisma/prisma-model-authorizer/index.js.map +1 -0
  115. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +54 -0
  116. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -0
  117. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +96 -0
  118. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -0
  119. package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts +1 -0
  120. package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts.map +1 -1
  121. package/dist/generators/stripe/fastify-stripe/generated/index.d.ts +2 -0
  122. package/dist/generators/stripe/fastify-stripe/generated/index.d.ts.map +1 -1
  123. package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts +1 -0
  124. package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts.map +1 -1
  125. package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts +2 -0
  126. package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts.map +1 -1
  127. package/dist/generators/yoga/yoga-plugin/generated/index.d.ts +4 -0
  128. package/dist/generators/yoga/yoga-plugin/generated/index.d.ts.map +1 -1
  129. package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts +1 -0
  130. package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts.map +1 -1
  131. package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts +4 -0
  132. package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts.map +1 -1
  133. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts +2 -0
  134. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts.map +1 -1
  135. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.js.map +1 -1
  136. package/dist/types/service-output.d.ts.map +1 -1
  137. package/dist/types/service-output.js.map +1 -1
  138. package/dist/writers/pothos/scalars.d.ts.map +1 -1
  139. package/dist/writers/pothos/scalars.js.map +1 -1
  140. package/dist/writers/prisma-schema/model-writer.js +2 -2
  141. package/dist/writers/prisma-schema/model-writer.js.map +1 -1
  142. package/package.json +10 -10
  143. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.d.ts +0 -25
  144. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.d.ts.map +0 -1
  145. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.js +0 -66
  146. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.js.map +0 -1
  147. package/dist/generators/email/fastify-postmark/generated/index.d.ts +0 -33
  148. package/dist/generators/email/fastify-postmark/generated/index.d.ts.map +0 -1
  149. package/dist/generators/email/fastify-postmark/generated/index.js +0 -9
  150. package/dist/generators/email/fastify-postmark/generated/index.js.map +0 -1
  151. package/dist/generators/email/fastify-postmark/generated/template-paths.d.ts +0 -12
  152. package/dist/generators/email/fastify-postmark/generated/template-paths.d.ts.map +0 -1
  153. package/dist/generators/email/fastify-postmark/generated/template-paths.js +0 -22
  154. package/dist/generators/email/fastify-postmark/generated/template-paths.js.map +0 -1
  155. package/dist/generators/email/fastify-postmark/generated/template-renderers.d.ts +0 -21
  156. package/dist/generators/email/fastify-postmark/generated/template-renderers.d.ts.map +0 -1
  157. package/dist/generators/email/fastify-postmark/generated/template-renderers.js +0 -39
  158. package/dist/generators/email/fastify-postmark/generated/template-renderers.js.map +0 -1
  159. package/dist/generators/email/fastify-postmark/generated/typed-templates.d.ts +0 -11
  160. package/dist/generators/email/fastify-postmark/generated/typed-templates.d.ts.map +0 -1
  161. package/dist/generators/email/fastify-postmark/generated/typed-templates.js +0 -14
  162. package/dist/generators/email/fastify-postmark/generated/typed-templates.js.map +0 -1
  163. package/dist/generators/email/fastify-postmark/index.d.ts +0 -2
  164. package/dist/generators/email/fastify-postmark/index.d.ts.map +0 -1
  165. package/dist/generators/email/fastify-postmark/index.js +0 -2
  166. package/dist/generators/email/fastify-postmark/index.js.map +0 -1
  167. package/dist/generators/email/fastify-postmark/templates/src/services/postmark.ts +0 -60
  168. package/dist/generators/email/index.d.ts +0 -2
  169. package/dist/generators/email/index.d.ts.map +0 -1
  170. package/dist/generators/email/index.js +0 -2
  171. package/dist/generators/email/index.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,578 @@
1
+ # @baseplate-dev/fastify-generators
2
+
3
+ ## 0.5.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#753](https://github.com/halfdomelabs/baseplate/pull/753) [`ef1354d`](https://github.com/halfdomelabs/baseplate/commit/ef1354da11e2c48a80af03f44834555ce63a2948) Thanks [@kingston](https://github.com/kingston)! - Add prisma-model-authorizer generator that produces model authorizer files from authorizer role configuration
8
+ - New `prisma/prisma-model-authorizer` generator in fastify-generators
9
+ - Expression codegen utility to transform DSL expressions to TypeScript code
10
+ - Compiler wiring to instantiate generator per model with authorizer roles
11
+
12
+ - [#749](https://github.com/halfdomelabs/baseplate/pull/749) [`683eb15`](https://github.com/halfdomelabs/baseplate/commit/683eb15c2c37259266959e0760b419e07f70a27e) Thanks [@kingston](https://github.com/kingston)! - Add rate limiting plugin for Baseplate projects
13
+
14
+ This release introduces a new rate limiting plugin that provides:
15
+ - **Rate Limiting Service**: `createRateLimiter` and `memoizeRateLimiter` functions for flexible rate limiting
16
+ - **Prisma/PostgreSQL Backend**: Uses `rate-limiter-flexible` with Prisma storage
17
+ - **TooManyRequestsError**: New HTTP error class with `Retry-After` header support in error-handler-service
18
+ - **Model Merger**: Automatically creates the `RateLimiterFlexible` model via the project builder UI
19
+ - **Type-Safe API**: Full TypeScript support for rate limiter configuration and results
20
+
21
+ The auth plugin now supports rate limiting for login attempts via the rate-limit plugin integration.
22
+
23
+ - [#760](https://github.com/halfdomelabs/baseplate/pull/760) [`938a7b1`](https://github.com/halfdomelabs/baseplate/commit/938a7b113550a7a245b65b5dfe3cc641f11096b7) Thanks [@kingston](https://github.com/kingston)! - Simplify scalarField helper by removing unused transform option
24
+
25
+ - [#755](https://github.com/halfdomelabs/baseplate/pull/755) [`02740a6`](https://github.com/halfdomelabs/baseplate/commit/02740a6e230c7fbf28fc768543353e847671c51b) Thanks [@kingston](https://github.com/kingston)! - Upgrade linting packages
26
+
27
+ **Major version bumps:**
28
+ - eslint: 9.32.0 → 9.39.2
29
+ - @eslint/js: 9.32.0 → 9.39.2
30
+ - eslint-plugin-perfectionist: 4.15.0 → 5.4.0
31
+ - eslint-plugin-react-hooks: 5.2.0 → 7.0.1
32
+ - eslint-plugin-unicorn: 60.0.0 → 62.0.0
33
+ - globals: 16.4.0 → 17.3.0
34
+ - prettier-plugin-packagejson: 2.5.19 → 3.0.0
35
+ - storybook: 10.1.10 → 10.2.8
36
+
37
+ **Minor/patch bumps:**
38
+ - @vitest/eslint-plugin: 1.3.4 → 1.6.6 (tools), 1.6.5 → 1.6.6 (core-generators)
39
+ - eslint-plugin-storybook: 10.1.10 → 10.2.3
40
+ - prettier-plugin-tailwindcss: 0.6.14 → 0.7.2
41
+ - typescript-eslint: 8.38.0 → 8.54.0
42
+ - @types/eslint-plugin-jsx-a11y: 6.10.0 → 6.10.1
43
+
44
+ **Config changes:**
45
+ - Updated eslint-plugin-react-hooks v7 API: `configs['recommended-latest']` → `configs.flat['recommended-latest']`
46
+ - Disabled new strict rules from react-hooks v7 (refs, set-state-in-effect, preserve-manual-memoization, incompatible-library)
47
+
48
+ - [#756](https://github.com/halfdomelabs/baseplate/pull/756) [`dd40bcd`](https://github.com/halfdomelabs/baseplate/commit/dd40bcd219c79f0cd7b66c0427c77deda0664072) Thanks [@kingston](https://github.com/kingston)! - Upgrade packages to fix security vulnerabilities and update to latest versions
49
+
50
+ **Security fixes:**
51
+ - @modelcontextprotocol/sdk: 1.25.1 → 1.26.0 (fixes CVE-2026-25536 - cross-client data leak)
52
+ - fastify: 5.6.2 → 5.7.4 (security patches)
53
+ - diff: 8.0.2 → 8.0.3 (fixes CVE-2026-24001 - DoS vulnerability)
54
+ - testcontainers: 11.10.0 → 11.11.0 (fixes undici vulnerability)
55
+
56
+ **Package updates (monorepo):**
57
+ - @tailwindcss/vite: 4.1.13 → 4.1.18
58
+ - tailwindcss: 4.1.13 → 4.1.18
59
+ - @tanstack/react-router: 1.139.7 → 1.159.5
60
+ - @tanstack/router-plugin: 1.139.7 → 1.159.5
61
+ - @testing-library/jest-dom: 6.6.3 → 6.9.1
62
+ - concurrently: 9.0.1 → 9.2.1
63
+ - ts-morph: 26.0.0 → 27.0.2
64
+
65
+ **Package updates (generated projects):**
66
+ - prisma/@prisma/client/@prisma/adapter-pg: 7.2.0 → 7.4.0
67
+ - postmark: 4.0.2 → 4.0.5
68
+ - axios: 1.12.0 → 1.13.5
69
+
70
+ - Updated dependencies [[`02740a6`](https://github.com/halfdomelabs/baseplate/commit/02740a6e230c7fbf28fc768543353e847671c51b), [`dd40bcd`](https://github.com/halfdomelabs/baseplate/commit/dd40bcd219c79f0cd7b66c0427c77deda0664072), [`7d1a9d6`](https://github.com/halfdomelabs/baseplate/commit/7d1a9d6d381279434f2ac632e9f8accde34dda25), [`63bd074`](https://github.com/halfdomelabs/baseplate/commit/63bd074b3b24b0978d4271a5bc76a8531b0f60c2)]:
71
+ - @baseplate-dev/core-generators@0.5.2
72
+ - @baseplate-dev/sync@0.5.2
73
+ - @baseplate-dev/utils@0.5.2
74
+
75
+ ## 0.5.1
76
+
77
+ ### Patch Changes
78
+
79
+ - [#740](https://github.com/halfdomelabs/baseplate/pull/740) [`2de5d5c`](https://github.com/halfdomelabs/baseplate/commit/2de5d5c43c5354571d50707a99b4028ff8792534) Thanks [@kingston](https://github.com/kingston)! - Add email plugin with Postmark implementation for queue-based email delivery
80
+ - Add `@baseplate-dev/plugin-email/transactional-lib` library type for generating transactional email libraries
81
+ - Include reusable email components (Button, Heading, Text, Link, Divider, Section, Layout)
82
+
83
+ - [#741](https://github.com/halfdomelabs/baseplate/pull/741) [`ecebd3b`](https://github.com/halfdomelabs/baseplate/commit/ecebd3bf50cfa2d2a62501e0be39c411b42bed25) Thanks [@kingston](https://github.com/kingston)! - Fix duplicate identifier bug in generated nested field buildData functions
84
+ - Split `buildData` into separate `buildCreateData` and `buildUpdateData` functions
85
+ - Each function now has its own scope, avoiding duplicate identifier errors when FK fields are destructured
86
+ - Use `Promise.all` for parallel execution of buildCreateData and buildUpdateData
87
+
88
+ - [#739](https://github.com/halfdomelabs/baseplate/pull/739) [`ff4203e`](https://github.com/halfdomelabs/baseplate/commit/ff4203e45a057b25a0ded5ecb3e1c07f5c7108b4) Thanks [@kingston](https://github.com/kingston)! - Fix stale data bug in data operations when afterExecute/afterCommit hooks modify related records
89
+ - Add conditional re-fetch after hooks complete when query includes relations
90
+ - Add required `getWhereUnique` to `CreateOperationConfig` for ID extraction
91
+ - Extend `findUnique` in `GenericPrismaDelegate` to accept optional `include`
92
+
93
+ - Updated dependencies []:
94
+ - @baseplate-dev/core-generators@0.5.1
95
+ - @baseplate-dev/sync@0.5.1
96
+ - @baseplate-dev/utils@0.5.1
97
+
98
+ ## 0.5.0
99
+
100
+ ### Patch Changes
101
+
102
+ - [#732](https://github.com/halfdomelabs/baseplate/pull/732) [`fbabdec`](https://github.com/halfdomelabs/baseplate/commit/fbabdecf6715c21799d1c224b3a2162ef1f49797) Thanks [@kingston](https://github.com/kingston)! - Remove root: 'src/' from vitest.config.ts
103
+
104
+ - [#736](https://github.com/halfdomelabs/baseplate/pull/736) [`d09175d`](https://github.com/halfdomelabs/baseplate/commit/d09175dc41d33fb0a818d53c2e2da899430a48cd) Thanks [@kingston](https://github.com/kingston)! - Move scripts directory from `scripts/` to `src/scripts/` for fastify-generated projects, allowing TypeScript files to compile alongside the rest of the app and use `@src/` imports
105
+
106
+ - Updated dependencies [[`fbabdec`](https://github.com/halfdomelabs/baseplate/commit/fbabdecf6715c21799d1c224b3a2162ef1f49797), [`9b31726`](https://github.com/halfdomelabs/baseplate/commit/9b31726ee0dce77dc7b16fa334eb597d86349599), [`97bd14e`](https://github.com/halfdomelabs/baseplate/commit/97bd14e381206b54e55c22264d1d406e83146146), [`c7d373e`](https://github.com/halfdomelabs/baseplate/commit/c7d373ebaaeda2522515fdaeae0d37d0cd9ce7fe), [`2d5abd5`](https://github.com/halfdomelabs/baseplate/commit/2d5abd53fccfc2b15f8142fc796c5e4ea4c2f92a), [`8bfc742`](https://github.com/halfdomelabs/baseplate/commit/8bfc742b8a93393a5539babfd11b97a88ee9c39e)]:
107
+ - @baseplate-dev/core-generators@0.5.0
108
+ - @baseplate-dev/sync@0.5.0
109
+ - @baseplate-dev/utils@0.5.0
110
+
111
+ ## 0.4.4
112
+
113
+ ### Patch Changes
114
+
115
+ - [#726](https://github.com/halfdomelabs/baseplate/pull/726) [`ec2f1e9`](https://github.com/halfdomelabs/baseplate/commit/ec2f1e9716e84cd4a901c071eacf4971436962d9) Thanks [@kingston](https://github.com/kingston)! - Fix handling of Prisma scalar fields without options
116
+
117
+ - Updated dependencies []:
118
+ - @baseplate-dev/core-generators@0.4.4
119
+ - @baseplate-dev/sync@0.4.4
120
+ - @baseplate-dev/utils@0.4.4
121
+
122
+ ## 0.4.3
123
+
124
+ ### Patch Changes
125
+
126
+ - [#720](https://github.com/halfdomelabs/baseplate/pull/720) [`12d1e62`](https://github.com/halfdomelabs/baseplate/commit/12d1e625bc04256eeb2704faa3f36dfda00545f9) Thanks [@kingston](https://github.com/kingston)! - Use block syntax instead of arrow function implicit returns in generated data operation callbacks for better error diagnostics
127
+
128
+ - [#718](https://github.com/halfdomelabs/baseplate/pull/718) [`6e23a6f`](https://github.com/halfdomelabs/baseplate/commit/6e23a6f2ff99954eebcb78b450d0c18618aa0b54) Thanks [@kingston](https://github.com/kingston)! - Fix nestedOneToOneField to not error when setting to null on non-existent relation
129
+
130
+ Previously, setting a nested one-to-one field to `null` would throw an error if the related record didn't exist, because Prisma's `delete: true` syntax requires the record to exist. Now the deletion is performed via an `afterExecute` hook using `deleteMany`, which is idempotent and won't error if no record exists.
131
+
132
+ - [#719](https://github.com/halfdomelabs/baseplate/pull/719) [`f1bab33`](https://github.com/halfdomelabs/baseplate/commit/f1bab3310fa8c00c645a6d9aca0a6a757cb661f1) Thanks [@kingston](https://github.com/kingston)! - Refactor authorization system to use ABAC pattern with string-based roles
133
+ - Add `authorizerCache` and `authorizerModelCache` fields to ServiceContext via the `authorizer-utils` generator for caching authorization decisions
134
+ - Remove `AuthRole` type and `extractRoles` config from pothos-auth generator as authorization now uses string-based roles with instance role functions
135
+ - Add new authorizer utilities including `checkGlobalAuthorization`, `checkInstanceAuthorization`, and `createModelAuthorizer` for flexible authorization patterns
136
+
137
+ - [#717](https://github.com/halfdomelabs/baseplate/pull/717) [`83e4e7f`](https://github.com/halfdomelabs/baseplate/commit/83e4e7f60adf67480cebb4ff419c015ff282010d) Thanks [@kingston](https://github.com/kingston)! - Add support for generating vitest on web apps
138
+
139
+ - [#722](https://github.com/halfdomelabs/baseplate/pull/722) [`8622c4e`](https://github.com/halfdomelabs/baseplate/commit/8622c4e2b91788ad4a368c9f06f82a17ee1a29ed) Thanks [@kingston](https://github.com/kingston)! - Add support for generating files in package.json
140
+
141
+ - Updated dependencies [[`83e4e7f`](https://github.com/halfdomelabs/baseplate/commit/83e4e7f60adf67480cebb4ff419c015ff282010d), [`8622c4e`](https://github.com/halfdomelabs/baseplate/commit/8622c4e2b91788ad4a368c9f06f82a17ee1a29ed)]:
142
+ - @baseplate-dev/core-generators@0.4.3
143
+ - @baseplate-dev/sync@0.4.3
144
+ - @baseplate-dev/utils@0.4.3
145
+
146
+ ## 0.4.2
147
+
148
+ ### Patch Changes
149
+
150
+ - [#711](https://github.com/halfdomelabs/baseplate/pull/711) [`bde61e3`](https://github.com/halfdomelabs/baseplate/commit/bde61e3e5dfc4d6d19c0d2a71491de4605cd2c20) Thanks [@kingston](https://github.com/kingston)! - Add BullMQ plugin as managed child of queue plugin
151
+ - Create new BullMQ plugin (`@baseplate-dev/plugin-queue/bullmq`) following the pg-boss plugin pattern
152
+ - Add migration (021) to migrate `enableBullQueue` from backend app config to queue/bullmq plugin config
153
+ - Remove old `bullMqGenerator` and `fastifyBullBoardGenerator` from fastify-generators
154
+ - Remove Bull Board integration (to be replaced with local alternative in the future)
155
+ - Remove `enableBullQueue` option from backend app schema and UI
156
+
157
+ - [#701](https://github.com/halfdomelabs/baseplate/pull/701) [`e8576b9`](https://github.com/halfdomelabs/baseplate/commit/e8576b9ba5912acf9d81bcc1b18a0fbc8df91220) Thanks [@kingston](https://github.com/kingston)! - Upgrade Fastify to 5.6.2 and fastify-plugin to 5.1.0
158
+
159
+ - [#701](https://github.com/halfdomelabs/baseplate/pull/701) [`e8576b9`](https://github.com/halfdomelabs/baseplate/commit/e8576b9ba5912acf9d81bcc1b18a0fbc8df91220) Thanks [@kingston](https://github.com/kingston)! - Upgrade to Zod v4
160
+
161
+ - [#700](https://github.com/halfdomelabs/baseplate/pull/700) [`5d4ae05`](https://github.com/halfdomelabs/baseplate/commit/5d4ae05b1781100ee21c5a60784f0107014bade4) Thanks [@kingston](https://github.com/kingston)! - Pass service context to create/update/delete operations in data operations
162
+
163
+ - [#697](https://github.com/halfdomelabs/baseplate/pull/697) [`11fa86f`](https://github.com/halfdomelabs/baseplate/commit/11fa86fb8e7a209175f132b1b3d59cd24cf13d54) Thanks [@kingston](https://github.com/kingston)! - Ignore \*.map files from built output in package.json
164
+
165
+ - [#713](https://github.com/halfdomelabs/baseplate/pull/713) [`74529e7`](https://github.com/halfdomelabs/baseplate/commit/74529e7fffae8a70f8cfe801a1897204d010e291) Thanks [@kingston](https://github.com/kingston)! - Migrate Vitest global setup from single merged file to individual files per generator
166
+ - Replace `globalSetupOperations` Map with `globalSetupFiles` array in vitest config provider
167
+ - Vitest generator now always renders `global-setup-env.ts` for environment loading
168
+ - Each generator (Redis, Prisma) now creates its own global setup file
169
+ - Vitest config outputs `globalSetup` as an array with env file first, then sorted additional files
170
+
171
+ - [#714](https://github.com/halfdomelabs/baseplate/pull/714) [`2395821`](https://github.com/halfdomelabs/baseplate/commit/239582148fe92d80457a31021036fa1e2c51cf5d) Thanks [@kingston](https://github.com/kingston)! - Fix handling of data operations with falsy update values
172
+
173
+ - [#710](https://github.com/halfdomelabs/baseplate/pull/710) [`e426b52`](https://github.com/halfdomelabs/baseplate/commit/e426b52d37f04f71ca960eb4cad2246af0603bd3) Thanks [@kingston](https://github.com/kingston)! - Upgrade Prisma to v7
174
+ - prisma: 6.17.1 → 7.2.0
175
+ - @prisma/client: 6.17.1 → 7.2.0
176
+ - @prisma/adapter-pg: 6.17.1 → 7.2.0
177
+ - @pothos/plugin-prisma: 4.12.0 → 4.14.1
178
+
179
+ - Updated dependencies [[`795ee4c`](https://github.com/halfdomelabs/baseplate/commit/795ee4c18e7b393fb9247ced23a12de5e219ab15), [`e8576b9`](https://github.com/halfdomelabs/baseplate/commit/e8576b9ba5912acf9d81bcc1b18a0fbc8df91220), [`11fa86f`](https://github.com/halfdomelabs/baseplate/commit/11fa86fb8e7a209175f132b1b3d59cd24cf13d54), [`74529e7`](https://github.com/halfdomelabs/baseplate/commit/74529e7fffae8a70f8cfe801a1897204d010e291), [`4be6c7d`](https://github.com/halfdomelabs/baseplate/commit/4be6c7dc7d900c37585b93cf5bb7198de6a41f1f), [`4be6c7d`](https://github.com/halfdomelabs/baseplate/commit/4be6c7dc7d900c37585b93cf5bb7198de6a41f1f)]:
180
+ - @baseplate-dev/sync@0.4.2
181
+ - @baseplate-dev/core-generators@0.4.2
182
+ - @baseplate-dev/utils@0.4.2
183
+
184
+ ## 0.4.1
185
+
186
+ ### Patch Changes
187
+
188
+ - Updated dependencies []:
189
+ - @baseplate-dev/core-generators@0.4.1
190
+ - @baseplate-dev/sync@0.4.1
191
+ - @baseplate-dev/utils@0.4.1
192
+
193
+ ## 0.4.0
194
+
195
+ ### Minor Changes
196
+
197
+ - [#692](https://github.com/halfdomelabs/baseplate/pull/692) [`c3c2a00`](https://github.com/halfdomelabs/baseplate/commit/c3c2a001d57a21f76e064af55941a43bedf26f18) Thanks [@kingston](https://github.com/kingston)! - Replace imperative CRUD service pattern with declarative, type-safe data operations architecture
198
+
199
+ ## Overview
200
+
201
+ This change migrates from manually-written imperative CRUD functions to a declarative, type-safe data operations system featuring composable field definitions and automatic type inference. This represents a fundamental architectural improvement in how Baseplate generates data access code.
202
+
203
+ ## Key Changes
204
+
205
+ ### Architecture Shift
206
+
207
+ **Before**: Manual, imperative functions with explicit Prisma calls and complex data transformations
208
+
209
+ ```typescript
210
+ // 250+ lines of manual data handling
211
+ export async function createUser({ data, query, context }) {
212
+ const { roles, customer, userProfile, images, ...rest } = data;
213
+
214
+ const customerOutput = await createOneToOneCreateData({ input: customer });
215
+ const imagesOutput = await createOneToManyCreateData({
216
+ /* complex config */
217
+ });
218
+ // ... more manual transformations
219
+
220
+ return applyDataPipeOutput(
221
+ [rolesOutput, customerOutput, userProfileOutput, imagesOutput],
222
+ prisma.user.create({
223
+ /* manually built data object */
224
+ }),
225
+ );
226
+ }
227
+ ```
228
+
229
+ **After**: Declarative operations with composable field definitions
230
+
231
+ ```typescript
232
+ // ~100 lines with clear separation of concerns
233
+ export const createUser = defineCreateOperation({
234
+ model: 'user',
235
+ fields: userInputFields,
236
+ create: ({ tx, data, query }) =>
237
+ tx.user.create({
238
+ data,
239
+ ...query,
240
+ }),
241
+ });
242
+ ```
243
+
244
+ ### Composable Field Definitions
245
+
246
+ Field definitions are now centralized, reusable components:
247
+
248
+ ```typescript
249
+ export const userInputFields = {
250
+ name: scalarField(z.string().nullish()),
251
+ email: scalarField(z.string()),
252
+ customer: nestedOneToOneField({
253
+ buildData: (data) => data,
254
+ fields: { stripeCustomerId: scalarField(z.string()) },
255
+ getWhereUnique: (parentModel) => ({ id: parentModel.id }),
256
+ model: 'customer',
257
+ parentModel,
258
+ relationName: 'user',
259
+ }),
260
+ images: nestedOneToManyField({
261
+ buildData: (data) => data,
262
+ fields: pick(userImageInputFields, ['id', 'caption', 'file']),
263
+ getWhereUnique: (input) => (input.id ? { id: input.id } : undefined),
264
+ model: 'userImage',
265
+ parentModel,
266
+ relationName: 'user',
267
+ }),
268
+ };
269
+ ```
270
+
271
+ ## Breaking Changes
272
+ - **File naming**: Services now use `*-data-service.ts` instead of `*-crud.ts`
273
+ - **Import paths**: New utilities from `@src/utils/data-operations/`
274
+ - **Service signatures**: Remain compatible - same inputs and outputs
275
+
276
+ - [#680](https://github.com/halfdomelabs/baseplate/pull/680) [`ac912b3`](https://github.com/halfdomelabs/baseplate/commit/ac912b384559f48c3603976d070eb54c9f20fb9b) Thanks [@kingston](https://github.com/kingston)! - Switch backend to ESM instead of CommonJS. This may break some packages but
277
+ most packages at this point are now ESM compatible.
278
+
279
+ ### Patch Changes
280
+
281
+ - [#693](https://github.com/halfdomelabs/baseplate/pull/693) [`e79df28`](https://github.com/halfdomelabs/baseplate/commit/e79df28eb7ab0275da2f630edcb1243bee40b7a5) Thanks [@kingston](https://github.com/kingston)! - Use Zod schema defined in mutations instead of restrictObjectNulls to allow for cleaner mutations and validation
282
+
283
+ - [#676](https://github.com/halfdomelabs/baseplate/pull/676) [`e68624e`](https://github.com/halfdomelabs/baseplate/commit/e68624e9372480da767d220cae60d45d9ed3c636) Thanks [@kingston](https://github.com/kingston)! - Allow prisma.config.mts to gracefully handle missing .env files by checking file existence before calling loadEnvFile(), enabling pnpm prisma generate to run successfully in environments without .env files
284
+
285
+ - [#677](https://github.com/halfdomelabs/baseplate/pull/677) [`6daff18`](https://github.com/halfdomelabs/baseplate/commit/6daff18a033d2d78746984edebba4d8c6fe957a5) Thanks [@kingston](https://github.com/kingston)! - Upgrade Prisma to 6.17.1 and adopt the new Prisma generator architecture:
286
+ - Updated to Prisma 6.17.1 for improved performance and features
287
+ - Migrated Prisma generated client location from `node_modules/.prisma/client` to `@src/generated/prisma/client.js` for better control and type safety
288
+
289
+ - [#680](https://github.com/halfdomelabs/baseplate/pull/680) [`ac912b3`](https://github.com/halfdomelabs/baseplate/commit/ac912b384559f48c3603976d070eb54c9f20fb9b) Thanks [@kingston](https://github.com/kingston)! - Upgrade TSX to 4.20.6
290
+
291
+ - [#673](https://github.com/halfdomelabs/baseplate/pull/673) [`852c3a5`](https://github.com/halfdomelabs/baseplate/commit/852c3a5ff3a185e60efaeb2cbb90eed59a95ec2b) Thanks [@kingston](https://github.com/kingston)! - Replace custom Date/DateTime/UUID scalars with graphql-scalars package and add JSON/JSONObject scalar support
292
+
293
+ This change migrates from custom scalar implementations to the well-maintained graphql-scalars package, providing:
294
+ - **Reduced maintenance burden**: No custom scalar code to maintain
295
+ - **Battle-tested implementations**: Comprehensive edge case handling from widely-used library
296
+ - **Standards compliance**: RFC 3339 compliant Date/DateTime handling
297
+ - **Better error messages**: Detailed validation error messages out of the box
298
+ - **Additional scalars**: JSON and JSONObject scalars now available
299
+
300
+ **Breaking Changes:**
301
+ - Date scalar now uses RFC 3339 format (stricter than previous YYYY-MM-DD regex)
302
+ - DateTime scalar automatically shifts non-UTC timezones to UTC
303
+ - UUID scalar has more comprehensive validation
304
+
305
+ **New Features:**
306
+ - JSON scalar for any valid JSON value (objects, arrays, primitives, null)
307
+ - JSONObject scalar for JSON objects only (rejects arrays and primitives)
308
+
309
+ **Dependencies:**
310
+ - Added graphql-scalars@1.23.0 to generated backend packages
311
+
312
+ - [#692](https://github.com/halfdomelabs/baseplate/pull/692) [`c3c2a00`](https://github.com/halfdomelabs/baseplate/commit/c3c2a001d57a21f76e064af55941a43bedf26f18) Thanks [@kingston](https://github.com/kingston)! - Remove support for password transformer since it is no longer used.
313
+
314
+ - [#680](https://github.com/halfdomelabs/baseplate/pull/680) [`ac912b3`](https://github.com/halfdomelabs/baseplate/commit/ac912b384559f48c3603976d070eb54c9f20fb9b) Thanks [@kingston](https://github.com/kingston)! - Upgrade ioredis to 5.8.1 and ioredis-mock to 8.13.0-
315
+
316
+ - [#693](https://github.com/halfdomelabs/baseplate/pull/693) [`e79df28`](https://github.com/halfdomelabs/baseplate/commit/e79df28eb7ab0275da2f630edcb1243bee40b7a5) Thanks [@kingston](https://github.com/kingston)! - Add support for validation plugin in Pothos
317
+
318
+ - Updated dependencies [[`839cbdf`](https://github.com/halfdomelabs/baseplate/commit/839cbdfc6ddc059aa86d24bf6ec5d8e95cce9042), [`c3c2a00`](https://github.com/halfdomelabs/baseplate/commit/c3c2a001d57a21f76e064af55941a43bedf26f18), [`c3c2a00`](https://github.com/halfdomelabs/baseplate/commit/c3c2a001d57a21f76e064af55941a43bedf26f18), [`6daff18`](https://github.com/halfdomelabs/baseplate/commit/6daff18a033d2d78746984edebba4d8c6fe957a5)]:
319
+ - @baseplate-dev/sync@0.4.0
320
+ - @baseplate-dev/core-generators@0.4.0
321
+ - @baseplate-dev/utils@0.4.0
322
+
323
+ ## 0.3.8
324
+
325
+ ### Patch Changes
326
+
327
+ - [#671](https://github.com/halfdomelabs/baseplate/pull/671) [`fc93dd7`](https://github.com/halfdomelabs/baseplate/commit/fc93dd70c182ac99d1f025745d88a32d6de733f5) Thanks [@kingston](https://github.com/kingston)! - Upgrade Prisma to 6.16.2
328
+
329
+ - Updated dependencies []:
330
+ - @baseplate-dev/core-generators@0.3.8
331
+ - @baseplate-dev/sync@0.3.8
332
+ - @baseplate-dev/utils@0.3.8
333
+
334
+ ## 0.3.7
335
+
336
+ ### Patch Changes
337
+
338
+ - [#664](https://github.com/halfdomelabs/baseplate/pull/664) [`d6f70e0`](https://github.com/halfdomelabs/baseplate/commit/d6f70e03f539bd8687d9e9abfc0e7cef5c9e6e29) Thanks [@kingston](https://github.com/kingston)! - Fix cookie clearing by passing options to ensure secure cookies are properly cleared. The CookieStore interface now accepts optional CookieSerializeOptions when clearing cookies, and the auth module template now passes COOKIE_OPTIONS when clearing session cookies to maintain consistency with cookie creation.
339
+
340
+ - Updated dependencies [[`9508a8e`](https://github.com/halfdomelabs/baseplate/commit/9508a8ee75e33ea0c0632f3f5ef5621b020f530d)]:
341
+ - @baseplate-dev/core-generators@0.3.7
342
+ - @baseplate-dev/sync@0.3.7
343
+ - @baseplate-dev/utils@0.3.7
344
+
345
+ ## 0.3.6
346
+
347
+ ### Patch Changes
348
+
349
+ - Updated dependencies [[`1186a21`](https://github.com/halfdomelabs/baseplate/commit/1186a21df267d112a84a42ff1d3c87b495452ce0)]:
350
+ - @baseplate-dev/core-generators@0.3.6
351
+ - @baseplate-dev/sync@0.3.6
352
+ - @baseplate-dev/utils@0.3.6
353
+
354
+ ## 0.3.5
355
+
356
+ ### Patch Changes
357
+
358
+ - Updated dependencies []:
359
+ - @baseplate-dev/core-generators@0.3.5
360
+ - @baseplate-dev/sync@0.3.5
361
+ - @baseplate-dev/utils@0.3.5
362
+
363
+ ## 0.3.4
364
+
365
+ ### Patch Changes
366
+
367
+ - [#642](https://github.com/halfdomelabs/baseplate/pull/642) [`217de38`](https://github.com/halfdomelabs/baseplate/commit/217de385f3ac869c5ef740af32634db9bcab6b0c) Thanks [@kingston](https://github.com/kingston)! - Upgrade Prisma to 6.14.0
368
+
369
+ - [#646](https://github.com/halfdomelabs/baseplate/pull/646) [`67dba69`](https://github.com/halfdomelabs/baseplate/commit/67dba697439e6bc76b81522c133d920af4dbdbb1) Thanks [@kingston](https://github.com/kingston)! - Upgrade Zod to 3.25.76
370
+
371
+ - [#643](https://github.com/halfdomelabs/baseplate/pull/643) [`7d9e6d0`](https://github.com/halfdomelabs/baseplate/commit/7d9e6d01e0a9920cee4c4d499beeffc1c663494a) Thanks [@kingston](https://github.com/kingston)! - Upgrade to TypeScript 5.8 with erasable syntax only mode
372
+
373
+ This upgrade modernizes the codebase with TypeScript 5.8, enables erasable syntax only mode for better performance, and updates runtime dependencies.
374
+
375
+ **Key Changes:**
376
+ - Upgraded TypeScript to version 5.8
377
+ - Enabled `erasableSyntaxOnly` compiler option for improved build performance
378
+ - Updated Node.js requirement to 22.18
379
+ - Updated PNPM requirement to 10.15
380
+ - Fixed parameter property syntax to be compatible with erasable syntax only mode
381
+
382
+ - Updated dependencies [[`67dba69`](https://github.com/halfdomelabs/baseplate/commit/67dba697439e6bc76b81522c133d920af4dbdbb1), [`7d9e6d0`](https://github.com/halfdomelabs/baseplate/commit/7d9e6d01e0a9920cee4c4d499beeffc1c663494a)]:
383
+ - @baseplate-dev/sync@0.3.4
384
+ - @baseplate-dev/core-generators@0.3.4
385
+ - @baseplate-dev/utils@0.3.4
386
+
387
+ ## 0.3.3
388
+
389
+ ### Patch Changes
390
+
391
+ - Updated dependencies []:
392
+ - @baseplate-dev/core-generators@0.3.3
393
+ - @baseplate-dev/sync@0.3.3
394
+ - @baseplate-dev/utils@0.3.3
395
+
396
+ ## 0.3.2
397
+
398
+ ### Patch Changes
399
+
400
+ - [#635](https://github.com/halfdomelabs/baseplate/pull/635) [`04a4978`](https://github.com/halfdomelabs/baseplate/commit/04a49785642685ca4b56aec27dc0a18520674ef9) Thanks [@kingston](https://github.com/kingston)! - Upgrade GraphQL to 16.11.0
401
+
402
+ - [#633](https://github.com/halfdomelabs/baseplate/pull/633) [`cca138a`](https://github.com/halfdomelabs/baseplate/commit/cca138a84abbb901ab628bf571ae29211a180dbb) Thanks [@kingston](https://github.com/kingston)! - Upgrade graphql-yoga, envelop, and pothos packages to latest versions
403
+ - @envelop/core: 5.0.1 → 5.3.0
404
+ - @envelop/disable-introspection: 6.0.0 → 8.0.0
405
+ - @envelop/types: 5.0.0 → 5.2.1
406
+ - graphql-yoga: 5.6.1 → 5.15.1
407
+ - @pothos/core: 4.3.0 → 4.8.1
408
+ - @pothos/plugin-simple-objects: 4.1.0 → 4.1.3
409
+ - @pothos/plugin-relay: 4.3.0 → 4.6.2
410
+ - @pothos/plugin-prisma: 4.3.1 → 4.10.0
411
+
412
+ - Updated dependencies [[`b4c15b9`](https://github.com/halfdomelabs/baseplate/commit/b4c15b98a518c53828f81624764ba693def85faf)]:
413
+ - @baseplate-dev/core-generators@0.3.2
414
+ - @baseplate-dev/sync@0.3.2
415
+ - @baseplate-dev/utils@0.3.2
416
+
417
+ ## 0.3.1
418
+
419
+ ### Patch Changes
420
+
421
+ - [#629](https://github.com/halfdomelabs/baseplate/pull/629) [`d79b0cf`](https://github.com/halfdomelabs/baseplate/commit/d79b0cfb9061dbeccc976a2f018b264849bef788) Thanks [@kingston](https://github.com/kingston)! - Add queue plugin with pg-boss implementation
422
+
423
+ Introduces a new queue plugin that provides background job processing capabilities for Baseplate projects. The initial implementation uses pg-boss as the queue backend, providing:
424
+ - **Queue Plugin Architecture**: Modular queue system with provider-based implementation pattern
425
+ - **pg-boss Integration**: PostgreSQL-based queue system with robust job processing features
426
+ - **Type-Safe Queue Definitions**: Full TypeScript support for queue job payloads and handlers
427
+ - **Job Management Features**:
428
+ - Delayed job execution
429
+ - Retry logic with configurable backoff strategies (fixed or exponential)
430
+ - Priority-based job processing
431
+ - Repeatable/cron jobs with schedule patterns
432
+ - **Worker Script Generation**: Automatic generation of worker scripts for processing background jobs
433
+ - **Queue Registry Pattern**: Centralized queue management with automatic discovery
434
+ - **Maintenance Operations**: Configurable job retention and cleanup policies
435
+ - **Graceful Shutdown**: Proper cleanup and job completion on worker termination
436
+
437
+ The plugin follows Baseplate's spec-implementation pattern, allowing for future queue backends while maintaining a consistent API.
438
+
439
+ - [#629](https://github.com/halfdomelabs/baseplate/pull/629) [`d79b0cf`](https://github.com/halfdomelabs/baseplate/commit/d79b0cfb9061dbeccc976a2f018b264849bef788) Thanks [@kingston](https://github.com/kingston)! - Improve package.json script naming conventions
440
+
441
+ Updates the generated package.json scripts for better clarity and consistency:
442
+ - **Development Scripts**:
443
+ - `dev:server` - Runs the Fastify server in development mode
444
+ - `dev:workers` - Runs background job workers in development mode
445
+ - Both scripts now use `--env-file-if-exists` for optional .env file loading
446
+ - **Script Utilities**:
447
+ - `script:dev` - Generic development script runner with watch mode
448
+ - `script:run` - Generic script runner for one-off executions
449
+ - **Worker Scripts**:
450
+ - `start:workers` - Production worker startup command
451
+
452
+ These naming conventions make it clearer what each script does and follow a consistent pattern of `category:action` for better organization.
453
+
454
+ - Updated dependencies [[`d79b0cf`](https://github.com/halfdomelabs/baseplate/commit/d79b0cfb9061dbeccc976a2f018b264849bef788)]:
455
+ - @baseplate-dev/core-generators@0.3.1
456
+ - @baseplate-dev/sync@0.3.1
457
+ - @baseplate-dev/utils@0.3.1
458
+
459
+ ## 0.3.0
460
+
461
+ ### Patch Changes
462
+
463
+ - [#626](https://github.com/halfdomelabs/baseplate/pull/626) [`8ec33fc`](https://github.com/halfdomelabs/baseplate/commit/8ec33fcdc8fea9cb20e79586b854bf075270ab53) Thanks [@kingston](https://github.com/kingston)! - Remove dotenv references and replace with native node --env-file option
464
+
465
+ - [#625](https://github.com/halfdomelabs/baseplate/pull/625) [`96a3099`](https://github.com/halfdomelabs/baseplate/commit/96a3099ff9eba05fc3b3618b54407014cc555dc2) Thanks [@kingston](https://github.com/kingston)! - Add ability to set Prisma seed scripts and add seed script for local auth users
466
+
467
+ - Updated dependencies [[`687a47e`](https://github.com/halfdomelabs/baseplate/commit/687a47e5e39abc5138ba3fc2d0db9cfee6e4dbfe), [`8ec33fc`](https://github.com/halfdomelabs/baseplate/commit/8ec33fcdc8fea9cb20e79586b854bf075270ab53), [`fbde70f`](https://github.com/halfdomelabs/baseplate/commit/fbde70ffbcae025318480e9607924978847fba2b)]:
468
+ - @baseplate-dev/sync@0.3.0
469
+ - @baseplate-dev/core-generators@0.3.0
470
+ - @baseplate-dev/utils@0.3.0
471
+
472
+ ## 0.2.6
473
+
474
+ ### Patch Changes
475
+
476
+ - Updated dependencies []:
477
+ - @baseplate-dev/core-generators@0.2.6
478
+ - @baseplate-dev/sync@0.2.6
479
+ - @baseplate-dev/utils@0.2.6
480
+
481
+ ## 0.2.5
482
+
483
+ ### Patch Changes
484
+
485
+ - [#608](https://github.com/halfdomelabs/baseplate/pull/608) [`01c47c7`](https://github.com/halfdomelabs/baseplate/commit/01c47c77f039a463de03271de6461cd969d5a8e8) Thanks [@kingston](https://github.com/kingston)! - Fix pothos writer to write typed args correctly (t.arg.string instead of t.string)
486
+
487
+ - Updated dependencies [[`e0d690c`](https://github.com/halfdomelabs/baseplate/commit/e0d690c1e139f93a8ff60c9e0c90bc72cdf705a4), [`2aae451`](https://github.com/halfdomelabs/baseplate/commit/2aae45107cb6331234d14d8a6491b55e7f6d9f33)]:
488
+ - @baseplate-dev/sync@0.2.5
489
+ - @baseplate-dev/core-generators@0.2.5
490
+ - @baseplate-dev/utils@0.2.5
491
+
492
+ ## 0.2.4
493
+
494
+ ### Patch Changes
495
+
496
+ - Updated dependencies [[`ffe791f`](https://github.com/halfdomelabs/baseplate/commit/ffe791f6ab44e82c8481f3a18df9262dec71cff6)]:
497
+ - @baseplate-dev/utils@0.2.4
498
+ - @baseplate-dev/core-generators@0.2.4
499
+ - @baseplate-dev/sync@0.2.4
500
+
501
+ ## 0.2.3
502
+
503
+ ### Patch Changes
504
+
505
+ - [#598](https://github.com/halfdomelabs/baseplate/pull/598) [`69eea11`](https://github.com/halfdomelabs/baseplate/commit/69eea11c3662fbad9b8d2283d5127195c8379c07) Thanks [@kingston](https://github.com/kingston)! - Change environment names from long format to short abbreviations (development→dev, staging→stage, production→prod)
506
+
507
+ - Updated dependencies [[`f3bd169`](https://github.com/halfdomelabs/baseplate/commit/f3bd169b8debc52628179ca6ebd93c20b8a6f841), [`a506e88`](https://github.com/halfdomelabs/baseplate/commit/a506e88893bf395916ef3fbf6dd9dd7c0ff17acb), [`f0cb763`](https://github.com/halfdomelabs/baseplate/commit/f0cb7632f04bfb487722785fac7218d76d3b7e3b), [`059edf7`](https://github.com/halfdomelabs/baseplate/commit/059edf771755f1ff846494f238d777a9d1f7f5d7), [`059edf7`](https://github.com/halfdomelabs/baseplate/commit/059edf771755f1ff846494f238d777a9d1f7f5d7), [`de9e1b4`](https://github.com/halfdomelabs/baseplate/commit/de9e1b4f3a8a7dcf6b962781a0aa589eb970c7a8)]:
508
+ - @baseplate-dev/core-generators@0.2.3
509
+ - @baseplate-dev/sync@0.2.3
510
+ - @baseplate-dev/utils@0.2.3
511
+
512
+ ## 0.2.2
513
+
514
+ ### Patch Changes
515
+
516
+ - Updated dependencies [[`f8c9284`](https://github.com/halfdomelabs/baseplate/commit/f8c9284752c12c6aab70481bf98e6fa402e61075), [`f8c9284`](https://github.com/halfdomelabs/baseplate/commit/f8c9284752c12c6aab70481bf98e6fa402e61075), [`dce88ac`](https://github.com/halfdomelabs/baseplate/commit/dce88ac8d1f951f7336c12c5e004107de3a23e97)]:
517
+ - @baseplate-dev/utils@0.2.2
518
+ - @baseplate-dev/sync@0.2.2
519
+ - @baseplate-dev/core-generators@0.2.2
520
+
521
+ ## 0.2.1
522
+
523
+ ### Patch Changes
524
+
525
+ - Updated dependencies [[`d7d9985`](https://github.com/halfdomelabs/baseplate/commit/d7d998540ca5886259f93b5020c4d8939c5cdf5f)]:
526
+ - @baseplate-dev/core-generators@0.2.1
527
+ - @baseplate-dev/sync@0.2.1
528
+ - @baseplate-dev/utils@0.2.1
529
+
530
+ ## 0.2.0
531
+
532
+ ### Patch Changes
533
+
534
+ - [#568](https://github.com/halfdomelabs/baseplate/pull/568) [`06b4faf`](https://github.com/halfdomelabs/baseplate/commit/06b4fafaf3d2ed848d959a9911b9bfa26702d4a3) Thanks [@kingston](https://github.com/kingston)! - Enable the import-x/consistent-type-specifier-style rule to clean up type imports
535
+
536
+ - [#574](https://github.com/halfdomelabs/baseplate/pull/574) [`f5d7a6f`](https://github.com/halfdomelabs/baseplate/commit/f5d7a6f781b1799bb8ad197973e5cec04f869264) Thanks [@kingston](https://github.com/kingston)! - Refactored naming of project paths to output paths to be clearer about their meaning
537
+
538
+ - [#570](https://github.com/halfdomelabs/baseplate/pull/570) [`56a3a89`](https://github.com/halfdomelabs/baseplate/commit/56a3a8944b9a557cca0484d78851fca10122e5f9) Thanks [@kingston](https://github.com/kingston)! - Implement phase 1 of reverse template generator v2
539
+
540
+ - Updated dependencies [[`06b4faf`](https://github.com/halfdomelabs/baseplate/commit/06b4fafaf3d2ed848d959a9911b9bfa26702d4a3), [`f5d7a6f`](https://github.com/halfdomelabs/baseplate/commit/f5d7a6f781b1799bb8ad197973e5cec04f869264), [`fd63554`](https://github.com/halfdomelabs/baseplate/commit/fd635544eb6df0385501f61f3e51bce554633458), [`a94eed9`](https://github.com/halfdomelabs/baseplate/commit/a94eed9c12236c5fb772d998b9c34ca876c10c13), [`56a3a89`](https://github.com/halfdomelabs/baseplate/commit/56a3a8944b9a557cca0484d78851fca10122e5f9), [`a94eed9`](https://github.com/halfdomelabs/baseplate/commit/a94eed9c12236c5fb772d998b9c34ca876c10c13), [`56a3a89`](https://github.com/halfdomelabs/baseplate/commit/56a3a8944b9a557cca0484d78851fca10122e5f9)]:
541
+ - @baseplate-dev/core-generators@0.2.0
542
+ - @baseplate-dev/utils@0.2.0
543
+ - @baseplate-dev/sync@0.2.0
544
+
545
+ ## 0.1.3
546
+
547
+ ### Patch Changes
548
+
549
+ - [#562](https://github.com/halfdomelabs/baseplate/pull/562) [`30fdf49`](https://github.com/halfdomelabs/baseplate/commit/30fdf4988de244c30d13c93b7761587d4c1413ad) Thanks [@kingston](https://github.com/kingston)! - Switch to Typescript project references for building/watching project
550
+
551
+ - Updated dependencies [[`30fdf49`](https://github.com/halfdomelabs/baseplate/commit/30fdf4988de244c30d13c93b7761587d4c1413ad)]:
552
+ - @baseplate-dev/core-generators@0.1.3
553
+ - @baseplate-dev/utils@0.1.3
554
+ - @baseplate-dev/sync@0.1.3
555
+
556
+ ## 0.1.2
557
+
558
+ ### Patch Changes
559
+
560
+ - [#560](https://github.com/halfdomelabs/baseplate/pull/560) [`7e38ae9`](https://github.com/halfdomelabs/baseplate/commit/7e38ae9102c7c8ea958d2dab94e76be848d1c1a8) Thanks [@kingston](https://github.com/kingston)! - Add README files to all packages and plugins explaining their purpose within the Baseplate monorepo.
561
+
562
+ - Updated dependencies [[`7e38ae9`](https://github.com/halfdomelabs/baseplate/commit/7e38ae9102c7c8ea958d2dab94e76be848d1c1a8)]:
563
+ - @baseplate-dev/sync@0.1.2
564
+ - @baseplate-dev/core-generators@0.1.2
565
+ - @baseplate-dev/utils@0.1.2
566
+
567
+ ## 0.1.1
568
+
569
+ ### Patch Changes
570
+
571
+ - [#559](https://github.com/halfdomelabs/baseplate/pull/559) [`17dd71e`](https://github.com/halfdomelabs/baseplate/commit/17dd71e3b9f83e3359eb007f8eab1c4792bdbb8b) Thanks [@kingston](https://github.com/kingston)! - Rename workspace to @baseplate-dev/\* and reset versions to 0.1.0
572
+
573
+ - [#557](https://github.com/halfdomelabs/baseplate/pull/557) [`9caaa0a`](https://github.com/halfdomelabs/baseplate/commit/9caaa0aed05677a75fed79601dcfd24ec85ab5ad) Thanks [@kingston](https://github.com/kingston)! - Update LICENSE to modified MPL-2.0 license
574
+
575
+ - Updated dependencies [[`17dd71e`](https://github.com/halfdomelabs/baseplate/commit/17dd71e3b9f83e3359eb007f8eab1c4792bdbb8b), [`9caaa0a`](https://github.com/halfdomelabs/baseplate/commit/9caaa0aed05677a75fed79601dcfd24ec85ab5ad)]:
576
+ - @baseplate-dev/core-generators@0.1.1
577
+ - @baseplate-dev/utils@0.1.1
578
+ - @baseplate-dev/sync@0.1.1
@@ -1,5 +1,5 @@
1
1
  export declare const FASTIFY_PACKAGES: {
2
- readonly fastify: "5.6.2";
2
+ readonly fastify: "5.7.4";
3
3
  readonly '@fastify/helmet': "13.0.0";
4
4
  readonly 'fastify-plugin': "5.1.0";
5
5
  readonly nanoid: "5.1.6";
@@ -25,14 +25,15 @@ export declare const FASTIFY_PACKAGES: {
25
25
  readonly 'graphql-scalars': "1.23.0";
26
26
  readonly '@graphql-yoga/redis-event-target': "2.0.0";
27
27
  readonly 'graphql-ws': "5.16.0";
28
- readonly '@prisma/client': "7.2.0";
29
- readonly prisma: "7.2.0";
30
- readonly '@prisma/adapter-pg': "7.2.0";
28
+ readonly '@prisma/client': "7.4.0";
29
+ readonly prisma: "7.4.0";
30
+ readonly '@prisma/adapter-pg': "7.4.0";
31
31
  readonly ms: "2.1.3";
32
32
  readonly '@types/redis-info': "3.0.3";
33
33
  readonly '@types/ms': "0.7.34";
34
34
  readonly 'es-toolkit': "1.31.0";
35
35
  readonly 'cross-env': "7.0.3";
36
+ readonly concurrently: "9.2.1";
36
37
  readonly 'tsc-alias': "1.8.10";
37
38
  readonly tsx: "4.20.6";
38
39
  readonly '@types/node': "^22.0.0";
@@ -46,7 +47,7 @@ export declare const FASTIFY_PACKAGES: {
46
47
  readonly 'vitest-mock-extended': "3.1.0";
47
48
  readonly 'pg-connection-string': "2.6.4";
48
49
  readonly '@node-rs/argon2': "2.0.2";
49
- readonly postmark: "4.0.2";
50
+ readonly postmark: "4.0.5";
50
51
  readonly stripe: "14.5.0";
51
52
  readonly bullmq: "5.61.2";
52
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fastify-packages.d.ts","sourceRoot":"","sources":["../../src/constants/fastify-packages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFnB,CAAC"}
1
+ {"version":3,"file":"fastify-packages.d.ts","sourceRoot":"","sources":["../../src/constants/fastify-packages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFnB,CAAC"}