@ts-typed/compiler 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cli/cli.d.ts.map +1 -1
  3. package/dist/cli/cli.js +14 -0
  4. package/dist/cli/cli.js.map +1 -1
  5. package/dist/compiler/analysis/analyze-project.d.ts.map +1 -1
  6. package/dist/compiler/analysis/analyze-project.js +21 -4
  7. package/dist/compiler/analysis/analyze-project.js.map +1 -1
  8. package/dist/compiler/analysis/type-schema-resolver.d.ts +44 -1
  9. package/dist/compiler/analysis/type-schema-resolver.d.ts.map +1 -1
  10. package/dist/compiler/analysis/type-schema-resolver.js +189 -2
  11. package/dist/compiler/analysis/type-schema-resolver.js.map +1 -1
  12. package/dist/compiler/build/build-project.d.ts.map +1 -1
  13. package/dist/compiler/build/build-project.js +19 -1
  14. package/dist/compiler/build/build-project.js.map +1 -1
  15. package/dist/compiler/transform/create-contract-transformer.d.ts.map +1 -1
  16. package/dist/compiler/transform/create-contract-transformer.js +308 -16
  17. package/dist/compiler/transform/create-contract-transformer.js.map +1 -1
  18. package/dist/compiler/transform/schema-expression.d.ts.map +1 -1
  19. package/dist/compiler/transform/schema-expression.js +5 -0
  20. package/dist/compiler/transform/schema-expression.js.map +1 -1
  21. package/dist/runtime/assert-value.js +39 -0
  22. package/dist/runtime/assert-value.js.map +1 -1
  23. package/dist/runtime/guards/guards.d.ts +14 -0
  24. package/dist/runtime/guards/guards.d.ts.map +1 -1
  25. package/dist/runtime/guards/guards.js +52 -5
  26. package/dist/runtime/guards/guards.js.map +1 -1
  27. package/dist/runtime/guards/index.d.ts +1 -1
  28. package/dist/runtime/guards/index.d.ts.map +1 -1
  29. package/dist/runtime/guards/index.js +2 -1
  30. package/dist/runtime/guards/index.js.map +1 -1
  31. package/dist/runtime/index.d.ts +1 -1
  32. package/dist/runtime/index.d.ts.map +1 -1
  33. package/dist/runtime/index.js +2 -1
  34. package/dist/runtime/index.js.map +1 -1
  35. package/dist/runtime/schema.interface.d.ts +11 -0
  36. package/dist/runtime/schema.interface.d.ts.map +1 -1
  37. package/dist/runtime/schema.type.d.ts +2 -2
  38. package/dist/runtime/schema.type.d.ts.map +1 -1
  39. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"type-schema-resolver.js","sourceRoot":"","sources":["../../../src/compiler/analysis/type-schema-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-schema-resolver.js","sourceRoot":"","sources":["../../../src/compiler/analysis/type-schema-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-project.d.ts","sourceRoot":"","sources":["../../../src/compiler/build/build-project.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQ9E,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAuL9E"}
1
+ {"version":3,"file":"build-project.d.ts","sourceRoot":"","sources":["../../../src/compiler/build/build-project.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAe9E,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAkM9E"}
@@ -12,6 +12,11 @@ const report_1 = require("../report");
12
12
  const transform_1 = require("../transform");
13
13
  const build_metrics_1 = require("./build-metrics");
14
14
  const RUNTIME_PACKAGE = '@ts-typed/compiler';
15
+ const PATH_ALIASES_ERROR = 'This project configures "paths" in tsconfig.json (e.g. module aliases), which TypeScript never rewrites in its ' +
16
+ 'own emitted JavaScript: any import/require written through an alias would fail at runtime with "Cannot find ' +
17
+ 'module", in both the unbundled and the ncc-bundled output (@vercel/ncc does not read tsconfig "paths" either). ' +
18
+ 'Resolve the aliases before they reach ts-typed: use a runtime resolver such as tsconfig-paths, or remove the ' +
19
+ '"paths" aliases (e.g. by rewriting imports to relative paths) and build again.';
15
20
  async function buildProject(config) {
16
21
  const metricsEnabled = (0, build_metrics_1.isBuildMetricsEnabled)();
17
22
  const totalStart = (0, build_metrics_1.now)();
@@ -32,6 +37,13 @@ async function buildProject(config) {
32
37
  ...analysis.tsDiagnostics.map((diagnostic) => formatTsDiagnostic(analysis.typescript, diagnostic)),
33
38
  ]);
34
39
  }
40
+ // TypeScript never rewrites path aliases in the JavaScript it emits, so a
41
+ // project that uses "paths" would report success while failing at runtime
42
+ // with "Cannot find module" — in both the unbundled output AND the
43
+ // ncc-bundled one, since @vercel/ncc does not read tsconfig "paths" either.
44
+ if (hasPathAliases(analysis.program.getCompilerOptions())) {
45
+ return failure(config.outDir, [PATH_ALIASES_ERROR]);
46
+ }
35
47
  const entrySourceFile = analysis.program.getSourceFile((0, node_path_1.resolve)(config.entry));
36
48
  if (entrySourceFile === undefined) {
37
49
  return failure(config.outDir, [`Entry file "${config.entry}" is not part of the TypeScript program.`]);
@@ -89,7 +101,10 @@ async function buildProject(config) {
89
101
  if (hadEmitError || entryRecord === undefined) {
90
102
  return failure(config.outDir, ['Emit was skipped by the TypeScript compiler.']);
91
103
  }
92
- const coverage = (0, report_1.createCoverageReport)(analysis.coverage, transformDiagnostics);
104
+ // Analysis-time diagnostics cover contracts that have no schema to
105
+ // transform (e.g. decorated or private members), so they must be merged
106
+ // with the transform-time ones or those warnings are silently dropped.
107
+ const coverage = (0, report_1.createCoverageReport)(analysis.coverage, [...analysis.diagnostics, ...transformDiagnostics]);
93
108
  const mustFailOnUnsupported = config.compiler.onUnsupported === 'error' &&
94
109
  coverage.items.some((item) => item.status === 'unsupported');
95
110
  if (mustFailOnUnsupported) {
@@ -170,6 +185,9 @@ function resolveIntegrationConfig(config) {
170
185
  tsconfig: project.configPath ?? config.tsconfig,
171
186
  };
172
187
  }
188
+ function hasPathAliases(compilerOptions) {
189
+ return Object.keys(compilerOptions.paths ?? {}).length > 0;
190
+ }
173
191
  function failure(outDir, errors, coverage) {
174
192
  return {
175
193
  success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"build-project.js","sourceRoot":"","sources":["../../../src/compiler/build/build-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-project.js","sourceRoot":"","sources":["../../../src/compiler/build/build-project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-contract-transformer.d.ts","sourceRoot":"","sources":["../../../src/compiler/transform/create-contract-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAuC3F,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAyFtC"}
1
+ {"version":3,"file":"create-contract-transformer.d.ts","sourceRoot":"","sources":["../../../src/compiler/transform/create-contract-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AA0C3F,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAmGtC"}
@@ -56,6 +56,11 @@ function createContractTransformer(options) {
56
56
  if (typescript.isVariableDeclaration(node)) {
57
57
  return visitVariableDeclaration(node, state, factory, typescript, visitor, context);
58
58
  }
59
+ if ((typescript.isPrefixUnaryExpression(node) || typescript.isPostfixUnaryExpression(node)) &&
60
+ (node.operator === typescript.SyntaxKind.PlusPlusToken ||
61
+ node.operator === typescript.SyntaxKind.MinusMinusToken)) {
62
+ return visitUpdateExpression(node, factory, typescript, visitor);
63
+ }
59
64
  if (typescript.isBinaryExpression(node)) {
60
65
  return visitBinaryExpression(node, state, factory, typescript, checker, variableContracts, visitor, context);
61
66
  }
@@ -68,6 +73,9 @@ function createContractTransformer(options) {
68
73
  if (typescript.isReturnStatement(node)) {
69
74
  return visitReturnStatement(node, state, factory, typescript, visitor, context);
70
75
  }
76
+ if (typescript.isYieldExpression(node)) {
77
+ return visitYieldExpression(node, state, factory, typescript, visitor, context);
78
+ }
71
79
  if (isFunctionLikeWithBody(typescript, node)) {
72
80
  return visitFunctionLike(node, state, factory, typescript, checker, visitor, context);
73
81
  }
@@ -75,7 +83,7 @@ function createContractTransformer(options) {
75
83
  };
76
84
  const visited = typescript.visitEachChild(sourceFile, visitor, context);
77
85
  reportUnhandledContracts(options, state);
78
- return addRuntimePrelude(visited, state, factory, typescript, options);
86
+ return addRuntimePrelude(visited, state, factory, typescript, options, context);
79
87
  };
80
88
  };
81
89
  }
@@ -154,18 +162,119 @@ function visitVariableDeclaration(node, state, factory, typescript, visitor, con
154
162
  state.handledContracts.add(descriptor);
155
163
  return factory.updateVariableDeclaration(node, node.name, node.exclamationToken, node.type, createProtectCall(factory, state, descriptor.resolution.schema, initializer, descriptor, 'initialize'));
156
164
  }
165
+ /**
166
+ * Returns the expression that actually receives an assignment or update
167
+ * operator, by peeling off any parentheses and type-only wrappers (`as`,
168
+ * `<T>`, `!`, `satisfies`) that sit directly around it. Stops as soon as the
169
+ * result is not one of those wrappers, so member and element accesses keep
170
+ * their own object expressions visited normally.
171
+ */
172
+ function unwrapAssignmentTarget(typescript, expression) {
173
+ let current = expression;
174
+ while (typescript.isParenthesizedExpression(current) ||
175
+ typescript.isAsExpression(current) ||
176
+ typescript.isTypeAssertionExpression(current) ||
177
+ typescript.isNonNullExpression(current) ||
178
+ typescript.isSatisfiesExpression(current)) {
179
+ current = current.expression;
180
+ }
181
+ return current;
182
+ }
183
+ function isAssignmentOperator(typescript, kind) {
184
+ switch (kind) {
185
+ case typescript.SyntaxKind.EqualsToken:
186
+ case typescript.SyntaxKind.PlusEqualsToken:
187
+ case typescript.SyntaxKind.MinusEqualsToken:
188
+ case typescript.SyntaxKind.AsteriskEqualsToken:
189
+ case typescript.SyntaxKind.AsteriskAsteriskEqualsToken:
190
+ case typescript.SyntaxKind.SlashEqualsToken:
191
+ case typescript.SyntaxKind.PercentEqualsToken:
192
+ case typescript.SyntaxKind.LessThanLessThanEqualsToken:
193
+ case typescript.SyntaxKind.GreaterThanGreaterThanEqualsToken:
194
+ case typescript.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken:
195
+ case typescript.SyntaxKind.AmpersandEqualsToken:
196
+ case typescript.SyntaxKind.BarEqualsToken:
197
+ case typescript.SyntaxKind.CaretEqualsToken:
198
+ case typescript.SyntaxKind.AmpersandAmpersandEqualsToken:
199
+ case typescript.SyntaxKind.BarBarEqualsToken:
200
+ case typescript.SyntaxKind.QuestionQuestionEqualsToken:
201
+ return true;
202
+ default:
203
+ return false;
204
+ }
205
+ }
206
+ /**
207
+ * Maps an arithmetic or bitwise compound assignment operator (`+=`, `<<=`, …)
208
+ * to its binary operator (`+`, `<<`, …). Returns `undefined` for the logical
209
+ * assignment operators (`&&=`, `||=`, `??=`): those short-circuit, so
210
+ * rewriting `x &&= y` as `x = x && y` would change whether `y` is evaluated.
211
+ */
212
+ function getCompoundAssignmentBinaryOperator(typescript, kind) {
213
+ switch (kind) {
214
+ case typescript.SyntaxKind.PlusEqualsToken:
215
+ return typescript.SyntaxKind.PlusToken;
216
+ case typescript.SyntaxKind.MinusEqualsToken:
217
+ return typescript.SyntaxKind.MinusToken;
218
+ case typescript.SyntaxKind.AsteriskEqualsToken:
219
+ return typescript.SyntaxKind.AsteriskToken;
220
+ case typescript.SyntaxKind.AsteriskAsteriskEqualsToken:
221
+ return typescript.SyntaxKind.AsteriskAsteriskToken;
222
+ case typescript.SyntaxKind.SlashEqualsToken:
223
+ return typescript.SyntaxKind.SlashToken;
224
+ case typescript.SyntaxKind.PercentEqualsToken:
225
+ return typescript.SyntaxKind.PercentToken;
226
+ case typescript.SyntaxKind.LessThanLessThanEqualsToken:
227
+ return typescript.SyntaxKind.LessThanLessThanToken;
228
+ case typescript.SyntaxKind.GreaterThanGreaterThanEqualsToken:
229
+ return typescript.SyntaxKind.GreaterThanGreaterThanToken;
230
+ case typescript.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken:
231
+ return typescript.SyntaxKind.GreaterThanGreaterThanGreaterThanToken;
232
+ case typescript.SyntaxKind.AmpersandEqualsToken:
233
+ return typescript.SyntaxKind.AmpersandToken;
234
+ case typescript.SyntaxKind.BarEqualsToken:
235
+ return typescript.SyntaxKind.BarToken;
236
+ case typescript.SyntaxKind.CaretEqualsToken:
237
+ return typescript.SyntaxKind.CaretToken;
238
+ default:
239
+ return undefined;
240
+ }
241
+ }
242
+ function visitUpdateExpression(node, factory, typescript, visitor) {
243
+ const target = unwrapAssignmentTarget(typescript, node.operand);
244
+ const operand = typescript.visitNode(target, visitor, isExpression) ?? target;
245
+ return typescript.isPrefixUnaryExpression(node)
246
+ ? factory.updatePrefixUnaryExpression(node, operand)
247
+ : factory.updatePostfixUnaryExpression(node, operand);
248
+ }
157
249
  function visitBinaryExpression(node, state, factory, typescript, checker, variableContracts, visitor, context) {
158
- const left = typescript.visitNode(node.left, visitor, isExpression) ?? node.left;
250
+ const isAssignment = isAssignmentOperator(typescript, node.operatorToken.kind);
251
+ const target = isAssignment ? unwrapAssignmentTarget(typescript, node.left) : node.left;
252
+ const left = typescript.visitNode(target, visitor, isExpression) ?? target;
159
253
  const right = typescript.visitNode(node.right, visitor, isExpression) ?? node.right;
160
- if (!typescript.isIdentifier(node.left)) {
254
+ if (!typescript.isIdentifier(target)) {
161
255
  return factory.updateBinaryExpression(node, left, node.operatorToken, right);
162
256
  }
163
- const symbol = checker.getSymbolAtLocation(node.left);
257
+ const symbol = checker.getSymbolAtLocation(target);
164
258
  const descriptor = symbol === undefined ? undefined : variableContracts.get(symbol);
165
259
  if (descriptor === undefined || descriptor.resolution.schema === undefined) {
166
260
  return factory.updateBinaryExpression(node, left, node.operatorToken, right);
167
261
  }
262
+ if (!isAssignment) {
263
+ // Comparisons (`>=`, `===`, `&&`, …) merely read the identifier; there is
264
+ // nothing being written here, so this is not a compound-assignment case
265
+ // and must not be reported as one.
266
+ return factory.updateBinaryExpression(node, left, node.operatorToken, right);
267
+ }
168
268
  if (node.operatorToken.kind !== typescript.SyntaxKind.EqualsToken) {
269
+ // `n += x` on a plain identifier is exactly `n = n + x`: the identifier has
270
+ // no side effects on read, so it is evaluated once either way. Rewrite it
271
+ // so the result is checked against the variable's schema.
272
+ const binaryOperator = getCompoundAssignmentBinaryOperator(typescript, node.operatorToken.kind);
273
+ if (binaryOperator !== undefined) {
274
+ state.handledContracts.add(descriptor);
275
+ return factory.updateBinaryExpression(node, left, factory.createToken(typescript.SyntaxKind.EqualsToken), createProtectCall(factory, state, descriptor.resolution.schema, factory.createBinaryExpression(left, binaryOperator, right), descriptor, 'set'));
276
+ }
277
+ // Logical assignments (`&&=`, `||=`, `??=`) short-circuit and stay unsupported.
169
278
  reportUnsupported(optionsForState(state), state, descriptor, node, 'Compound assignments and increments cannot be guarded without changing coercion or evaluation order.');
170
279
  return factory.updateBinaryExpression(node, left, node.operatorToken, right);
171
280
  }
@@ -194,15 +303,34 @@ function visitReturnStatement(node, state, factory, typescript, visitor, context
194
303
  state.handledContracts.add(functionState.descriptor);
195
304
  return factory.updateReturnStatement(node, createProtectCall(factory, state, functionState.schema, value, functionState.descriptor, functionState.isAsync ? 'resolve' : 'return', functionState.name));
196
305
  }
306
+ function visitYieldExpression(node, state, factory, typescript, visitor, context) {
307
+ const expression = node.expression === undefined
308
+ ? undefined
309
+ : typescript.visitNode(node.expression, visitor, isExpression);
310
+ const functionState = state.functionStack.at(-1);
311
+ // `yield* delegate` is out of scope (it delegates to a whole iterable), and a bare `yield;`
312
+ // carries no value to check.
313
+ if (node.asteriskToken !== undefined ||
314
+ expression === undefined ||
315
+ functionState?.yieldSchema === undefined) {
316
+ return factory.updateYieldExpression(node, node.asteriskToken, expression);
317
+ }
318
+ const value = functionState.isAsync
319
+ ? factory.createAwaitExpression(expression)
320
+ : expression;
321
+ return factory.updateYieldExpression(node, undefined, createProtectCall(factory, state, functionState.yieldSchema, value, { kind: 'yield', name: functionState.name }, 'yield', functionState.name));
322
+ }
197
323
  function visitFunctionLike(node, state, factory, typescript, checker, visitor, context) {
198
324
  const descriptor = getDescriptorForNode(node, state, typescript, 'return');
199
325
  const isAsync = hasModifier(typescript, node, typescript.SyntaxKind.AsyncKeyword);
200
326
  const functionName = getFunctionName(typescript, node);
201
327
  const returnSchema = getReturnSchema(node, descriptor, isAsync, checker, state, typescript);
328
+ const yieldSchema = getYieldSchema(node, descriptor, state, checker, typescript);
202
329
  const functionState = {
203
330
  declaration: node,
204
331
  descriptor,
205
332
  schema: returnSchema,
333
+ yieldSchema,
206
334
  isAsync,
207
335
  name: functionName,
208
336
  };
@@ -284,12 +412,12 @@ function visitClassMembers(node, state, factory, typescript, visitor, context) {
284
412
  continue;
285
413
  }
286
414
  if (typescript.isConstructorDeclaration(member) && member.body !== undefined) {
287
- const transformed = typescript.visitEachChild(member, visitor, context);
415
+ const transformed = (typescript.visitNode(member, visitor, isClassElement) ?? member);
288
416
  implementationConstructor = transformed;
289
417
  visitedMembers.push(transformed);
290
418
  continue;
291
419
  }
292
- visitedMembers.push(typescript.visitEachChild(member, visitor, context));
420
+ visitedMembers.push((typescript.visitNode(member, visitor, isClassElement) ?? member));
293
421
  }
294
422
  if (guards.length === 0 && privateInitStatements.length === 0 && privateLockStatements.length === 0) {
295
423
  return visitedMembers;
@@ -299,9 +427,11 @@ function visitClassMembers(node, state, factory, typescript, visitor, context) {
299
427
  ...guards.map((guard) => createInstallFieldGuard(factory, state, guard)),
300
428
  ...privateInitStatements,
301
429
  ];
430
+ const requiredFieldLockStatements = createRequiredFieldFinalizeStatements(node, guards, state, factory, typescript);
302
431
  const lockStatements = [
303
432
  ...guards.filter((guard) => guard.readonlyField).map((guard) => createLockReadonlyFieldCall(factory, state, guard)),
304
433
  ...privateLockStatements,
434
+ ...requiredFieldLockStatements,
305
435
  ];
306
436
  if (implementationConstructor === undefined) {
307
437
  const constructor = createConstructor(factory, installStatements, lockStatements, isDerived, typescript);
@@ -312,6 +442,27 @@ function visitClassMembers(node, state, factory, typescript, visitor, context) {
312
442
  visitedMembers[constructorIndex] = updatedConstructor;
313
443
  return visitedMembers;
314
444
  }
445
+ /**
446
+ * Builds the (possibly empty) one-statement block that finalizes required
447
+ * fields against `delete`/`Object.defineProperty` for this class, guarded
448
+ * by `new.target === <className>` so it only fires once construction has
449
+ * reached the most-derived class — see {@link createNewTargetIsClassCheck}.
450
+ * Anonymous class expressions have no name to compare `new.target` against
451
+ * and are a rare pattern in practice (NestJS/TypeORM classes are always
452
+ * named), so this is skipped for them: their required fields simply keep
453
+ * the same `configurable: true` behavior as before this feature existed,
454
+ * rather than risk comparing `new.target` against nothing meaningful.
455
+ */
456
+ function createRequiredFieldFinalizeStatements(node, guards, state, factory, typescript) {
457
+ const requiredGuards = guards.filter((guard) => guard.requiredField);
458
+ if (requiredGuards.length === 0 || node.name === undefined) {
459
+ return [];
460
+ }
461
+ const lockCalls = requiredGuards.map((guard) => createLockRequiredFieldCall(factory, state, guard));
462
+ return [
463
+ factory.createIfStatement(createNewTargetIsClassCheck(factory, typescript, node.name), factory.createBlock(lockCalls, true)),
464
+ ];
465
+ }
315
466
  /**
316
467
  * Converts a TypeScript `private` field into a real ECMAScript `#private`
317
468
  * field. Unlike a guarded public field (installed reflectively at runtime
@@ -400,6 +551,9 @@ function visitPropertyDeclaration(node, descriptor, guards, state, factory, type
400
551
  initialized: initializer !== undefined,
401
552
  schema: descriptor.resolution.schema,
402
553
  readonlyField: enforceReadonly && hasModifier(typescript, node, typescript.SyntaxKind.ReadonlyKeyword),
554
+ // Only a bare field (no `?` and no `!`) is required: `!` is a definite
555
+ // assignment assertion and the field is tolerated as absent until assigned.
556
+ requiredField: node.questionToken === undefined && node.exclamationToken === undefined,
403
557
  });
404
558
  state.handledContracts.add(descriptor);
405
559
  if (initializer === undefined && !hasDecorators(typescript, node)) {
@@ -481,6 +635,21 @@ function createInstallFieldGuard(factory, state, guard) {
481
635
  function createLockReadonlyFieldCall(factory, state, guard) {
482
636
  return factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(state.runtimeIdentifier, 'lockReadonlyField'), undefined, [factory.createThis(), guard.key]));
483
637
  }
638
+ function createLockRequiredFieldCall(factory, state, guard) {
639
+ return factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(state.runtimeIdentifier, 'lockRequiredField'), undefined, [factory.createThis(), guard.key]));
640
+ }
641
+ /**
642
+ * `new.target === <className>` — true only when THIS class is the one
643
+ * actually being constructed (`new ClassName()`), never when a subclass's
644
+ * `super()` call is running this class's own constructor code. Used to
645
+ * defer a one-time, irreversible finalization step (like
646
+ * {@link createLockRequiredFieldCall}'s non-configurable lock) until
647
+ * construction has reached the most-derived class, so a subclass that
648
+ * redeclares the same field still gets to (re)initialize it first.
649
+ */
650
+ function createNewTargetIsClassCheck(factory, typescript, className) {
651
+ return factory.createBinaryExpression(factory.createMetaProperty(typescript.SyntaxKind.NewKeyword, factory.createIdentifier('target')), factory.createToken(typescript.SyntaxKind.EqualsEqualsEqualsToken), className);
652
+ }
484
653
  function createProtectCall(factory, state, schema, value, descriptor, operation, functionName) {
485
654
  return factory.createCallExpression(factory.createPropertyAccessExpression(state.runtimeIdentifier, 'protectValue'), undefined, [
486
655
  (0, schema_expression_1.createSchemaExpression)(optionsForState(state).analysis.typescript, factory, schema),
@@ -552,16 +721,10 @@ function reportClassValidationLimit(options, state, className, message) {
552
721
  };
553
722
  options.onDiagnostic?.(diagnostic);
554
723
  }
555
- function addRuntimePrelude(sourceFile, state, factory, typescript, options) {
556
- // A plain `require()` call is used instead of an `import` declaration
557
- // because TypeScript only down-levels import/export syntax to CommonJS
558
- // for source files it already recognized as modules at parse time. A
559
- // file with no user-authored import/export (a "script") never gets that
560
- // down-level pass, so an injected `ImportDeclaration` would be emitted
561
- // verbatim as invalid ESM syntax inside a CommonJS "use strict" file.
562
- const runtimeImport = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
563
- factory.createVariableDeclaration(state.runtimeIdentifier, undefined, undefined, factory.createCallExpression(factory.createIdentifier('require'), undefined, [factory.createStringLiteral(state.runtimeModule)])),
564
- ], typescript.NodeFlags.Const));
724
+ function addRuntimePrelude(sourceFile, state, factory, typescript, options, context) {
725
+ const runtimeImport = isEsModuleOutput(sourceFile, context.getCompilerOptions(), typescript)
726
+ ? createRuntimeImportDeclaration(state, factory)
727
+ : createRuntimeRequireStatement(state, factory, typescript);
565
728
  const registryDeclaration = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
566
729
  factory.createVariableDeclaration(state.registryIdentifier, undefined, undefined, factory.createNewExpression(factory.createPropertyAccessExpression(state.runtimeIdentifier, 'SchemaRegistry'), undefined, [])),
567
730
  ], typescript.NodeFlags.Const));
@@ -597,6 +760,69 @@ function addRuntimePrelude(sourceFile, state, factory, typescript, options) {
597
760
  }
598
761
  return factory.updateSourceFile(sourceFile, statements);
599
762
  }
763
+ /**
764
+ * Whether TypeScript will emit this file with native ES module syntax, in
765
+ * which case the runtime must be brought in with an `import` declaration.
766
+ *
767
+ * - Non-node module kinds (`ESNext`, `ES2015`, `ES2020`, `ES2022`) emit ESM
768
+ * for every file; CommonJS, UMD, AMD and System emit `require`-style code.
769
+ * - `Node16`/`NodeNext` decide per file from `impliedNodeFormat` (set from
770
+ * the nearest `package.json` `type` field or the `.mts`/`.cts` extension).
771
+ * This is the same granularity tsc uses to emit the file, so it is exact.
772
+ * - `Preserve` leaves `import`/`export` syntax untouched, so the file is
773
+ * ESM unless TypeScript recorded it as a CommonJS-format file.
774
+ */
775
+ function isEsModuleOutput(sourceFile, compilerOptions, typescript) {
776
+ const moduleKind = resolveEmitModuleKind(compilerOptions, typescript);
777
+ const { ModuleKind } = typescript;
778
+ if (moduleKind === ModuleKind.Node16 || moduleKind === ModuleKind.NodeNext) {
779
+ return sourceFile.impliedNodeFormat === ModuleKind.ESNext;
780
+ }
781
+ if (moduleKind === ModuleKind.Preserve) {
782
+ return sourceFile.impliedNodeFormat !== ModuleKind.CommonJS;
783
+ }
784
+ return (moduleKind === ModuleKind.ES2015 ||
785
+ moduleKind === ModuleKind.ES2020 ||
786
+ moduleKind === ModuleKind.ES2022 ||
787
+ moduleKind === ModuleKind.ESNext);
788
+ }
789
+ /**
790
+ * Resolves the module kind TypeScript uses for emit, including its default
791
+ * when `module` is omitted (ES2015 for targets >= ES2015, CommonJS otherwise).
792
+ * `getEmitModuleKind` is what tsc itself calls and is exported at runtime,
793
+ * but it is absent from the public typings, hence the narrow cast and the
794
+ * documented fallback that mirrors its logic.
795
+ */
796
+ function resolveEmitModuleKind(compilerOptions, typescript) {
797
+ const internal = typescript
798
+ .getEmitModuleKind;
799
+ if (typeof internal === 'function') {
800
+ return internal(compilerOptions);
801
+ }
802
+ if (compilerOptions.module !== undefined) {
803
+ return compilerOptions.module;
804
+ }
805
+ const target = compilerOptions.target ?? typescript.ScriptTarget.ES5;
806
+ return target >= typescript.ScriptTarget.ES2015
807
+ ? typescript.ModuleKind.ES2015
808
+ : typescript.ModuleKind.CommonJS;
809
+ }
810
+ function createRuntimeRequireStatement(state, factory, typescript) {
811
+ // A plain `require()` call is used for CommonJS output instead of an
812
+ // `import` declaration because TypeScript only down-levels import/export
813
+ // syntax to CommonJS for source files it already recognized as modules at
814
+ // parse time. A file with no user-authored import/export (a "script") never
815
+ // gets that down-level pass, so an injected `ImportDeclaration` would be
816
+ // emitted verbatim as invalid ESM syntax inside a CommonJS "use strict" file.
817
+ return factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
818
+ factory.createVariableDeclaration(state.runtimeIdentifier, undefined, undefined, factory.createCallExpression(factory.createIdentifier('require'), undefined, [factory.createStringLiteral(state.runtimeModule)])),
819
+ ], typescript.NodeFlags.Const));
820
+ }
821
+ function createRuntimeImportDeclaration(state, factory) {
822
+ // Native ESM output has no `require` global, so the runtime is bound with a
823
+ // real namespace import. Its named exports match what `require` returned.
824
+ return factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamespaceImport(state.runtimeIdentifier)), factory.createStringLiteral(state.runtimeModule), undefined);
825
+ }
600
826
  function reportUnhandledContracts(options, state) {
601
827
  for (const descriptor of options.analysis.contracts.values()) {
602
828
  if (descriptor.sourceFile !== state.sourceFile ||
@@ -666,6 +892,56 @@ function collectVariableContracts(typescript, options) {
666
892
  }
667
893
  return contracts;
668
894
  }
895
+ function isGeneratorFunction(node, typescript) {
896
+ if (typescript.isFunctionDeclaration(node) ||
897
+ typescript.isFunctionExpression(node) ||
898
+ typescript.isMethodDeclaration(node)) {
899
+ return node.asteriskToken !== undefined;
900
+ }
901
+ return false;
902
+ }
903
+ /**
904
+ * Returns the type argument at `index` of a generic reference type such as
905
+ * `Generator<T, TReturn, TNext>`, `AsyncGenerator<...>`, `Iterable<T>` or
906
+ * `IterableIterator<T>`. Uses only public API: the `Reference` object flag plus
907
+ * `checker.getTypeArguments`. Returns undefined for any other type.
908
+ */
909
+ function getTypeArgumentAt(checker, typescript, type, index) {
910
+ if ((type.flags & typescript.TypeFlags.Object) === 0) {
911
+ return undefined;
912
+ }
913
+ const objectType = type;
914
+ if ((objectType.objectFlags & typescript.ObjectFlags.Reference) === 0) {
915
+ return undefined;
916
+ }
917
+ return checker.getTypeArguments(objectType)[index];
918
+ }
919
+ function isUncheckableType(type, typescript) {
920
+ return (type.flags & (typescript.TypeFlags.Any |
921
+ typescript.TypeFlags.Unknown |
922
+ typescript.TypeFlags.Void)) !== 0;
923
+ }
924
+ function getYieldSchema(node, descriptor, state, checker, typescript) {
925
+ if (!isGeneratorFunction(node, typescript)) {
926
+ return undefined;
927
+ }
928
+ const signature = checker.getSignatureFromDeclaration(node);
929
+ if (signature === undefined) {
930
+ return undefined;
931
+ }
932
+ const yieldedType = getTypeArgumentAt(checker, typescript, checker.getReturnTypeOfSignature(signature), 0);
933
+ if (yieldedType === undefined || isUncheckableType(yieldedType, typescript)) {
934
+ return undefined;
935
+ }
936
+ const resolution = optionsForState(state).analysis.resolver.resolve(yieldedType, node);
937
+ if (resolution.schema === undefined) {
938
+ if (descriptor !== undefined) {
939
+ reportUnsupported(optionsForState(state), state, descriptor, node, 'The yielded type has no materializable runtime contract.');
940
+ }
941
+ return undefined;
942
+ }
943
+ return resolution.schema;
944
+ }
669
945
  function getReturnSchema(node, descriptor, isAsync, checker, state, typescript) {
670
946
  const signature = checker.getSignatureFromDeclaration(node);
671
947
  if (signature !== undefined) {
@@ -676,6 +952,19 @@ function getReturnSchema(node, descriptor, isAsync, checker, state, typescript)
676
952
  }
677
953
  return undefined;
678
954
  }
955
+ if (isGeneratorFunction(node, typescript)) {
956
+ // A generator's `return` value is governed by TReturn (the second type argument),
957
+ // not by the whole Generator<...> type that the analysis descriptor carries.
958
+ const returnedType = getTypeArgumentAt(checker, typescript, returnType, 1);
959
+ if (returnedType === undefined || isUncheckableType(returnedType, typescript)) {
960
+ return undefined;
961
+ }
962
+ const resolution = optionsForState(state).analysis.resolver.resolve(returnedType, node);
963
+ if (resolution.schema === undefined && descriptor !== undefined) {
964
+ reportUnsupported(optionsForState(state), state, descriptor, node, 'The generator return type has no materializable runtime contract.');
965
+ }
966
+ return resolution.schema;
967
+ }
679
968
  }
680
969
  if (!isAsync) {
681
970
  return descriptor?.resolution.schema;
@@ -832,4 +1121,7 @@ function isExpression(node) {
832
1121
  function isConciseBody(node) {
833
1122
  return node !== undefined;
834
1123
  }
1124
+ function isClassElement(node) {
1125
+ return node !== undefined;
1126
+ }
835
1127
  //# sourceMappingURL=create-contract-transformer.js.map