@nestledjs/api 2.6.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/app/files/src/main.ts__tmpl__ +1 -0
- package/src/app/files/webpack.config.js__tmpl__ +18 -18
- package/src/core/files/data-access/src/lib/api-core-data-access.service.ts__tmpl__ +18 -7
- package/src/core/files/models/src/lib/generate-models.ts__tmpl__ +7 -3
- package/src/generate-crud/CLAUDE.md +13 -0
- package/src/generate-crud/files/data-access/src/lib/dto/index.ts__tmpl__ +6 -3
- package/src/prisma/CLAUDE.md +13 -0
- package/src/prisma/files/config/CLAUDE.md +12 -0
- package/src/prisma/files/src/lib/schemas/CLAUDE.md +12 -0
- package/src/prisma/files/src/lib/seed/CLAUDE.md +13 -0
- package/src/prisma/files/src/lib/seed/seed.ts__tmpl__ +17 -1
- package/src/setup/CLAUDE.md +12 -0
- package/src/setup/generator.js +1 -0
- package/src/setup/generator.js.map +1 -1
- package/src/utils/files/src/index.ts__tmpl__ +3 -0
package/package.json
CHANGED
|
@@ -29,27 +29,27 @@ module.exports = {
|
|
|
29
29
|
],
|
|
30
30
|
},
|
|
31
31
|
externals: [
|
|
32
|
+
// Custom externals function to handle Prisma npm packages
|
|
33
|
+
// IMPORTANT: This must come before nodeExternals to catch Prisma packages first
|
|
34
|
+
function ({ request }, callback) {
|
|
35
|
+
// Externalize actual Prisma npm packages (required for native binaries)
|
|
36
|
+
// But NOT @{npmScope}/api/prisma which is a local workspace module
|
|
37
|
+
if (request && (
|
|
38
|
+
request.includes('@prisma/client') ||
|
|
39
|
+
request.includes('.prisma/client') ||
|
|
40
|
+
request.includes('@prisma/adapter-pg') ||
|
|
41
|
+
request.includes('@prisma/internals') ||
|
|
42
|
+
request.includes('@prisma/extension-optimize')
|
|
43
|
+
)) {
|
|
44
|
+
return callback(null, `commonjs ${request}`)
|
|
45
|
+
}
|
|
46
|
+
callback()
|
|
47
|
+
},
|
|
32
48
|
nodeExternals({
|
|
33
49
|
allowlist: [
|
|
34
|
-
|
|
50
|
+
// Allow all @{npmScope}/api libs to be bundled (including api/prisma)
|
|
51
|
+
/^@<%= npmScope %>\/api/,
|
|
35
52
|
],
|
|
36
53
|
}),
|
|
37
|
-
// Externalize Prisma packages for v7 compatibility
|
|
38
|
-
function ({ request }, callback) {
|
|
39
|
-
if (request && request.includes('@prisma/client')) {
|
|
40
|
-
return callback(null, 'commonjs ' + request)
|
|
41
|
-
}
|
|
42
|
-
if (request && request.includes('.prisma/client')) {
|
|
43
|
-
return callback(null, 'commonjs ' + request)
|
|
44
|
-
}
|
|
45
|
-
// Externalize Prisma adapter for v7 compatibility
|
|
46
|
-
if (request && (request === '@prisma/adapter-pg' || request.startsWith('@prisma/adapter-pg/'))) {
|
|
47
|
-
return callback(null, 'commonjs ' + request)
|
|
48
|
-
}
|
|
49
|
-
if (request && request === '@<%= npmScope %>/api/prisma') {
|
|
50
|
-
return callback(null, 'commonjs ' + request)
|
|
51
|
-
}
|
|
52
|
-
callback()
|
|
53
|
-
}
|
|
54
54
|
]
|
|
55
55
|
};
|
|
@@ -4,14 +4,25 @@ import { CorePagingInput } from './dto/core-paging.input'
|
|
|
4
4
|
import { PrismaPg } from '@prisma/adapter-pg'
|
|
5
5
|
|
|
6
6
|
function createAdapter() {
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const connectionString = process.env['DATABASE_URL'] || ''
|
|
8
|
+
|
|
9
|
+
// Auto-detect SSL for cloud databases (Heroku, Railway, AWS RDS)
|
|
10
|
+
const requireSsl =
|
|
11
|
+
connectionString.includes('amazonaws.com') ||
|
|
12
|
+
connectionString.includes('.railway.app') ||
|
|
13
|
+
connectionString.includes('heroku') ||
|
|
14
|
+
process.env['DATABASE_SSL'] === 'true'
|
|
15
|
+
|
|
9
16
|
const usePgBouncer = process.env['PGBOUNCER_ENABLED'] === 'true'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
|
|
18
|
+
// Pass PoolConfig to PrismaPg - it manages its own Pool internally
|
|
19
|
+
// This avoids connection management conflicts that can cause ECONNREFUSED errors
|
|
20
|
+
return new PrismaPg({
|
|
21
|
+
connectionString,
|
|
22
|
+
ssl: requireSsl ? { rejectUnauthorized: false } : undefined,
|
|
23
|
+
max: usePgBouncer ? 5 : 30,
|
|
24
|
+
idleTimeoutMillis: usePgBouncer ? 10000 : 30000,
|
|
25
|
+
})
|
|
15
26
|
}
|
|
16
27
|
|
|
17
28
|
@Injectable()
|
|
@@ -197,7 +197,11 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
197
197
|
const usesBigInt = models.some(model =>
|
|
198
198
|
model.fields.some((field: { type: string }) => field.type === 'BigInt'),
|
|
199
199
|
)
|
|
200
|
-
|
|
200
|
+
// Check if any model field uses DateTime
|
|
201
|
+
const usesDateTime = models.some(model =>
|
|
202
|
+
model.fields.some((field: { type: string }) => field.type === 'DateTime'),
|
|
203
|
+
)
|
|
204
|
+
let output = `import { Field, ObjectType${usesFloat ? ', Float' : ''}${usesDateTime ? ', GraphQLISODateTime' : ''}, Int } from '@nestjs/graphql';\n`
|
|
201
205
|
output += `import { GraphQLJSONObject } from 'graphql-type-json';\n`
|
|
202
206
|
|
|
203
207
|
// Check if any model field uses Decimal
|
|
@@ -281,7 +285,7 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
281
285
|
else if (originalType === 'Json') listItemGraphQLType = 'GraphQLJSONObject'
|
|
282
286
|
else if (isEnum || isRelation)
|
|
283
287
|
listItemGraphQLType = originalType // Assumes enum/type is registered with GraphQL
|
|
284
|
-
else if (originalType === 'DateTime') listItemGraphQLType = '
|
|
288
|
+
else if (originalType === 'DateTime') listItemGraphQLType = 'GraphQLISODateTime'
|
|
285
289
|
else if (originalType === 'Boolean') listItemGraphQLType = 'Boolean'
|
|
286
290
|
else if (originalType.toLowerCase() === 'string' || originalType === 'ID') {
|
|
287
291
|
listItemGraphQLType = 'String'
|
|
@@ -297,7 +301,7 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
297
301
|
else if (originalType === 'BigInt') decoratorType = '() => GraphQLBigInt'
|
|
298
302
|
else if (originalType === 'Json') decoratorType = '() => GraphQLJSONObject'
|
|
299
303
|
else if (isEnum || isRelation) decoratorType = `() => ${originalType}`
|
|
300
|
-
else if (originalType === 'DateTime') decoratorType = '() =>
|
|
304
|
+
else if (originalType === 'DateTime') decoratorType = '() => GraphQLISODateTime'
|
|
301
305
|
else if (originalType === 'Boolean') decoratorType = '() => Boolean'
|
|
302
306
|
else if (originalType.toLowerCase() === 'string' || originalType === 'ID')
|
|
303
307
|
decoratorType = '() => String'
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 4, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #150 | 3:20 PM | ⚖️ | Prisma v7 Migration Strategy for Nestled Generator Framework | ~584 |
|
|
11
|
+
| #108 | 2:41 PM | 🔵 | CRUD Generator Output File Patterns Identified | ~343 |
|
|
12
|
+
| #77 | 2:26 PM | 🔵 | CRUD Generator Uses Prisma Internals DMMF Parser | ~383 |
|
|
13
|
+
</claude-mem-context>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
let gqlImports = new Set(['Field', 'InputType'])
|
|
4
4
|
let usesGraphQLJSON = false
|
|
5
5
|
let usesGraphQLBigInt = false
|
|
6
|
+
let usesDateTime = false
|
|
6
7
|
let usesInt = false
|
|
7
8
|
let usesFloat = false
|
|
8
9
|
let usesID = false
|
|
@@ -72,6 +73,7 @@ for (const model of models) {
|
|
|
72
73
|
if (field.type === 'Float' || field.type === 'Decimal') usesFloat = true
|
|
73
74
|
if (field.type === 'Json') usesGraphQLJSON = true
|
|
74
75
|
if (field.type === 'BigInt') usesGraphQLBigInt = true
|
|
76
|
+
if (field.type === 'DateTime') usesDateTime = true
|
|
75
77
|
if (field.type === 'ID') usesID = true
|
|
76
78
|
if (field.kind === 'enum') {
|
|
77
79
|
enumNames.add(field.type)
|
|
@@ -82,6 +84,7 @@ for (const model of models) {
|
|
|
82
84
|
if (usesInt) gqlImports.add('Int')
|
|
83
85
|
if (usesFloat) gqlImports.add('Float')
|
|
84
86
|
if (usesID) gqlImports.add('ID')
|
|
87
|
+
if (usesDateTime) gqlImports.add('GraphQLISODateTime')
|
|
85
88
|
usesPartialType = models.length > 0 // If we generate any Update input, we need PartialType
|
|
86
89
|
%>
|
|
87
90
|
import { <%= Array.from(gqlImports).join(', ') %> } from '@nestjs/graphql'
|
|
@@ -109,7 +112,7 @@ export class Create<%= model.modelName %>Input {
|
|
|
109
112
|
else if (field.type === 'Float') { baseGqlType = 'Float'; tsType = 'number'; }
|
|
110
113
|
else if (field.type === 'Decimal') { baseGqlType = 'Float'; tsType = 'number'; }
|
|
111
114
|
else if (field.type === 'Boolean') { baseGqlType = 'Boolean'; tsType = 'boolean'; }
|
|
112
|
-
else if (field.type === 'DateTime') { baseGqlType = '
|
|
115
|
+
else if (field.type === 'DateTime') { baseGqlType = 'GraphQLISODateTime'; tsType = 'Date'; }
|
|
113
116
|
else if (field.type === 'Json') { baseGqlType = 'GraphQLJSON'; tsType = 'typeof GraphQLJSON'; }
|
|
114
117
|
else if (field.type === 'ID') { baseGqlType = 'ID'; tsType = 'string'; }
|
|
115
118
|
else if (field.kind === 'enum') {
|
|
@@ -153,7 +156,7 @@ export class Update<%= model.modelName %>Input {
|
|
|
153
156
|
else if (field.type === 'Float') { baseGqlType = 'Float'; tsType = 'number'; }
|
|
154
157
|
else if (field.type === 'Decimal') { baseGqlType = 'Float'; tsType = 'number'; }
|
|
155
158
|
else if (field.type === 'Boolean') { baseGqlType = 'Boolean'; tsType = 'boolean'; }
|
|
156
|
-
else if (field.type === 'DateTime') { baseGqlType = '
|
|
159
|
+
else if (field.type === 'DateTime') { baseGqlType = 'GraphQLISODateTime'; tsType = 'Date'; }
|
|
157
160
|
else if (field.type === 'Json') { baseGqlType = 'GraphQLJSON'; tsType = 'typeof GraphQLJSON'; }
|
|
158
161
|
else if (field.type === 'ID') { baseGqlType = 'ID'; tsType = 'string'; }
|
|
159
162
|
else if (field.kind === 'enum') {
|
|
@@ -190,7 +193,7 @@ export class List<%= model.modelName %>Input extends CorePagingInput {
|
|
|
190
193
|
else if (field.type === 'Float') { baseGqlType = 'Float'; tsType = 'number'; }
|
|
191
194
|
else if (field.type === 'Decimal') { baseGqlType = 'Float'; tsType = 'number'; }
|
|
192
195
|
else if (field.type === 'Boolean') { baseGqlType = 'Boolean'; tsType = 'boolean'; }
|
|
193
|
-
else if (field.type === 'DateTime') { baseGqlType = '
|
|
196
|
+
else if (field.type === 'DateTime') { baseGqlType = 'GraphQLISODateTime'; tsType = 'Date'; }
|
|
194
197
|
else if (field.type === 'Json') { baseGqlType = 'GraphQLJSON'; tsType = 'typeof GraphQLJSON'; }
|
|
195
198
|
else if (field.type === 'ID') { baseGqlType = 'ID'; tsType = 'string'; }
|
|
196
199
|
else if (field.kind === 'enum') {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 4, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #150 | 3:20 PM | ⚖️ | Prisma v7 Migration Strategy for Nestled Generator Framework | ~584 |
|
|
11
|
+
| #110 | 2:41 PM | 🔵 | DB-Update Workflow Command Chain | ~350 |
|
|
12
|
+
| #78 | 2:26 PM | 🔵 | Prisma Generator Creates Configuration and Scripts | ~384 |
|
|
13
|
+
</claude-mem-context>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 4, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #150 | 3:20 PM | ⚖️ | Prisma v7 Migration Strategy for Nestled Generator Framework | ~584 |
|
|
11
|
+
| #91 | 2:34 PM | 🔵 | Prisma Config Template Already V7-Compatible | ~331 |
|
|
12
|
+
</claude-mem-context>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 4, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #150 | 3:20 PM | ⚖️ | Prisma v7 Migration Strategy for Nestled Generator Framework | ~584 |
|
|
11
|
+
| #92 | 2:34 PM | 🔵 | Schema Template Requires V7 Migration Updates | ~392 |
|
|
12
|
+
</claude-mem-context>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 4, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #208 | 4:17 PM | 🔴 | Seed Script Template Updated with Prisma v7 Adapter Pattern | ~384 |
|
|
11
|
+
| #197 | 3:57 PM | ✅ | Seed Template Updated for Prisma v7 Client Import Path | ~336 |
|
|
12
|
+
| #171 | 3:26 PM | 🔵 | Seed Script Template Uses Direct PrismaClient Instantiation | ~331 |
|
|
13
|
+
</claude-mem-context>
|
|
@@ -5,7 +5,23 @@ import { countries } from './seed-data/iso-3166-countries'
|
|
|
5
5
|
import { seedUsers } from './seed-data/seed-users'
|
|
6
6
|
import { hashSync } from 'bcryptjs'
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
function createAdapter() {
|
|
9
|
+
const connectionString = process.env.DATABASE_URL || ''
|
|
10
|
+
|
|
11
|
+
// Auto-detect SSL for cloud databases (Heroku, Railway, AWS RDS)
|
|
12
|
+
const requireSsl =
|
|
13
|
+
connectionString.includes('amazonaws.com') ||
|
|
14
|
+
connectionString.includes('.railway.app') ||
|
|
15
|
+
connectionString.includes('heroku') ||
|
|
16
|
+
process.env.DATABASE_SSL === 'true'
|
|
17
|
+
|
|
18
|
+
return new PrismaPg({
|
|
19
|
+
connectionString,
|
|
20
|
+
ssl: requireSsl ? { rejectUnauthorized: false } : undefined,
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const adapter = createAdapter()
|
|
9
25
|
const prisma = new PrismaClient({ adapter })
|
|
10
26
|
|
|
11
27
|
async function main() {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 4, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #150 | 3:20 PM | ⚖️ | Prisma v7 Migration Strategy for Nestled Generator Framework | ~584 |
|
|
11
|
+
| #102 | 2:37 PM | 🔵 | Setup Generator Dependencies for Prisma v6 | ~333 |
|
|
12
|
+
</claude-mem-context>
|
package/src/setup/generator.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/setup/generator.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/setup/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,3 +2,6 @@ export * from './lib/guards/gql-auth.guard'
|
|
|
2
2
|
export * from './lib/guards/gql-auth-admin.guard'
|
|
3
3
|
export * from './lib/decorators/ctx-user.decorator'
|
|
4
4
|
export * from './lib/types/nest-context-type'
|
|
5
|
+
|
|
6
|
+
// Explicitly export types for webpack compatibility
|
|
7
|
+
export type { NestContextType } from './lib/types/nest-context-type'
|