@nestledjs/api 2.7.0 → 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/generate-crud/CLAUDE.md +13 -0
- 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()
|
|
@@ -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>
|
|
@@ -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'
|