@baseplate-dev/fastify-generators 0.5.1 → 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.
- package/CHANGELOG.md +578 -0
- package/dist/constants/fastify-packages.d.ts +5 -5
- package/dist/constants/fastify-packages.js +5 -5
- package/dist/generators/auth/auth-context/auth-context.generator.d.ts +1 -0
- package/dist/generators/auth/auth-context/auth-context.generator.d.ts.map +1 -1
- package/dist/generators/auth/auth-context/generated/index.d.ts +3 -0
- package/dist/generators/auth/auth-context/generated/index.d.ts.map +1 -1
- package/dist/generators/auth/auth-context/generated/template-renderers.d.ts +1 -0
- package/dist/generators/auth/auth-context/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/auth/auth-context/generated/typed-templates.d.ts +4 -0
- package/dist/generators/auth/auth-context/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/auth/auth-context/templates/module/utils/auth-context.utils.ts +1 -1
- package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts +1 -0
- package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts.map +1 -1
- package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts +2 -0
- package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts.map +1 -1
- package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts +1 -0
- package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts +2 -0
- package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/core/app-module/app-module.generator.d.ts.map +1 -1
- package/dist/generators/core/app-module/app-module.generator.js.map +1 -1
- package/dist/generators/core/axios/axios.generator.d.ts.map +1 -1
- package/dist/generators/core/axios/axios.generator.js +6 -1
- package/dist/generators/core/axios/axios.generator.js.map +1 -1
- package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts +2 -0
- package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts.map +1 -1
- package/dist/generators/core/error-handler-service/generated/index.d.ts +1 -0
- package/dist/generators/core/error-handler-service/generated/index.d.ts.map +1 -1
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts +3 -0
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.js +2 -0
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/error-handler-service/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/core/error-handler-service/generated/typed-templates.js +1 -0
- package/dist/generators/core/error-handler-service/generated/typed-templates.js.map +1 -1
- package/dist/generators/core/error-handler-service/templates/src/plugins/error-handler.ts +5 -0
- package/dist/generators/core/error-handler-service/templates/src/utils/http-errors.ts +16 -0
- package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts.map +1 -1
- package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts +2 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts.map +1 -1
- package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts +1 -0
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts.map +1 -1
- package/dist/generators/core/fastify-sentry/generated/index.d.ts +2 -0
- package/dist/generators/core/fastify-sentry/generated/index.d.ts.map +1 -1
- package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts +1 -0
- package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts +1 -0
- package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/core/logger-service/logger-service.generator.js +4 -3
- package/dist/generators/core/logger-service/logger-service.generator.js.map +1 -1
- package/dist/generators/core/service-file/service-file.generator.js +2 -2
- package/dist/generators/core/service-file/service-file.generator.js.map +1 -1
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +2 -2
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -1
- package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +1 -0
- package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -1
- package/dist/generators/prisma/data-utils/generated/index.d.ts +2 -0
- package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -1
- package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts +1 -0
- package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +2 -0
- package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +9 -41
- package/dist/generators/prisma/index.d.ts +1 -0
- package/dist/generators/prisma/index.d.ts.map +1 -1
- package/dist/generators/prisma/index.js +1 -0
- package/dist/generators/prisma/index.js.map +1 -1
- package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
- package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +1 -0
- package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +2 -0
- package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +1 -0
- package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
- package/dist/generators/prisma/prisma-model-authorizer/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-model-authorizer/index.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-model-authorizer/index.js +2 -0
- package/dist/generators/prisma/prisma-model-authorizer/index.js.map +1 -0
- package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +54 -0
- package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +96 -0
- package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -0
- package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts +1 -0
- package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts.map +1 -1
- package/dist/generators/stripe/fastify-stripe/generated/index.d.ts +2 -0
- package/dist/generators/stripe/fastify-stripe/generated/index.d.ts.map +1 -1
- package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts +1 -0
- package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts +2 -0
- package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/yoga/yoga-plugin/generated/index.d.ts +4 -0
- package/dist/generators/yoga/yoga-plugin/generated/index.d.ts.map +1 -1
- package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts +1 -0
- package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts +4 -0
- package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts +2 -0
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts.map +1 -1
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.js.map +1 -1
- package/dist/types/service-output.d.ts.map +1 -1
- package/dist/types/service-output.js.map +1 -1
- package/dist/writers/pothos/scalars.d.ts.map +1 -1
- package/dist/writers/pothos/scalars.js.map +1 -1
- package/dist/writers/prisma-schema/model-writer.js +2 -2
- package/dist/writers/prisma-schema/model-writer.js.map +1 -1
- package/package.json +10 -10
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.
|
|
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,9 +25,9 @@ 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.
|
|
29
|
-
readonly prisma: "7.
|
|
30
|
-
readonly '@prisma/adapter-pg': "7.
|
|
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";
|
|
@@ -47,7 +47,7 @@ export declare const FASTIFY_PACKAGES: {
|
|
|
47
47
|
readonly 'vitest-mock-extended': "3.1.0";
|
|
48
48
|
readonly 'pg-connection-string': "2.6.4";
|
|
49
49
|
readonly '@node-rs/argon2': "2.0.2";
|
|
50
|
-
readonly postmark: "4.0.
|
|
50
|
+
readonly postmark: "4.0.5";
|
|
51
51
|
readonly stripe: "14.5.0";
|
|
52
52
|
readonly bullmq: "5.61.2";
|
|
53
53
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const FASTIFY_PACKAGES = {
|
|
2
2
|
// Fastify
|
|
3
|
-
fastify: '5.
|
|
3
|
+
fastify: '5.7.4',
|
|
4
4
|
'@fastify/helmet': '13.0.0',
|
|
5
5
|
'fastify-plugin': '5.1.0',
|
|
6
6
|
nanoid: '5.1.6',
|
|
@@ -28,9 +28,9 @@ export const FASTIFY_PACKAGES = {
|
|
|
28
28
|
'@graphql-yoga/redis-event-target': '2.0.0',
|
|
29
29
|
'graphql-ws': '5.16.0',
|
|
30
30
|
// Prisma
|
|
31
|
-
'@prisma/client': '7.
|
|
32
|
-
prisma: '7.
|
|
33
|
-
'@prisma/adapter-pg': '7.
|
|
31
|
+
'@prisma/client': '7.4.0',
|
|
32
|
+
prisma: '7.4.0',
|
|
33
|
+
'@prisma/adapter-pg': '7.4.0',
|
|
34
34
|
// Utils
|
|
35
35
|
ms: '2.1.3',
|
|
36
36
|
'@types/redis-info': '3.0.3',
|
|
@@ -59,7 +59,7 @@ export const FASTIFY_PACKAGES = {
|
|
|
59
59
|
// Auth
|
|
60
60
|
'@node-rs/argon2': '2.0.2',
|
|
61
61
|
// Postmark
|
|
62
|
-
postmark: '4.0.
|
|
62
|
+
postmark: '4.0.5',
|
|
63
63
|
// Stripe
|
|
64
64
|
stripe: '14.5.0',
|
|
65
65
|
// BullMQ
|