@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.
- package/CHANGELOG.md +51 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +14 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/compiler/analysis/analyze-project.d.ts.map +1 -1
- package/dist/compiler/analysis/analyze-project.js +21 -4
- package/dist/compiler/analysis/analyze-project.js.map +1 -1
- package/dist/compiler/analysis/type-schema-resolver.d.ts +44 -1
- package/dist/compiler/analysis/type-schema-resolver.d.ts.map +1 -1
- package/dist/compiler/analysis/type-schema-resolver.js +189 -2
- package/dist/compiler/analysis/type-schema-resolver.js.map +1 -1
- package/dist/compiler/build/build-project.d.ts.map +1 -1
- package/dist/compiler/build/build-project.js +19 -1
- package/dist/compiler/build/build-project.js.map +1 -1
- package/dist/compiler/transform/create-contract-transformer.d.ts.map +1 -1
- package/dist/compiler/transform/create-contract-transformer.js +308 -16
- package/dist/compiler/transform/create-contract-transformer.js.map +1 -1
- package/dist/compiler/transform/schema-expression.d.ts.map +1 -1
- package/dist/compiler/transform/schema-expression.js +5 -0
- package/dist/compiler/transform/schema-expression.js.map +1 -1
- package/dist/runtime/assert-value.js +39 -0
- package/dist/runtime/assert-value.js.map +1 -1
- package/dist/runtime/guards/guards.d.ts +14 -0
- package/dist/runtime/guards/guards.d.ts.map +1 -1
- package/dist/runtime/guards/guards.js +52 -5
- package/dist/runtime/guards/guards.js.map +1 -1
- package/dist/runtime/guards/index.d.ts +1 -1
- package/dist/runtime/guards/index.d.ts.map +1 -1
- package/dist/runtime/guards/index.js +2 -1
- package/dist/runtime/guards/index.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/schema.interface.d.ts +11 -0
- package/dist/runtime/schema.interface.d.ts.map +1 -1
- package/dist/runtime/schema.type.d.ts +2 -2
- package/dist/runtime/schema.type.d.ts.map +1 -1
- 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;
|
|
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
|
-
|
|
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;
|
|
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
|
|
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(
|
|
254
|
+
if (!typescript.isIdentifier(target)) {
|
|
161
255
|
return factory.updateBinaryExpression(node, left, node.operatorToken, right);
|
|
162
256
|
}
|
|
163
|
-
const symbol = checker.getSymbolAtLocation(
|
|
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.
|
|
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.
|
|
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
|
-
|
|
557
|
-
|
|
558
|
-
|
|
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
|