@specverse/engines 6.35.0 → 6.37.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/dist/analyse-prepass/adapters/typescript-decorators.d.ts.map +1 -1
- package/dist/analyse-prepass/adapters/typescript-decorators.js +112 -34
- package/dist/analyse-prepass/adapters/typescript-decorators.js.map +1 -1
- package/dist/analyse-prepass/backends/grep-only.d.ts.map +1 -1
- package/dist/analyse-prepass/backends/grep-only.js +17 -0
- package/dist/analyse-prepass/backends/grep-only.js.map +1 -1
- package/dist/analyse-prepass/method-body-walker.d.ts.map +1 -1
- package/dist/analyse-prepass/method-body-walker.js +7 -1
- package/dist/analyse-prepass/method-body-walker.js.map +1 -1
- package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +36 -1
- package/dist/libs/instance-factories/orms/templates/prisma/schema-generator.js +51 -3
- package/libs/instance-factories/cli/__tests__/command-generator.test.ts +83 -0
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +36 -1
- package/libs/instance-factories/orms/templates/prisma/__tests__/schema-generator.test.ts +315 -0
- package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +94 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-decorators.d.ts","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/typescript-decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/E,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpG,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,mDAAmD;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"typescript-decorators.d.ts","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/typescript-decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/E,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpG,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,mDAAmD;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,cAAc,CAAC,CA6FzB"}
|
|
@@ -29,7 +29,12 @@ export async function extractTypeScriptDecorators(prepass) {
|
|
|
29
29
|
// first ~600 chars of an arbitrary lookback — handles long import blocks
|
|
30
30
|
// and multi-line decorator arguments (twenty: 9-16 lines of class-level
|
|
31
31
|
// decorators between @Entity and the class declaration).
|
|
32
|
-
|
|
32
|
+
//
|
|
33
|
+
// #28-jpa: when the source file is Java, @Entity → 'jpa' rather than
|
|
34
|
+
// 'typeorm'. The annotations look identical but the framework label
|
|
35
|
+
// is what realize-side and component-suggestion logic key off.
|
|
36
|
+
const isJavaSource = cls.filePath.toLowerCase().endsWith('.java');
|
|
37
|
+
const framework = detectFramework(slice.decorators, isJavaSource);
|
|
33
38
|
if (framework === 'not-an-entity')
|
|
34
39
|
continue;
|
|
35
40
|
seenFrameworks.add(framework);
|
|
@@ -160,9 +165,11 @@ function extractTransitions(classBody, lifecycleField, allStates) {
|
|
|
160
165
|
*/
|
|
161
166
|
function extractEnums(text) {
|
|
162
167
|
const out = {};
|
|
163
|
-
// Match `enum Foo { ... }`
|
|
164
|
-
//
|
|
165
|
-
|
|
168
|
+
// Match `enum Foo { ... }` — `export` (TypeScript) and `public`
|
|
169
|
+
// (Java) modifiers are optional. The body can be either TS-style
|
|
170
|
+
// `Member = 'value'` lines or Java-style bare member names.
|
|
171
|
+
// Bounded by [^}]* (enums don't contain braces themselves).
|
|
172
|
+
const re = /\b(?:export\s+|public\s+)?enum\s+(\w+)\s*\{([^}]+)\}/g;
|
|
166
173
|
let m;
|
|
167
174
|
while ((m = re.exec(text)) !== null) {
|
|
168
175
|
const name = m[1];
|
|
@@ -194,7 +201,13 @@ function extractEnums(text) {
|
|
|
194
201
|
*
|
|
195
202
|
* Returns `not-an-entity` to signal "skip this class".
|
|
196
203
|
*/
|
|
197
|
-
function detectFramework(decoratorBlock) {
|
|
204
|
+
function detectFramework(decoratorBlock, isJavaSource = false) {
|
|
205
|
+
// JPA (Java) — same @Entity / @Table annotations as TypeORM but the
|
|
206
|
+
// source file is Java. Check first so the Java probe wins before the
|
|
207
|
+
// TypeORM branch matches the same annotation. (Sequelize's @Table +
|
|
208
|
+
// `extends Model` can't appear in Java, so checking @Entity is enough.)
|
|
209
|
+
if (isJavaSource && /@Entity\s*[\s(]?/.test(decoratorBlock))
|
|
210
|
+
return 'jpa';
|
|
198
211
|
// Sequelize: @Table or `extends Model` (Model can appear on the class line)
|
|
199
212
|
if (/@Table\s*\(/.test(decoratorBlock))
|
|
200
213
|
return 'sequelize';
|
|
@@ -206,8 +219,6 @@ function detectFramework(decoratorBlock) {
|
|
|
206
219
|
// Mongoose with NestJS: @Schema
|
|
207
220
|
if (/@Schema\s*[\s(]/.test(decoratorBlock))
|
|
208
221
|
return 'mongoose';
|
|
209
|
-
// JPA (Java) — same @Entity but in a Java file. We err on the side of typeorm
|
|
210
|
-
// because we're only called on TypeScript codebases right now.
|
|
211
222
|
return 'not-an-entity';
|
|
212
223
|
}
|
|
213
224
|
/**
|
|
@@ -216,22 +227,35 @@ function detectFramework(decoratorBlock) {
|
|
|
216
227
|
* only catch the common shapes; framework-specific adapters do better.
|
|
217
228
|
*
|
|
218
229
|
* Handles patterns like:
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
230
|
+
* TypeScript / TypeORM / Sequelize:
|
|
231
|
+
* @Column email!: string;
|
|
232
|
+
* @Column({ unique: true }) email: string;
|
|
233
|
+
* @PrimaryGeneratedColumn('uuid') id!: string;
|
|
234
|
+
* @PrimaryKey id: number;
|
|
235
|
+
* @Column(DataType.STRING) name?: string;
|
|
236
|
+
*
|
|
237
|
+
* Java / JPA (#28-jpa):
|
|
238
|
+
* @Column private String email;
|
|
239
|
+
* @Id private UUID id;
|
|
240
|
+
* @Enumerated(EnumType.STRING) private InvoiceStatus status;
|
|
241
|
+
* @Column(unique = true, nullable = false, length = 32)
|
|
242
|
+
* private String invoiceNumber;
|
|
224
243
|
*/
|
|
225
244
|
function extractAttributes(body) {
|
|
226
245
|
const out = [];
|
|
227
|
-
|
|
228
|
-
//
|
|
229
|
-
|
|
246
|
+
const seen = new Set();
|
|
247
|
+
// First: TypeScript / TypeORM / Sequelize shape — `name: type` (with
|
|
248
|
+
// optional `!` / `?` after the name). Captures the decorator block,
|
|
249
|
+
// the property name (group 2), and the declared TS type (group 3).
|
|
250
|
+
const tsRe = /^([ \t]*@(?:Column|PrimaryKey|PrimaryGeneratedColumn|Id|Unique|CreatedAt|UpdatedAt|DeletedAt|ForeignKey|Default|AllowNull|Prop|Enumerated)(?:\([^)]*\))?[ \t]*\n[ \t]*(?:@[A-Z][a-zA-Z]*(?:\([^)]*\))?[ \t]*\n[ \t]*)*)([a-zA-Z_][a-zA-Z0-9_]*)[!?]?:\s*([^;\n=]+)/gm;
|
|
230
251
|
let m;
|
|
231
|
-
while ((m =
|
|
252
|
+
while ((m = tsRe.exec(body)) !== null) {
|
|
232
253
|
const decoratorBlock = m[1];
|
|
233
254
|
const name = m[2];
|
|
234
255
|
const declaredType = m[3].trim();
|
|
256
|
+
if (seen.has(name))
|
|
257
|
+
continue;
|
|
258
|
+
seen.add(name);
|
|
235
259
|
out.push({
|
|
236
260
|
name,
|
|
237
261
|
declaredType,
|
|
@@ -239,25 +263,52 @@ function extractAttributes(body) {
|
|
|
239
263
|
isUnique: /@Unique\b/.test(decoratorBlock) || /unique\s*:\s*true/i.test(decoratorBlock),
|
|
240
264
|
});
|
|
241
265
|
}
|
|
266
|
+
// #28-jpa — Java field shape: `[modifiers] type name [= initializer];`.
|
|
267
|
+
// Captures decorator block (group 1), declared Java type (group 2), and
|
|
268
|
+
// field name (group 3). Modifiers (`private`, `protected`, `final`, etc.)
|
|
269
|
+
// are tolerated but not required — JPA fields are conventionally `private`.
|
|
270
|
+
const javaRe = /^([ \t]*@(?:Column|Id|GeneratedValue|Unique|Enumerated|JoinColumn|Lob|Temporal|Version|CreatedDate|LastModifiedDate)(?:\([^)]*\))?[ \t]*\n[ \t]*(?:@[A-Z][a-zA-Z]*(?:\([^)]*\))?[ \t]*\n[ \t]*)*)(?:(?:private|protected|public|final|static|transient|volatile)\s+)*((?:[A-Z]\w*|[a-z]\w+)(?:<[^>]+>)?(?:\[\])?)\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*[=;]/gm;
|
|
271
|
+
while ((m = javaRe.exec(body)) !== null) {
|
|
272
|
+
const decoratorBlock = m[1];
|
|
273
|
+
const declaredType = m[2].trim();
|
|
274
|
+
const name = m[3];
|
|
275
|
+
if (seen.has(name))
|
|
276
|
+
continue;
|
|
277
|
+
seen.add(name);
|
|
278
|
+
out.push({
|
|
279
|
+
name,
|
|
280
|
+
declaredType,
|
|
281
|
+
isPrimary: /@(?:Id|GeneratedValue)\b/.test(decoratorBlock),
|
|
282
|
+
isUnique: /@Unique\b/.test(decoratorBlock) || /unique\s*=\s*true/i.test(decoratorBlock),
|
|
283
|
+
});
|
|
284
|
+
}
|
|
242
285
|
return out;
|
|
243
286
|
}
|
|
244
287
|
/**
|
|
245
288
|
* Find relationship decorators (@OneToMany etc.) and the entity they point
|
|
246
|
-
* to. Both `() => Foo` and `'Foo'` argument styles are recognised
|
|
289
|
+
* to. Both `() => Foo` and `'Foo'` argument styles are recognised, plus
|
|
290
|
+
* the Java/JPA shape (`@OneToMany(mappedBy = "...")` followed by a typed
|
|
291
|
+
* Java field declaration).
|
|
247
292
|
*/
|
|
248
293
|
function extractRelationships(body, fromName) {
|
|
249
294
|
const out = [];
|
|
250
|
-
//
|
|
251
|
-
//
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
|
|
295
|
+
// TypeScript / TypeORM / Sequelize shape:
|
|
296
|
+
// @OneToMany(() => Type, t => t.parent) fieldName: Foo[];
|
|
297
|
+
//
|
|
298
|
+
// The trailing `fieldName:` colon syntax doesn't appear in Java, so this
|
|
299
|
+
// regex won't false-match Java sources. (The `name:` inside
|
|
300
|
+
// `@JoinColumn({ name: 'fk_id' })` is a known imprecision — the
|
|
301
|
+
// captured fieldName can be `name` instead of the actual field. The
|
|
302
|
+
// target type is extracted from the decorator args, not from fieldName,
|
|
303
|
+
// so the relationship's `from → to` shape is still correct; only the
|
|
304
|
+
// fieldName itself is unreliable for TS sources with stacked
|
|
305
|
+
// `@JoinColumn` decorators.)
|
|
306
|
+
const tsRe = /@(OneToMany|HasMany|ManyToOne|BelongsTo|OneToOne|HasOne|ManyToMany)\s*\(((?:[^()]|\([^()]*\))*)\)[\s\S]{0,300}?([a-zA-Z_][a-zA-Z0-9_]*)[!?]?\s*:/g;
|
|
255
307
|
let m;
|
|
256
|
-
while ((m =
|
|
308
|
+
while ((m = tsRe.exec(body)) !== null) {
|
|
257
309
|
const kind = m[1];
|
|
258
310
|
const args = m[2];
|
|
259
311
|
const fieldName = m[3];
|
|
260
|
-
// Try to extract the target type from `() => Foo` or `'Foo'` or `"Foo"`
|
|
261
312
|
let to;
|
|
262
313
|
const arrow = args.match(/=>\s*([A-Z][A-Za-z0-9_]*)/);
|
|
263
314
|
const quoted = args.match(/['"]([A-Z][A-Za-z0-9_]*)['"]/);
|
|
@@ -270,19 +321,46 @@ function extractRelationships(body, fromName) {
|
|
|
270
321
|
to = bareIdent[1];
|
|
271
322
|
if (!to)
|
|
272
323
|
continue;
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
324
|
+
out.push({ from: fromName, to, type: relationshipType(kind), fieldName });
|
|
325
|
+
}
|
|
326
|
+
// #28-jpa — Java/JPA shape:
|
|
327
|
+
// @OneToMany(mappedBy = "customer") // inverse: target inside List<>
|
|
328
|
+
// private List<Invoice> invoices;
|
|
329
|
+
//
|
|
330
|
+
// @ManyToOne(optional = false) // forward: target IS the field type
|
|
331
|
+
// @JoinColumn(name = "customer_id")
|
|
332
|
+
// private Customer customer;
|
|
333
|
+
//
|
|
334
|
+
// We capture the decorator + its args (or empty parens), then walk
|
|
335
|
+
// forward through any number of additional `@…` annotations + access
|
|
336
|
+
// modifiers, and read the Java type and field name. For OneToMany /
|
|
337
|
+
// ManyToMany the target lives INSIDE `List<X>` / `Set<X>`; for
|
|
338
|
+
// ManyToOne / OneToOne it's the bare type. The trailing `[=;]` anchors
|
|
339
|
+
// the match to a Java field declaration (`private Customer customer;`
|
|
340
|
+
// or `private InvoiceStatus status = InvoiceStatus.OPEN`).
|
|
341
|
+
const javaRe = /@(OneToMany|ManyToOne|OneToOne|ManyToMany)(?:\s*\(((?:[^()]|\([^()]*\))*)\))?[ \t]*\n(?:[ \t]*@[A-Z][A-Za-z]*(?:\([^)]*\))?[ \t]*\n)*[ \t]*(?:(?:private|protected|public|final|static)\s+)*((?:List|Set|Collection)<\s*([A-Z]\w*)\s*>|([A-Z]\w*))\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*[=;]/gm;
|
|
342
|
+
while ((m = javaRe.exec(body)) !== null) {
|
|
343
|
+
const kind = m[1];
|
|
344
|
+
const collectionTarget = m[4]; // type inside List<...>
|
|
345
|
+
const bareTarget = m[5]; // bare type name
|
|
346
|
+
const fieldName = m[6];
|
|
347
|
+
const to = collectionTarget || bareTarget;
|
|
348
|
+
if (!to)
|
|
349
|
+
continue;
|
|
350
|
+
out.push({ from: fromName, to, type: relationshipType(kind), fieldName });
|
|
283
351
|
}
|
|
284
352
|
return out;
|
|
285
353
|
}
|
|
354
|
+
/** Map decorator kind to the canonical relationship type. */
|
|
355
|
+
function relationshipType(kind) {
|
|
356
|
+
if (kind === 'OneToMany' || kind === 'HasMany')
|
|
357
|
+
return 'hasMany';
|
|
358
|
+
if (kind === 'ManyToOne' || kind === 'BelongsTo')
|
|
359
|
+
return 'belongsTo';
|
|
360
|
+
if (kind === 'OneToOne' || kind === 'HasOne')
|
|
361
|
+
return 'hasOne';
|
|
362
|
+
return 'manyToMany';
|
|
363
|
+
}
|
|
286
364
|
/**
|
|
287
365
|
* Slice a class into two pieces: the class-level decorator block (immediately
|
|
288
366
|
* above `class X {`) and the class body (from `class X {` through endLine).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-decorators.js","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/typescript-decorators.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkD5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA0B;IAE1B,MAAM,KAAK,GAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAElG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,qEAAqE;IACrE,8BAA8B;IAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAC;IAEnE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,SAAS;QAC5B,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QACrB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,eAAe;YAAE,SAAS;QAC5C,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAChD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,SAAyC;YACpD,UAAU;YACV,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,mEAAmE;QACnE,8DAA8D;QAC9D,6DAA6D;QAC7D,kEAAkE;QAClE,wDAAwD;QACxD,EAAE;QACF,4DAA4D;QAC5D,iEAAiE;QACjE,iEAAiE;QACjE,gEAAgE;QAChE,wDAAwD;QACxD,qEAAqE;QACrE,uCAAuC;QACvC,yDAAyD;QACzD,IAAI,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,cAAc,GAA4D,EAAE,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACnG,MAAM,WAAW,GAAG,UAAU;mBACzB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,WAAW,IAAI,cAAc,CAAC,CAAC,CAAE,CAAC;YACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnF,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,GAAG,CAAC,IAAI;gBACf,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,kBAAkB,CACzB,SAAiB,EACjB,cAAsB,EACtB,SAAmB;IAEnB,MAAM,GAAG,GAAmD,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,6DAA6D;QAC7D,gEAAgE;QAChE,mDAAmD;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,CAAC,UAAU,CAClD,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,gEAAgE;QAChE,qEAAqE;QACrE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,UAAW,CAAC;QAE3C,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAC9D,CAAC;QAEF,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACnD,uDAAuD;YACvD,IAAI,GAAG,CAAC,KAAK,CAAC,UAAW,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,IAAI;YACJ,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,EAAE,GAAG,wCAAwC,CAAC;IACpD,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,+CAA+C;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,+DAA+D;YAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzD,IAAI,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;QACjD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,iCAAiC;AACjC,wEAAwE;AAExE;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,cAAsB;IAC7C,4EAA4E;IAC5E,IAAI,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3D,IAAI,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,WAAW,CAAC;IACnE,4BAA4B;IAC5B,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,gCAAgC;IAChC,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9D,8EAA8E;IAC9E,+DAA+D;IAC/D,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,GAAG,GAAkC,EAAE,CAAC;IAC9C,iEAAiE;IACjE,0EAA0E;IAC1E,MAAM,EAAE,GAAG,2PAA2P,CAAC;IACvQ,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC;YACP,IAAI;YACJ,YAAY;YACZ,SAAS,EAAE,6CAA6C,CAAC,IAAI,CAAC,cAAc,CAAC;YAC7E,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC;SACxF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IAC1D,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,sEAAsE;IACtE,gDAAgD;IAChD,qEAAqE;IACrE,4DAA4D;IAC5D,MAAM,EAAE,GAAG,mJAAmJ,CAAC;IAC/J,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,wEAAwE;QACxE,IAAI,EAAsB,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrE,IAAI,KAAK;YAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB,IAAI,MAAM;YAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,SAAS;YAAE,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,IAAI,IAAmC,CAAC;QACxC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,SAAS,CAAC;aAC5D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW;YAAE,IAAI,GAAG,WAAW,CAAC;aACrE,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,QAAQ,CAAC;;YAC9D,IAAI,GAAG,YAAY,CAAC;QAEzB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,UAAU,CACjB,QAAgB,EAChB,SAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,iFAAiF;IACjF,iFAAiF;IACjF,gFAAgF;IAChF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAChD,UAAU,IAAI,MAAM,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,oFAAoF;YACpF,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC;gBAAE,SAAS;YACrF,oEAAoE;YACpE,SAAS;QACX,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,gEAAgE;QAChE,MAAM;IACR,CAAC;IAED,+DAA+D;IAC/D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"typescript-decorators.js","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/typescript-decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep-only.d.ts","sourceRoot":"","sources":["../../../src/analyse-prepass/backends/grep-only.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,eAAe,EAChB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"grep-only.d.ts","sourceRoot":"","sources":["../../../src/analyse-prepass/backends/grep-only.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAgFzB,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,gEAAgE;IAChE,OAAO,CAAC,SAAS,CAA6B;IAE9C,YAAY;;;;;;;;;;MAUV;IAEI,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAY7B,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAejD,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgCpD,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsCrD,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA8B3D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA4B5C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOnD;;;;;;OAMG;IACG,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAgG9E,sEAAsE;IACtE,OAAO,CAAC,YAAY;CA6BrB"}
|
|
@@ -41,6 +41,23 @@ const LANG_PATTERNS = {
|
|
|
41
41
|
methodRegex: /^func\s+\([^)]*\)\s+(\w+)\s*\(/gm,
|
|
42
42
|
importRegex: /^import\s+(?:\(([\s\S]*?)\)|"([^"]+)")/gm,
|
|
43
43
|
},
|
|
44
|
+
java: {
|
|
45
|
+
fileExtensions: ['.java'],
|
|
46
|
+
// Java class declarations: optional `public` / `abstract` / `final`
|
|
47
|
+
// modifiers before `class`. Annotations (like @Entity) live on the
|
|
48
|
+
// line above; we match the class line itself, then typescript-decorators
|
|
49
|
+
// walks backwards to find any preceding `@…` decorator block.
|
|
50
|
+
classRegex: /^(?:public\s+|abstract\s+|final\s+|static\s+)*class\s+(\w+)/gm,
|
|
51
|
+
// Java method declarations: access modifier + return type + name + (.
|
|
52
|
+
// Captures the name as group 1; allows generic return types like
|
|
53
|
+
// `List<Foo>`. The leading whitespace requirement keeps us inside a
|
|
54
|
+
// class body (top-level class declarations are filtered above).
|
|
55
|
+
methodRegex: /^\s+(?:public|private|protected|static|abstract|final|synchronized)\s+(?:[\w<>\[\],\s.]+\s+)?(\w+)\s*\(/gm,
|
|
56
|
+
interfaceRegex: /^(?:public\s+|abstract\s+)*interface\s+(\w+)/gm,
|
|
57
|
+
// Java imports: `import a.b.C;` or `import static a.b.C;` — captures the
|
|
58
|
+
// fully-qualified path (everything between `import` and `;`).
|
|
59
|
+
importRegex: /^import\s+(?:static\s+)?([\w.*]+);/gm,
|
|
60
|
+
},
|
|
44
61
|
};
|
|
45
62
|
/**
|
|
46
63
|
* Detect a language using grep-only's own per-language pattern set.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep-only.js","sourceRoot":"","sources":["../../../src/analyse-prepass/backends/grep-only.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grep-only.js","sourceRoot":"","sources":["../../../src/analyse-prepass/backends/grep-only.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-body-walker.d.ts","sourceRoot":"","sources":["../../src/analyse-prepass/method-body-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB;;kDAE8C;IAC9C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,2CAA2C;IAC3C,eAAe,EAAE,cAAc,EAAE,CAAC;IAElC;;6CAEyC;IACzC,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB;;;gEAG4D;IAC5D,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB,+DAA+D;IAC/D,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,4CAA4C;IAC5C,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wDACoD;IACpD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C;8CAC0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"method-body-walker.d.ts","sourceRoot":"","sources":["../../src/analyse-prepass/method-body-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB;;kDAE8C;IAC9C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,2CAA2C;IAC3C,eAAe,EAAE,cAAc,EAAE,CAAC;IAElC;;6CAEyC;IACzC,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB;;;gEAG4D;IAC5D,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB,+DAA+D;IAC/D,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,4CAA4C;IAC5C,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wDACoD;IACpD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C;8CAC0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CA6ErE"}
|
|
@@ -40,7 +40,13 @@ export function walkMethodBodies(classBody) {
|
|
|
40
40
|
// `\([^)]*\)` regex stops at the first `)` and misses the method.
|
|
41
41
|
// Walk the source: match the START of a declaration, then balance
|
|
42
42
|
// parens forward to find the param-list close, then scan to `{`.
|
|
43
|
-
|
|
43
|
+
//
|
|
44
|
+
// The optional `(?:[\w$]+(?:<[^>]*>)?(?:\[\])?\s+)?` group consumes
|
|
45
|
+
// a Java-style return type when present (`public void send(...)`).
|
|
46
|
+
// For TypeScript / NestJS, no return type appears before the name;
|
|
47
|
+
// the optional group fails to match (no whitespace after the
|
|
48
|
+
// would-be type) and falls through.
|
|
49
|
+
const startRe = /^\s*(?:(?:public|private|protected|static|abstract|final|synchronized)\s+)*(async\s+)?(?:(?:[A-Za-z_$][\w$]*(?:<[^>]*>)?(?:\[\])?)\s+)?([a-zA-Z_$][\w$]*)\s*\(/gm;
|
|
44
50
|
let m;
|
|
45
51
|
while ((m = startRe.exec(classBody)) !== null) {
|
|
46
52
|
const isAsync = !!m[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-body-walker.js","sourceRoot":"","sources":["../../src/analyse-prepass/method-body-walker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"method-body-walker.js","sourceRoot":"","sources":["../../src/analyse-prepass/method-body-walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -653,9 +653,44 @@ import type { ParserEngine, InferenceEngine, RealizeEngine } from '@specverse/ty
|
|
|
653
653
|
if (!realizeEngine) { console.error('No realize engine found.'); process.exit(1); }
|
|
654
654
|
await realizeEngine.initialize({ manifestPath: effectiveManifestPath, workingDir: (process.env.SPECVERSE_USER_CWD || process.cwd()) });
|
|
655
655
|
|
|
656
|
+
// #15 \u2014 subtype dispatch. \`type\` is the positional arg that was
|
|
657
|
+
// previously captured-but-ignored. \`all\` is the default and runs
|
|
658
|
+
// the full pipeline. Other values name a single entity section
|
|
659
|
+
// (models / controllers / services / views / events / deployments
|
|
660
|
+
// / commands / measures / promotions / conventions / distributions)
|
|
661
|
+
// and we filter the inferred spec to that section per component
|
|
662
|
+
// before handing it to realize. The realize engine iterates each
|
|
663
|
+
// section independently; an empty section is a no-op for that
|
|
664
|
+
// section's generators.
|
|
665
|
+
const ENTITY_SECTIONS = new Set([
|
|
666
|
+
'models', 'controllers', 'services', 'views', 'events',
|
|
667
|
+
'deployments', 'commands', 'measures', 'promotions',
|
|
668
|
+
'conventions', 'distributions',
|
|
669
|
+
]);
|
|
670
|
+
let realizeSpec: any = inferredSpec;
|
|
671
|
+
const realizeType = String(type || 'all').toLowerCase();
|
|
672
|
+
if (realizeType !== 'all') {
|
|
673
|
+
if (!ENTITY_SECTIONS.has(realizeType)) {
|
|
674
|
+
console.error(\`Unknown realize subtype: '\${type}'. Expected 'all' or one of: \` + Array.from(ENTITY_SECTIONS).sort().join(', '));
|
|
675
|
+
process.exit(1);
|
|
676
|
+
}
|
|
677
|
+
realizeSpec = JSON.parse(JSON.stringify(inferredSpec));
|
|
678
|
+
const components: any[] = Array.isArray(realizeSpec?.components)
|
|
679
|
+
? realizeSpec.components
|
|
680
|
+
: Object.values(realizeSpec?.components || {});
|
|
681
|
+
for (const comp of components) {
|
|
682
|
+
if (!comp || typeof comp !== 'object') continue;
|
|
683
|
+
for (const section of ENTITY_SECTIONS) {
|
|
684
|
+
if (section !== realizeType && comp[section] !== undefined) {
|
|
685
|
+
comp[section] = Array.isArray(comp[section]) ? [] : {};
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
|
|
656
691
|
const outputDir = resolve((process.env.SPECVERSE_USER_CWD || process.cwd()), options.output || 'generated/code');
|
|
657
692
|
console.log('Realizing ' + type + ' from ' + file + '...');
|
|
658
|
-
await (realizeEngine as any).realizeAll(
|
|
693
|
+
await (realizeEngine as any).realizeAll(realizeSpec, outputDir);
|
|
659
694
|
|
|
660
695
|
// Write dev.specly for runtime mode \u2014 only if the manifest
|
|
661
696
|
// actually declares a frontend (app.frontend capability). For
|
|
@@ -219,8 +219,10 @@ function generateModelSchema(model, relationMap, backRefs, hasOneTargets, allMod
|
|
|
219
219
|
`;
|
|
220
220
|
const attributes = Array.isArray(model.attributes) ? model.attributes : Object.values(model.attributes || {});
|
|
221
221
|
const relationships = Array.isArray(model.relationships) ? model.relationships : Object.values(model.relationships || {});
|
|
222
|
+
const compositePkForFields = parseColumnList(model.keys ?? model.primaryKey);
|
|
223
|
+
const hasCompositePk = compositePkForFields.length > 1;
|
|
222
224
|
attributes.forEach((attr) => {
|
|
223
|
-
schema += ` ${generateField(attr, model)}
|
|
225
|
+
schema += ` ${generateField(attr, model, { suppressColumnId: hasCompositePk })}
|
|
224
226
|
`;
|
|
225
227
|
});
|
|
226
228
|
const ENUM_VALUE_REGEX = /^[a-zA-Z][a-zA-Z0-9_]*$/;
|
|
@@ -258,14 +260,60 @@ function generateModelSchema(model, relationMap, backRefs, hasOneTargets, allMod
|
|
|
258
260
|
`;
|
|
259
261
|
}
|
|
260
262
|
}
|
|
263
|
+
const compositePk = parseColumnList(model.keys ?? model.primaryKey);
|
|
264
|
+
if (compositePk.length > 1) {
|
|
265
|
+
schema += ` @@id([${compositePk.join(", ")}])
|
|
266
|
+
`;
|
|
267
|
+
}
|
|
268
|
+
const compositeUniques = parseCompositeUnique(model.unique);
|
|
269
|
+
for (const cols of compositeUniques) {
|
|
270
|
+
if (cols.length > 0) {
|
|
271
|
+
schema += ` @@unique([${cols.join(", ")}])
|
|
272
|
+
`;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
for (const attr of attributes) {
|
|
276
|
+
if (!attr?.index || typeof attr.index !== "object") continue;
|
|
277
|
+
const where = typeof attr.index.where === "string" ? attr.index.where : null;
|
|
278
|
+
if (!where) continue;
|
|
279
|
+
const isUnique = attr.index.unique === true;
|
|
280
|
+
const directive = isUnique ? "@@unique" : "@@index";
|
|
281
|
+
const escaped = where.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
282
|
+
schema += ` ${directive}([${attr.name}], where: "${escaped}")
|
|
283
|
+
`;
|
|
284
|
+
}
|
|
261
285
|
schema += `}`;
|
|
262
286
|
return schema;
|
|
263
287
|
}
|
|
288
|
+
function parseColumnList(raw) {
|
|
289
|
+
if (raw === void 0 || raw === null) return [];
|
|
290
|
+
if (typeof raw === "string") return [raw];
|
|
291
|
+
if (!Array.isArray(raw)) return [];
|
|
292
|
+
if (raw.length === 0) return [];
|
|
293
|
+
if (typeof raw[0] === "string") {
|
|
294
|
+
return raw.filter((x) => typeof x === "string");
|
|
295
|
+
}
|
|
296
|
+
if (Array.isArray(raw[0])) {
|
|
297
|
+
return raw[0].filter((x) => typeof x === "string");
|
|
298
|
+
}
|
|
299
|
+
return [];
|
|
300
|
+
}
|
|
301
|
+
function parseCompositeUnique(raw) {
|
|
302
|
+
if (raw === void 0 || raw === null) return [];
|
|
303
|
+
if (!Array.isArray(raw) || raw.length === 0) return [];
|
|
304
|
+
if (typeof raw[0] === "string") {
|
|
305
|
+
return [raw.filter((x) => typeof x === "string")];
|
|
306
|
+
}
|
|
307
|
+
if (Array.isArray(raw[0])) {
|
|
308
|
+
return raw.map((row) => row.filter((x) => typeof x === "string")).filter((row) => row.length > 0);
|
|
309
|
+
}
|
|
310
|
+
return [];
|
|
311
|
+
}
|
|
264
312
|
function isTimestampFieldName(name) {
|
|
265
313
|
if (!name) return false;
|
|
266
314
|
return /^[a-z][a-zA-Z0-9]*At$/.test(name);
|
|
267
315
|
}
|
|
268
|
-
function generateField(attr, model) {
|
|
316
|
+
function generateField(attr, model, opts = {}) {
|
|
269
317
|
const name = attr.name;
|
|
270
318
|
let prismaType = mapTypeToPrisma(attr.type, attr.dbMapping?.columnType);
|
|
271
319
|
if (isTimestampFieldName(name) && prismaType !== "DateTime") {
|
|
@@ -278,7 +326,7 @@ function generateField(attr, model) {
|
|
|
278
326
|
const metadata = model?.metadata || {};
|
|
279
327
|
let modifiers = "";
|
|
280
328
|
let hasDefault = false;
|
|
281
|
-
if (name.toLowerCase() === "id") {
|
|
329
|
+
if (name.toLowerCase() === "id" && !opts.suppressColumnId) {
|
|
282
330
|
modifiers += " @id";
|
|
283
331
|
if (metadata.id === "uuid" || metadata.id === "auto" || prismaType === "String") {
|
|
284
332
|
modifiers += " @default(uuid())";
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* command-generator (commander) — TODO #15 subtype dispatch test.
|
|
3
|
+
*
|
|
4
|
+
* The realize CLI command was previously taking a `<type>` positional
|
|
5
|
+
* arg and ignoring it: every invocation called realizeAll with the
|
|
6
|
+
* full spec. #15 wires `type` into a per-component section filter so
|
|
7
|
+
* `spv realize controllers <spec>` only regenerates controller outputs.
|
|
8
|
+
*
|
|
9
|
+
* This test exercises the generator with a realize-shaped command spec
|
|
10
|
+
* and asserts the emitted file contains the dispatch logic. End-to-end
|
|
11
|
+
* verification (does spv realize controllers actually skip non-
|
|
12
|
+
* controller sections?) requires a publish; the unit test pins the
|
|
13
|
+
* shape of the emitted handler.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { describe, it, expect } from 'vitest';
|
|
17
|
+
import generateCommand from '../templates/commander/command-generator.js';
|
|
18
|
+
|
|
19
|
+
function makeContext() {
|
|
20
|
+
return {
|
|
21
|
+
command: {
|
|
22
|
+
name: 'realize',
|
|
23
|
+
description: 'Generate production code from specification',
|
|
24
|
+
arguments: {
|
|
25
|
+
type: { positional: true, position: 1, required: true, type: 'string' },
|
|
26
|
+
file: { positional: true, position: 2, required: true, type: 'string' },
|
|
27
|
+
},
|
|
28
|
+
flags: {
|
|
29
|
+
output: { type: 'string', shortName: 'o', description: 'Output directory' },
|
|
30
|
+
manifest: { type: 'string', shortName: 'm', description: 'Implementation manifest file' },
|
|
31
|
+
static: { type: 'boolean', description: 'Generate full static frontend (no @specverse/runtime dependency)' },
|
|
32
|
+
estimate: { type: 'boolean', description: 'Print expected output breakdown by realize layer' },
|
|
33
|
+
},
|
|
34
|
+
serviceRef: 'realize',
|
|
35
|
+
},
|
|
36
|
+
} as any;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
describe('cli/commander/command-generator — #15 realize subtype dispatch', () => {
|
|
40
|
+
it('emits ENTITY_SECTIONS guard listing the canonical entity types', () => {
|
|
41
|
+
const out = generateCommand(makeContext());
|
|
42
|
+
expect(out).toContain("'models'");
|
|
43
|
+
expect(out).toContain("'controllers'");
|
|
44
|
+
expect(out).toContain("'services'");
|
|
45
|
+
expect(out).toContain("'views'");
|
|
46
|
+
expect(out).toContain("'events'");
|
|
47
|
+
expect(out).toContain("'deployments'");
|
|
48
|
+
expect(out).toContain("'commands'");
|
|
49
|
+
expect(out).toContain("'measures'");
|
|
50
|
+
expect(out).toContain("'promotions'");
|
|
51
|
+
expect(out).toContain("'conventions'");
|
|
52
|
+
expect(out).toContain("'distributions'");
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('rejects unknown subtypes with a clear error and process.exit', () => {
|
|
56
|
+
const out = generateCommand(makeContext());
|
|
57
|
+
expect(out).toMatch(/Unknown realize subtype/);
|
|
58
|
+
expect(out).toContain("process.exit(1)");
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('preserves the all-default behaviour by passing inferredSpec through unchanged', () => {
|
|
62
|
+
const out = generateCommand(makeContext());
|
|
63
|
+
// The "all" branch must NOT JSON-clone — it should pass inferredSpec
|
|
64
|
+
// straight to realizeAll. The clone only happens in the filter branch.
|
|
65
|
+
expect(out).toContain("realizeType !== 'all'");
|
|
66
|
+
expect(out).toContain("realizeAll(realizeSpec, outputDir)");
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('clones + filters the spec for non-all subtypes', () => {
|
|
70
|
+
const out = generateCommand(makeContext());
|
|
71
|
+
// Deep-clone marker.
|
|
72
|
+
expect(out).toContain('JSON.parse(JSON.stringify(inferredSpec))');
|
|
73
|
+
// Per-component section reset (sections other than the requested
|
|
74
|
+
// type are emptied to their array/object identity element).
|
|
75
|
+
expect(out).toMatch(/section !== realizeType/);
|
|
76
|
+
expect(out).toMatch(/Array\.isArray\(comp\[section\]\)\s*\?\s*\[\]\s*:\s*\{\}/);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('logs which subtype is being realized (not just the file path)', () => {
|
|
80
|
+
const out = generateCommand(makeContext());
|
|
81
|
+
expect(out).toMatch(/Realizing.*\+\s*type\s*\+/);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
@@ -720,9 +720,44 @@ import type { ParserEngine, InferenceEngine, RealizeEngine } from '@specverse/ty
|
|
|
720
720
|
if (!realizeEngine) { console.error('No realize engine found.'); process.exit(1); }
|
|
721
721
|
await realizeEngine.initialize({ manifestPath: effectiveManifestPath, workingDir: (process.env.SPECVERSE_USER_CWD || process.cwd()) });
|
|
722
722
|
|
|
723
|
+
// #15 — subtype dispatch. \`type\` is the positional arg that was
|
|
724
|
+
// previously captured-but-ignored. \`all\` is the default and runs
|
|
725
|
+
// the full pipeline. Other values name a single entity section
|
|
726
|
+
// (models / controllers / services / views / events / deployments
|
|
727
|
+
// / commands / measures / promotions / conventions / distributions)
|
|
728
|
+
// and we filter the inferred spec to that section per component
|
|
729
|
+
// before handing it to realize. The realize engine iterates each
|
|
730
|
+
// section independently; an empty section is a no-op for that
|
|
731
|
+
// section's generators.
|
|
732
|
+
const ENTITY_SECTIONS = new Set([
|
|
733
|
+
'models', 'controllers', 'services', 'views', 'events',
|
|
734
|
+
'deployments', 'commands', 'measures', 'promotions',
|
|
735
|
+
'conventions', 'distributions',
|
|
736
|
+
]);
|
|
737
|
+
let realizeSpec: any = inferredSpec;
|
|
738
|
+
const realizeType = String(type || 'all').toLowerCase();
|
|
739
|
+
if (realizeType !== 'all') {
|
|
740
|
+
if (!ENTITY_SECTIONS.has(realizeType)) {
|
|
741
|
+
console.error(\`Unknown realize subtype: '\${type}'. Expected 'all' or one of: \` + Array.from(ENTITY_SECTIONS).sort().join(', '));
|
|
742
|
+
process.exit(1);
|
|
743
|
+
}
|
|
744
|
+
realizeSpec = JSON.parse(JSON.stringify(inferredSpec));
|
|
745
|
+
const components: any[] = Array.isArray(realizeSpec?.components)
|
|
746
|
+
? realizeSpec.components
|
|
747
|
+
: Object.values(realizeSpec?.components || {});
|
|
748
|
+
for (const comp of components) {
|
|
749
|
+
if (!comp || typeof comp !== 'object') continue;
|
|
750
|
+
for (const section of ENTITY_SECTIONS) {
|
|
751
|
+
if (section !== realizeType && comp[section] !== undefined) {
|
|
752
|
+
comp[section] = Array.isArray(comp[section]) ? [] : {};
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
|
|
723
758
|
const outputDir = resolve((process.env.SPECVERSE_USER_CWD || process.cwd()), options.output || 'generated/code');
|
|
724
759
|
console.log('Realizing ' + type + ' from ' + file + '...');
|
|
725
|
-
await (realizeEngine as any).realizeAll(
|
|
760
|
+
await (realizeEngine as any).realizeAll(realizeSpec, outputDir);
|
|
726
761
|
|
|
727
762
|
// Write dev.specly for runtime mode — only if the manifest
|
|
728
763
|
// actually declares a frontend (app.frontend capability). For
|
|
@@ -414,3 +414,318 @@ describe('prisma/schema-generator — 53C attribute/relationship collision', ()
|
|
|
414
414
|
expect(err!.message).toContain('"bar"');
|
|
415
415
|
});
|
|
416
416
|
});
|
|
417
|
+
|
|
418
|
+
describe('prisma/schema-generator — 43B composite primary key', () => {
|
|
419
|
+
// model.keys: [a, b] (or model.primaryKey: [a, b]) → @@id([a, b]) at
|
|
420
|
+
// the model level. Mirrors postgres-native's parseColumnList contract
|
|
421
|
+
// so the same spec field works across both adapters.
|
|
422
|
+
it('emits @@id([a, b]) when model.keys declares a composite PK', () => {
|
|
423
|
+
const enrolment = {
|
|
424
|
+
name: 'Enrolment',
|
|
425
|
+
keys: ['studentId', 'courseId'],
|
|
426
|
+
attributes: [
|
|
427
|
+
{ name: 'studentId', type: 'String', required: true },
|
|
428
|
+
{ name: 'courseId', type: 'String', required: true },
|
|
429
|
+
{ name: 'enrolledAt', type: 'DateTime' },
|
|
430
|
+
],
|
|
431
|
+
relationships: [],
|
|
432
|
+
};
|
|
433
|
+
const out = generatePrismaSchema({
|
|
434
|
+
spec: { models: [enrolment] },
|
|
435
|
+
models: [enrolment],
|
|
436
|
+
} as any);
|
|
437
|
+
expect(out).toMatch(/@@id\(\[studentId, courseId\]\)/);
|
|
438
|
+
});
|
|
439
|
+
|
|
440
|
+
it('also accepts model.primaryKey as an alias for model.keys', () => {
|
|
441
|
+
const m = {
|
|
442
|
+
name: 'Pair',
|
|
443
|
+
primaryKey: ['a', 'b'],
|
|
444
|
+
attributes: [
|
|
445
|
+
{ name: 'a', type: 'String', required: true },
|
|
446
|
+
{ name: 'b', type: 'String', required: true },
|
|
447
|
+
],
|
|
448
|
+
relationships: [],
|
|
449
|
+
};
|
|
450
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
451
|
+
expect(out).toMatch(/@@id\(\[a, b\]\)/);
|
|
452
|
+
});
|
|
453
|
+
|
|
454
|
+
it('does NOT emit @id on the lone id column when composite PK is declared', () => {
|
|
455
|
+
// Without suppression, an `id` attribute would carry column-level @id;
|
|
456
|
+
// Prisma rejects having both column-level @id AND model-level @@id.
|
|
457
|
+
const m = {
|
|
458
|
+
name: 'Compound',
|
|
459
|
+
keys: ['a', 'b'],
|
|
460
|
+
attributes: [
|
|
461
|
+
{ name: 'id', type: 'String', required: true },
|
|
462
|
+
{ name: 'a', type: 'String', required: true },
|
|
463
|
+
{ name: 'b', type: 'String', required: true },
|
|
464
|
+
],
|
|
465
|
+
relationships: [],
|
|
466
|
+
};
|
|
467
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
468
|
+
const block = out.match(/model Compound \{[\s\S]*?\n\}/)?.[0] ?? '';
|
|
469
|
+
expect(block).toMatch(/@@id\(\[a, b\]\)/);
|
|
470
|
+
expect(block).not.toMatch(/^\s+id\s+\S+\s+@id/m);
|
|
471
|
+
});
|
|
472
|
+
|
|
473
|
+
it('does NOT emit @@id when keys is a single-column array (degenerate)', () => {
|
|
474
|
+
// [a] is degenerate — column-level @id on `a` is the right shape.
|
|
475
|
+
const m = {
|
|
476
|
+
name: 'Single',
|
|
477
|
+
keys: ['a'],
|
|
478
|
+
attributes: [{ name: 'a', type: 'String', required: true }],
|
|
479
|
+
relationships: [],
|
|
480
|
+
};
|
|
481
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
482
|
+
expect(out).not.toMatch(/@@id\(/);
|
|
483
|
+
});
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
describe('prisma/schema-generator — 43D composite uniques + partial indexes', () => {
|
|
487
|
+
it('emits @@unique([a, b]) for one composite-unique declaration', () => {
|
|
488
|
+
// model.unique: ['a', 'b'] → single composite spanning a and b.
|
|
489
|
+
const m = {
|
|
490
|
+
name: 'Uniq',
|
|
491
|
+
unique: ['a', 'b'],
|
|
492
|
+
attributes: [
|
|
493
|
+
{ name: 'id', type: 'String', required: true },
|
|
494
|
+
{ name: 'a', type: 'String', required: true },
|
|
495
|
+
{ name: 'b', type: 'String', required: true },
|
|
496
|
+
],
|
|
497
|
+
relationships: [],
|
|
498
|
+
};
|
|
499
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
500
|
+
expect(out).toMatch(/@@unique\(\[a, b\]\)/);
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
it('emits multiple @@unique blocks when model.unique is array-of-arrays', () => {
|
|
504
|
+
const m = {
|
|
505
|
+
name: 'Multi',
|
|
506
|
+
unique: [['a', 'b'], ['c', 'd']],
|
|
507
|
+
attributes: [
|
|
508
|
+
{ name: 'id', type: 'String', required: true },
|
|
509
|
+
{ name: 'a', type: 'String' },
|
|
510
|
+
{ name: 'b', type: 'String' },
|
|
511
|
+
{ name: 'c', type: 'String' },
|
|
512
|
+
{ name: 'd', type: 'String' },
|
|
513
|
+
],
|
|
514
|
+
relationships: [],
|
|
515
|
+
};
|
|
516
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
517
|
+
expect(out).toMatch(/@@unique\(\[a, b\]\)/);
|
|
518
|
+
expect(out).toMatch(/@@unique\(\[c, d\]\)/);
|
|
519
|
+
});
|
|
520
|
+
|
|
521
|
+
it('emits @@index([col], where: "...") for partial index', () => {
|
|
522
|
+
// attr.index: { where: "deletedAt IS NULL" } → @@index with where clause.
|
|
523
|
+
const m = {
|
|
524
|
+
name: 'Active',
|
|
525
|
+
attributes: [
|
|
526
|
+
{ name: 'id', type: 'String', required: true },
|
|
527
|
+
{
|
|
528
|
+
name: 'email',
|
|
529
|
+
type: 'String',
|
|
530
|
+
index: { where: 'deletedAt IS NULL' },
|
|
531
|
+
},
|
|
532
|
+
],
|
|
533
|
+
relationships: [],
|
|
534
|
+
};
|
|
535
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
536
|
+
expect(out).toMatch(/@@index\(\[email\], where: "deletedAt IS NULL"\)/);
|
|
537
|
+
});
|
|
538
|
+
|
|
539
|
+
it('emits @@unique (not @@index) for partial-unique attr.index.unique=true', () => {
|
|
540
|
+
const m = {
|
|
541
|
+
name: 'ActiveUniq',
|
|
542
|
+
attributes: [
|
|
543
|
+
{ name: 'id', type: 'String', required: true },
|
|
544
|
+
{
|
|
545
|
+
name: 'email',
|
|
546
|
+
type: 'String',
|
|
547
|
+
index: { where: 'deletedAt IS NULL', unique: true },
|
|
548
|
+
},
|
|
549
|
+
],
|
|
550
|
+
relationships: [],
|
|
551
|
+
};
|
|
552
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
553
|
+
expect(out).toMatch(/@@unique\(\[email\], where: "deletedAt IS NULL"\)/);
|
|
554
|
+
expect(out).not.toMatch(/@@index\(\[email\], where:/);
|
|
555
|
+
});
|
|
556
|
+
|
|
557
|
+
it('escapes embedded quotes in where-clause to keep emitted string valid', () => {
|
|
558
|
+
const m = {
|
|
559
|
+
name: 'Quoted',
|
|
560
|
+
attributes: [
|
|
561
|
+
{ name: 'id', type: 'String', required: true },
|
|
562
|
+
{
|
|
563
|
+
name: 'tag',
|
|
564
|
+
type: 'String',
|
|
565
|
+
index: { where: 'tag != "deleted"' },
|
|
566
|
+
},
|
|
567
|
+
],
|
|
568
|
+
relationships: [],
|
|
569
|
+
};
|
|
570
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
571
|
+
expect(out).toContain('where: "tag != \\"deleted\\""');
|
|
572
|
+
});
|
|
573
|
+
});
|
|
574
|
+
|
|
575
|
+
describe('prisma/schema-generator — 43C JSON field type pass-through', () => {
|
|
576
|
+
// The prisma side already handles Json correctly (mapTypeToPrisma's
|
|
577
|
+
// typeLower.includes('json') branch). These tests pin that the
|
|
578
|
+
// Json type emits Prisma's `Json` keyword unchanged, with no spurious
|
|
579
|
+
// `String` fallback. The validator/UI generator side of #43C is a
|
|
580
|
+
// separate scope tracked for follow-up.
|
|
581
|
+
it('emits Prisma Json for spec attribute type "Json"', () => {
|
|
582
|
+
const m = {
|
|
583
|
+
name: 'Doc',
|
|
584
|
+
attributes: [
|
|
585
|
+
{ name: 'id', type: 'String', required: true },
|
|
586
|
+
{ name: 'metadata', type: 'Json' },
|
|
587
|
+
],
|
|
588
|
+
relationships: [],
|
|
589
|
+
};
|
|
590
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
591
|
+
expect(out).toMatch(/metadata\s+Json/);
|
|
592
|
+
expect(out).not.toMatch(/metadata\s+String/);
|
|
593
|
+
});
|
|
594
|
+
|
|
595
|
+
it('emits Prisma Json for spec attribute type "JSON" (case-insensitive)', () => {
|
|
596
|
+
const m = {
|
|
597
|
+
name: 'Doc',
|
|
598
|
+
attributes: [
|
|
599
|
+
{ name: 'id', type: 'String', required: true },
|
|
600
|
+
{ name: 'payload', type: 'JSON' },
|
|
601
|
+
],
|
|
602
|
+
relationships: [],
|
|
603
|
+
};
|
|
604
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
605
|
+
expect(out).toMatch(/payload\s+Json/);
|
|
606
|
+
});
|
|
607
|
+
|
|
608
|
+
it('emits Prisma Json when dbMapping.columnType is JSONB', () => {
|
|
609
|
+
const m = {
|
|
610
|
+
name: 'Doc',
|
|
611
|
+
attributes: [
|
|
612
|
+
{ name: 'id', type: 'String', required: true },
|
|
613
|
+
{ name: 'payload', type: 'String', dbMapping: { columnType: 'JSONB' } },
|
|
614
|
+
],
|
|
615
|
+
relationships: [],
|
|
616
|
+
};
|
|
617
|
+
const out = generatePrismaSchema({ spec: { models: [m] }, models: [m] } as any);
|
|
618
|
+
expect(out).toMatch(/payload\s+Json/);
|
|
619
|
+
});
|
|
620
|
+
});
|
|
621
|
+
|
|
622
|
+
describe('prisma/schema-generator — 33 dual-declaration (attribute + lifecycle on same field)', () => {
|
|
623
|
+
// When a model declares a field as BOTH an attribute (`status: String`)
|
|
624
|
+
// AND a lifecycle (`lifecycles.status.flow: ...`), pre-#33 the generator
|
|
625
|
+
// double-emitted — the field landed twice in the Prisma schema, which
|
|
626
|
+
// Prisma rejects with `Field "status" is already defined on model "X"`.
|
|
627
|
+
//
|
|
628
|
+
// The current generator dedupes at line 475 of schema-generator.ts:
|
|
629
|
+
// when `attributes.some(a => a.name === fieldName)` is true, the
|
|
630
|
+
// lifecycle emission is skipped entirely. The attribute wins; the
|
|
631
|
+
// lifecycle's state enum is dropped.
|
|
632
|
+
//
|
|
633
|
+
// These tests pin that dedup so a future change can't silently regress
|
|
634
|
+
// to the double-emit shape that idle-meta hit on 2026-04-29.
|
|
635
|
+
|
|
636
|
+
it('does NOT double-emit when attribute and lifecycle share a name (status)', () => {
|
|
637
|
+
const job = {
|
|
638
|
+
name: 'Job',
|
|
639
|
+
attributes: [
|
|
640
|
+
{ name: 'id', type: 'String', required: true },
|
|
641
|
+
{ name: 'title', type: 'String', required: true },
|
|
642
|
+
{ name: 'status', type: 'String' },
|
|
643
|
+
],
|
|
644
|
+
lifecycles: [
|
|
645
|
+
{ name: 'status', states: ['draft', 'published', 'archived'] },
|
|
646
|
+
],
|
|
647
|
+
relationships: [],
|
|
648
|
+
};
|
|
649
|
+
const out = generatePrismaSchema({
|
|
650
|
+
spec: { models: [job] },
|
|
651
|
+
models: [job],
|
|
652
|
+
} as any);
|
|
653
|
+
// Find the Job model block and count `status` field declarations.
|
|
654
|
+
const jobBlock = out.match(/model Job \{[\s\S]*?\n\}/)?.[0] ?? '';
|
|
655
|
+
const statusFieldDecls = jobBlock.match(/^\s+status\s+/gm) ?? [];
|
|
656
|
+
expect(statusFieldDecls.length).toBe(1);
|
|
657
|
+
});
|
|
658
|
+
|
|
659
|
+
it('attribute wins over lifecycle when both declare the same field', () => {
|
|
660
|
+
// Attribute is plain String; lifecycle would have provided an enum.
|
|
661
|
+
// Current behaviour: attribute wins (preserves the type the user
|
|
662
|
+
// declared explicitly). Documented as the precedence — changing to
|
|
663
|
+
// "lifecycle wins" would be a future migration.
|
|
664
|
+
const job = {
|
|
665
|
+
name: 'Job',
|
|
666
|
+
attributes: [
|
|
667
|
+
{ name: 'id', type: 'String', required: true },
|
|
668
|
+
{ name: 'status', type: 'String' },
|
|
669
|
+
],
|
|
670
|
+
lifecycles: [
|
|
671
|
+
{ name: 'status', states: ['draft', 'open'] },
|
|
672
|
+
],
|
|
673
|
+
relationships: [],
|
|
674
|
+
};
|
|
675
|
+
const out = generatePrismaSchema({
|
|
676
|
+
spec: { models: [job] },
|
|
677
|
+
models: [job],
|
|
678
|
+
} as any);
|
|
679
|
+
const jobBlock = out.match(/model Job \{[\s\S]*?\n\}/)?.[0] ?? '';
|
|
680
|
+
// The status field carries the attribute's String type, NOT the
|
|
681
|
+
// lifecycle-derived JobStatus enum.
|
|
682
|
+
expect(jobBlock).toMatch(/status\s+String/);
|
|
683
|
+
expect(jobBlock).not.toMatch(/status\s+JobStatus/);
|
|
684
|
+
});
|
|
685
|
+
|
|
686
|
+
it('lifecycle is emitted as enum when no attribute conflicts (control case)', () => {
|
|
687
|
+
// Sanity: when there's NO attribute on the same name, the lifecycle's
|
|
688
|
+
// enum DOES land in the schema. Confirms the dedup is name-scoped,
|
|
689
|
+
// not blanket-disabling lifecycle emission.
|
|
690
|
+
const job = {
|
|
691
|
+
name: 'Job',
|
|
692
|
+
attributes: [
|
|
693
|
+
{ name: 'id', type: 'String', required: true },
|
|
694
|
+
{ name: 'title', type: 'String', required: true },
|
|
695
|
+
],
|
|
696
|
+
lifecycles: [
|
|
697
|
+
{ name: 'status', states: ['draft', 'open', 'closed'] },
|
|
698
|
+
],
|
|
699
|
+
relationships: [],
|
|
700
|
+
};
|
|
701
|
+
const out = generatePrismaSchema({
|
|
702
|
+
spec: { models: [job] },
|
|
703
|
+
models: [job],
|
|
704
|
+
} as any);
|
|
705
|
+
expect(out).toMatch(/status\s+JobStatus\s+@default\(draft\)/);
|
|
706
|
+
expect(out).toMatch(/enum JobStatus\s*\{/);
|
|
707
|
+
});
|
|
708
|
+
|
|
709
|
+
it('produces valid Prisma — no duplicate field declaration error possible', () => {
|
|
710
|
+
// The whole point: pre-#33 this combo produced invalid Prisma. Now
|
|
711
|
+
// it produces exactly one `status` line. Use a regex that would
|
|
712
|
+
// catch the bug shape: two `status\s+` lines on consecutive lines
|
|
713
|
+
// inside the same model block.
|
|
714
|
+
const job = {
|
|
715
|
+
name: 'Job',
|
|
716
|
+
attributes: [
|
|
717
|
+
{ name: 'id', type: 'String', required: true },
|
|
718
|
+
{ name: 'status', type: 'String' },
|
|
719
|
+
],
|
|
720
|
+
lifecycles: [
|
|
721
|
+
{ name: 'status', states: ['draft', 'open'] },
|
|
722
|
+
],
|
|
723
|
+
relationships: [],
|
|
724
|
+
};
|
|
725
|
+
const out = generatePrismaSchema({
|
|
726
|
+
spec: { models: [job] },
|
|
727
|
+
models: [job],
|
|
728
|
+
} as any);
|
|
729
|
+
expect(out).not.toMatch(/^\s+status\s+\S+.*\n\s+status\s+/m);
|
|
730
|
+
});
|
|
731
|
+
});
|
|
@@ -448,9 +448,15 @@ function generateModelSchema(
|
|
|
448
448
|
? model.relationships
|
|
449
449
|
: Object.values(model.relationships || {});
|
|
450
450
|
|
|
451
|
+
// 43B prep — when a composite PK is declared, the column-level @id
|
|
452
|
+
// directive must NOT appear on the lone `id` column (Prisma rejects
|
|
453
|
+
// having both forms). Compute once and thread into generateField.
|
|
454
|
+
const compositePkForFields = parseColumnList(model.keys ?? model.primaryKey);
|
|
455
|
+
const hasCompositePk = compositePkForFields.length > 1;
|
|
456
|
+
|
|
451
457
|
// Add attributes
|
|
452
458
|
attributes.forEach((attr: any) => {
|
|
453
|
-
schema += ` ${generateField(attr, model)}\n`;
|
|
459
|
+
schema += ` ${generateField(attr, model, { suppressColumnId: hasCompositePk })}\n`;
|
|
454
460
|
});
|
|
455
461
|
|
|
456
462
|
// Add lifecycle status fields (if model has lifecycles).
|
|
@@ -505,11 +511,87 @@ function generateModelSchema(
|
|
|
505
511
|
}
|
|
506
512
|
}
|
|
507
513
|
|
|
514
|
+
// 43B — composite primary key. Spec author writes `model.keys: [a, b]`
|
|
515
|
+
// (or `model.primaryKey: [a, b]`) → Prisma `@@id([a, b])` block at the
|
|
516
|
+
// end of the model. Mirrors postgres-native's parseColumnList shape so
|
|
517
|
+
// both adapters honour the same spec field.
|
|
518
|
+
const compositePk = parseColumnList(model.keys ?? model.primaryKey);
|
|
519
|
+
if (compositePk.length > 1) {
|
|
520
|
+
schema += ` @@id([${compositePk.join(', ')}])\n`;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
// 43D — composite unique constraints. `model.unique: [[a, b]]` → one
|
|
524
|
+
// `@@unique([a, b])` per inner array. Single-column uniqueness stays at
|
|
525
|
+
// the attribute level (`attr.unique: true`) — same convention as pg-native.
|
|
526
|
+
const compositeUniques = parseCompositeUnique(model.unique);
|
|
527
|
+
for (const cols of compositeUniques) {
|
|
528
|
+
if (cols.length > 0) {
|
|
529
|
+
schema += ` @@unique([${cols.join(', ')}])\n`;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
// 43D — partial indexes. Prisma 5+ accepts `where:` on `@@index`. Spec
|
|
534
|
+
// shape: `attr.index: { where: "...", unique?: bool }` produces
|
|
535
|
+
// `@@index([attrName], where: "...")` (or `@@unique` when unique=true).
|
|
536
|
+
for (const attr of attributes as any[]) {
|
|
537
|
+
if (!attr?.index || typeof attr.index !== 'object') continue;
|
|
538
|
+
const where = typeof attr.index.where === 'string' ? attr.index.where : null;
|
|
539
|
+
if (!where) continue; // plain (non-partial) indexes go through @unique / column-level @@index
|
|
540
|
+
const isUnique = attr.index.unique === true;
|
|
541
|
+
const directive = isUnique ? '@@unique' : '@@index';
|
|
542
|
+
// Where-clauses are SQL fragments; wrap in single quotes after escaping.
|
|
543
|
+
const escaped = where.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
544
|
+
schema += ` ${directive}([${attr.name}], where: "${escaped}")\n`;
|
|
545
|
+
}
|
|
546
|
+
|
|
508
547
|
schema += `}`;
|
|
509
548
|
|
|
510
549
|
return schema;
|
|
511
550
|
}
|
|
512
551
|
|
|
552
|
+
// ── Composite-key + composite-unique parsers (mirror pg-native) ─────────────
|
|
553
|
+
|
|
554
|
+
/** Parse `model.keys` / `model.primaryKey`. Accepts:
|
|
555
|
+
* - undefined / null → []
|
|
556
|
+
* - string → [string]
|
|
557
|
+
* - string[] → as-is
|
|
558
|
+
* - string[][] → flatten the first row (defensive)
|
|
559
|
+
* Mirrors postgres-native's parseColumnList so the same spec field
|
|
560
|
+
* works across both adapters.
|
|
561
|
+
*/
|
|
562
|
+
function parseColumnList(raw: any): string[] {
|
|
563
|
+
if (raw === undefined || raw === null) return [];
|
|
564
|
+
if (typeof raw === 'string') return [raw];
|
|
565
|
+
if (!Array.isArray(raw)) return [];
|
|
566
|
+
if (raw.length === 0) return [];
|
|
567
|
+
if (typeof raw[0] === 'string') {
|
|
568
|
+
return raw.filter((x: any): x is string => typeof x === 'string');
|
|
569
|
+
}
|
|
570
|
+
if (Array.isArray(raw[0])) {
|
|
571
|
+
return (raw[0] as any[]).filter((x: any): x is string => typeof x === 'string');
|
|
572
|
+
}
|
|
573
|
+
return [];
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/** Parse `model.unique`. Accepts:
|
|
577
|
+
* - undefined / null → []
|
|
578
|
+
* - string[] → [[...]] (single composite spanning the listed columns)
|
|
579
|
+
* - string[][] → as-is (multiple composites)
|
|
580
|
+
*/
|
|
581
|
+
function parseCompositeUnique(raw: any): string[][] {
|
|
582
|
+
if (raw === undefined || raw === null) return [];
|
|
583
|
+
if (!Array.isArray(raw) || raw.length === 0) return [];
|
|
584
|
+
if (typeof raw[0] === 'string') {
|
|
585
|
+
return [raw.filter((x: any): x is string => typeof x === 'string')];
|
|
586
|
+
}
|
|
587
|
+
if (Array.isArray(raw[0])) {
|
|
588
|
+
return (raw as any[][])
|
|
589
|
+
.map((row) => row.filter((x: any): x is string => typeof x === 'string'))
|
|
590
|
+
.filter((row) => row.length > 0);
|
|
591
|
+
}
|
|
592
|
+
return [];
|
|
593
|
+
}
|
|
594
|
+
|
|
513
595
|
/**
|
|
514
596
|
* Detect timestamp-shaped field names (53B).
|
|
515
597
|
*
|
|
@@ -540,8 +622,17 @@ function isTimestampFieldName(name: string): boolean {
|
|
|
540
622
|
|
|
541
623
|
/**
|
|
542
624
|
* Generate a field definition
|
|
625
|
+
*
|
|
626
|
+
* `opts.suppressColumnId` (43B): when the model declares a composite
|
|
627
|
+
* primary key (`model.keys: [a, b]`), the `id` column — if present —
|
|
628
|
+
* must NOT carry `@id` because the model-level `@@id([a, b])` block
|
|
629
|
+
* already declares the PK. Prisma rejects having both forms.
|
|
543
630
|
*/
|
|
544
|
-
function generateField(
|
|
631
|
+
function generateField(
|
|
632
|
+
attr: any,
|
|
633
|
+
model: any,
|
|
634
|
+
opts: { suppressColumnId?: boolean } = {},
|
|
635
|
+
): string {
|
|
545
636
|
const name = attr.name;
|
|
546
637
|
let prismaType = mapTypeToPrisma(attr.type, attr.dbMapping?.columnType);
|
|
547
638
|
|
|
@@ -571,7 +662,7 @@ function generateField(attr: any, model: any): string {
|
|
|
571
662
|
let hasDefault = false;
|
|
572
663
|
|
|
573
664
|
// Primary key detection
|
|
574
|
-
if (name.toLowerCase() === 'id') {
|
|
665
|
+
if (name.toLowerCase() === 'id' && !opts.suppressColumnId) {
|
|
575
666
|
modifiers += ' @id';
|
|
576
667
|
if (metadata.id === 'uuid' || metadata.id === 'auto' || prismaType === 'String') {
|
|
577
668
|
modifiers += ' @default(uuid())';
|