@tsonic/frontend 0.0.71 → 0.0.73
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/.tsbuildinfo +1 -1
- package/dist/core-intrinsics/provenance.d.ts +11 -0
- package/dist/core-intrinsics/provenance.d.ts.map +1 -0
- package/dist/core-intrinsics/provenance.js +101 -0
- package/dist/core-intrinsics/provenance.js.map +1 -0
- package/dist/ir/binding/binding-factory.d.ts.map +1 -1
- package/dist/ir/binding/binding-factory.js +42 -6
- package/dist/ir/binding/binding-factory.js.map +1 -1
- package/dist/ir/binding-resolution.test.js +97 -0
- package/dist/ir/binding-resolution.test.js.map +1 -1
- package/dist/ir/builder/imports.d.ts.map +1 -1
- package/dist/ir/builder/imports.js +51 -8
- package/dist/ir/builder/imports.js.map +1 -1
- package/dist/ir/builder.test.js +1010 -53
- package/dist/ir/builder.test.js.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.js +35 -1
- package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
- package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/member-resolution.js +24 -0
- package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.js +38 -14
- package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
- package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +1 -1
- package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls/call-site-analysis.js +4 -30
- package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -1
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
- package/dist/ir/converters/expressions/collections.js +154 -12
- package/dist/ir/converters/expressions/collections.js.map +1 -1
- package/dist/ir/converters/expressions/dynamic-import.d.ts.map +1 -1
- package/dist/ir/converters/expressions/dynamic-import.js +41 -7
- package/dist/ir/converters/expressions/dynamic-import.js.map +1 -1
- package/dist/ir/converters/flow-narrowing.d.ts +1 -0
- package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
- package/dist/ir/converters/flow-narrowing.js +223 -0
- package/dist/ir/converters/flow-narrowing.js.map +1 -1
- package/dist/ir/converters/statements/control/blocks.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/blocks.js +46 -0
- package/dist/ir/converters/statements/control/blocks.js.map +1 -1
- package/dist/ir/program-context.d.ts.map +1 -1
- package/dist/ir/program-context.js +32 -2
- package/dist/ir/program-context.js.map +1 -1
- package/dist/ir/program-context.test.d.ts +2 -0
- package/dist/ir/program-context.test.d.ts.map +1 -0
- package/dist/ir/program-context.test.js +76 -0
- package/dist/ir/program-context.test.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.js +250 -12
- package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +19 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.js +93 -3
- package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.js +9 -3
- package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js +19 -0
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.js +20 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.test.js +43 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.test.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-entry-converter.js +43 -2
- package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -1
- package/dist/ir/type-system/internal/universe/types.d.ts +10 -1
- package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/types.js.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.d.ts +1 -0
- package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.js +49 -22
- package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
- package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-inference.js +39 -5
- package/dist/ir/type-system/type-system-inference.js.map +1 -1
- package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-utilities.js +4 -22
- package/dist/ir/type-system/type-system-utilities.js.map +1 -1
- package/dist/ir/type-system/type-system.d.ts +16 -0
- package/dist/ir/type-system/type-system.d.ts.map +1 -1
- package/dist/ir/type-system/type-system.js +3 -1
- package/dist/ir/type-system/type-system.js.map +1 -1
- package/dist/ir/types/index.d.ts +1 -1
- package/dist/ir/types/index.d.ts.map +1 -1
- package/dist/ir/types/index.js +1 -1
- package/dist/ir/types/index.js.map +1 -1
- package/dist/ir/types/type-ops.d.ts +2 -0
- package/dist/ir/types/type-ops.d.ts.map +1 -1
- package/dist/ir/types/type-ops.js +34 -12
- package/dist/ir/types/type-ops.js.map +1 -1
- package/dist/ir/types/type-ops.test.js +44 -1
- package/dist/ir/types/type-ops.test.js.map +1 -1
- package/dist/ir/types.d.ts +1 -1
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/ir/types.js +1 -1
- package/dist/ir/types.js.map +1 -1
- package/dist/program/binding-registry.d.ts +2 -0
- package/dist/program/binding-registry.d.ts.map +1 -1
- package/dist/program/binding-registry.js +54 -12
- package/dist/program/binding-registry.js.map +1 -1
- package/dist/program/binding-types.d.ts +21 -1
- package/dist/program/binding-types.d.ts.map +1 -1
- package/dist/program/binding-types.js +70 -0
- package/dist/program/binding-types.js.map +1 -1
- package/dist/program/bindings.test.js +145 -0
- package/dist/program/bindings.test.js.map +1 -1
- package/dist/program/clr-bindings-discovery.d.ts.map +1 -1
- package/dist/program/clr-bindings-discovery.js +9 -3
- package/dist/program/clr-bindings-discovery.js.map +1 -1
- package/dist/program/clr-bindings-discovery.test.js +107 -0
- package/dist/program/clr-bindings-discovery.test.js.map +1 -1
- package/dist/program/creation.d.ts.map +1 -1
- package/dist/program/creation.js +22 -3
- package/dist/program/creation.js.map +1 -1
- package/dist/program/creation.test.js +37 -0
- package/dist/program/creation.test.js.map +1 -1
- package/dist/program/package-roots.js +4 -4
- package/dist/program/package-roots.js.map +1 -1
- package/dist/program/package-roots.test.d.ts +2 -0
- package/dist/program/package-roots.test.d.ts.map +1 -0
- package/dist/program/package-roots.test.js +42 -0
- package/dist/program/package-roots.test.js.map +1 -0
- package/dist/program.d.ts +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +1 -1
- package/dist/program.js.map +1 -1
- package/dist/resolver/import-resolution.d.ts.map +1 -1
- package/dist/resolver/import-resolution.js +2 -2
- package/dist/resolver/import-resolution.js.map +1 -1
- package/dist/resolver/source-package-resolution.d.ts +1 -0
- package/dist/resolver/source-package-resolution.d.ts.map +1 -1
- package/dist/resolver/source-package-resolution.js +6 -1
- package/dist/resolver/source-package-resolution.js.map +1 -1
- package/dist/resolver/source-package-resolution.test.js +7 -1
- package/dist/resolver/source-package-resolution.test.js.map +1 -1
- package/dist/resolver.test.js +37 -0
- package/dist/resolver.test.js.map +1 -1
- package/dist/surface/profiles.d.ts.map +1 -1
- package/dist/surface/profiles.js +12 -0
- package/dist/surface/profiles.js.map +1 -1
- package/dist/surface/profiles.test.js +43 -1
- package/dist/surface/profiles.test.js.map +1 -1
- package/dist/validation/core-intrinsics.d.ts.map +1 -1
- package/dist/validation/core-intrinsics.js +1 -115
- package/dist/validation/core-intrinsics.js.map +1 -1
- package/dist/validator.test.js +14 -0
- package/dist/validator.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -27,6 +27,55 @@ const validateTypeSemantics = (value, filePath, label) => {
|
|
|
27
27
|
}
|
|
28
28
|
return undefined;
|
|
29
29
|
};
|
|
30
|
+
const validateBindingSemanticSignature = (value, filePath, label) => {
|
|
31
|
+
if (value === undefined)
|
|
32
|
+
return undefined;
|
|
33
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
34
|
+
return `${filePath}: '${label}' must be an object`;
|
|
35
|
+
}
|
|
36
|
+
const record = value;
|
|
37
|
+
if ("typeParameters" in record &&
|
|
38
|
+
record.typeParameters !== undefined &&
|
|
39
|
+
!(Array.isArray(record.typeParameters) &&
|
|
40
|
+
record.typeParameters.every((entry) => typeof entry === "string"))) {
|
|
41
|
+
return `${filePath}: '${label}.typeParameters' must be a string array when present`;
|
|
42
|
+
}
|
|
43
|
+
if (!Array.isArray(record.parameters)) {
|
|
44
|
+
return `${filePath}: '${label}.parameters' must be an array`;
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
};
|
|
48
|
+
const validateTsbindgenExport = (value, filePath, label) => {
|
|
49
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
50
|
+
return `${filePath}: '${label}' must be an object`;
|
|
51
|
+
}
|
|
52
|
+
const record = value;
|
|
53
|
+
const kind = record.kind;
|
|
54
|
+
if (kind !== "method" &&
|
|
55
|
+
kind !== "property" &&
|
|
56
|
+
kind !== "field" &&
|
|
57
|
+
kind !== "functionType") {
|
|
58
|
+
return `${filePath}: '${label}.kind' must be 'method', 'property', 'field', or 'functionType'`;
|
|
59
|
+
}
|
|
60
|
+
if (typeof record.clrName !== "string") {
|
|
61
|
+
return `${filePath}: '${label}.clrName' must be a string`;
|
|
62
|
+
}
|
|
63
|
+
if (typeof record.declaringClrType !== "string") {
|
|
64
|
+
return `${filePath}: '${label}.declaringClrType' must be a string`;
|
|
65
|
+
}
|
|
66
|
+
if (typeof record.declaringAssemblyName !== "string") {
|
|
67
|
+
return `${filePath}: '${label}.declaringAssemblyName' must be a string`;
|
|
68
|
+
}
|
|
69
|
+
const semanticSignatureError = validateBindingSemanticSignature(record.semanticSignature, filePath, `${label}.semanticSignature`);
|
|
70
|
+
if (semanticSignatureError)
|
|
71
|
+
return semanticSignatureError;
|
|
72
|
+
if ("semanticOptional" in record &&
|
|
73
|
+
record.semanticOptional !== undefined &&
|
|
74
|
+
typeof record.semanticOptional !== "boolean") {
|
|
75
|
+
return `${filePath}: '${label}.semanticOptional' must be a boolean when present`;
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
};
|
|
30
79
|
/**
|
|
31
80
|
* Type guard to check if a manifest is the full format
|
|
32
81
|
*/
|
|
@@ -62,6 +111,11 @@ export const validateBindingFile = (obj, filePath) => {
|
|
|
62
111
|
if (typeValue === null || typeof typeValue !== "object")
|
|
63
112
|
continue;
|
|
64
113
|
const typeRecord = typeValue;
|
|
114
|
+
if ("alias" in typeRecord &&
|
|
115
|
+
typeRecord.alias !== undefined &&
|
|
116
|
+
typeof typeRecord.alias !== "string") {
|
|
117
|
+
return `${filePath}: 'types[${typeIndex}].alias' must be a string when present`;
|
|
118
|
+
}
|
|
65
119
|
const methods = Array.isArray(typeRecord.methods) ? typeRecord.methods : [];
|
|
66
120
|
for (const [methodIndex, methodValue] of methods.entries()) {
|
|
67
121
|
if (methodValue === null || typeof methodValue !== "object")
|
|
@@ -71,6 +125,22 @@ export const validateBindingFile = (obj, filePath) => {
|
|
|
71
125
|
return error;
|
|
72
126
|
}
|
|
73
127
|
}
|
|
128
|
+
if ("exports" in manifest) {
|
|
129
|
+
const exportsValue = manifest.exports;
|
|
130
|
+
if (exportsValue !== undefined &&
|
|
131
|
+
(exportsValue === null ||
|
|
132
|
+
typeof exportsValue !== "object" ||
|
|
133
|
+
Array.isArray(exportsValue))) {
|
|
134
|
+
return `${filePath}: 'exports' must be an object when present`;
|
|
135
|
+
}
|
|
136
|
+
if (exportsValue && typeof exportsValue === "object") {
|
|
137
|
+
for (const [exportName, exportValue] of Object.entries(exportsValue)) {
|
|
138
|
+
const error = validateTsbindgenExport(exportValue, filePath, `exports.${exportName}`);
|
|
139
|
+
if (error)
|
|
140
|
+
return error;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
74
144
|
return undefined; // Valid tsbindgen format
|
|
75
145
|
}
|
|
76
146
|
// Check for full manifest format
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-types.js","sourceRoot":"","sources":["../../src/program/binding-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"binding-types.js","sourceRoot":"","sources":["../../src/program/binding-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -201,6 +201,130 @@ describe("Binding System", () => {
|
|
|
201
201
|
expect(lengthOverloads).to.not.equal(undefined);
|
|
202
202
|
expect(lengthOverloads?.[0]?.binding.member).to.equal("length");
|
|
203
203
|
});
|
|
204
|
+
it("should resolve tsbindgen types by CLR name", () => {
|
|
205
|
+
const registry = new BindingRegistry();
|
|
206
|
+
registry.addBindings("/test/acme/bindings.json", {
|
|
207
|
+
namespace: "Acme.Core",
|
|
208
|
+
types: [
|
|
209
|
+
{
|
|
210
|
+
clrName: "Acme.Core.Widget",
|
|
211
|
+
assemblyName: "Acme.Core",
|
|
212
|
+
methods: [],
|
|
213
|
+
properties: [
|
|
214
|
+
{
|
|
215
|
+
clrName: "Name",
|
|
216
|
+
declaringClrType: "Acme.Core.Widget",
|
|
217
|
+
declaringAssemblyName: "Acme.Core",
|
|
218
|
+
},
|
|
219
|
+
],
|
|
220
|
+
fields: [],
|
|
221
|
+
},
|
|
222
|
+
],
|
|
223
|
+
});
|
|
224
|
+
const byAlias = registry.getType("Widget");
|
|
225
|
+
const byClrName = registry.getType("Acme.Core.Widget");
|
|
226
|
+
expect(byAlias?.name).to.equal("Acme.Core.Widget");
|
|
227
|
+
expect(byClrName?.alias).to.equal("Widget");
|
|
228
|
+
});
|
|
229
|
+
it("should keep explicit tsbindgen aliases disambiguated when simple names collide", () => {
|
|
230
|
+
const registry = new BindingRegistry();
|
|
231
|
+
registry.addBindings("/test/acme/bindings.json", {
|
|
232
|
+
namespace: "Acme",
|
|
233
|
+
types: [
|
|
234
|
+
{
|
|
235
|
+
clrName: "Acme.domain.ChannelFolderWithItems",
|
|
236
|
+
alias: "Acme.domain.ChannelFolderWithItems",
|
|
237
|
+
assemblyName: "Acme",
|
|
238
|
+
methods: [],
|
|
239
|
+
properties: [
|
|
240
|
+
{
|
|
241
|
+
clrName: "folder",
|
|
242
|
+
declaringClrType: "Acme.domain.ChannelFolderWithItems",
|
|
243
|
+
declaringAssemblyName: "Acme",
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
fields: [],
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
clrName: "Acme.repo.ChannelFolderWithItems",
|
|
250
|
+
alias: "Acme.repo.ChannelFolderWithItems",
|
|
251
|
+
assemblyName: "Acme",
|
|
252
|
+
methods: [],
|
|
253
|
+
properties: [
|
|
254
|
+
{
|
|
255
|
+
clrName: "folder",
|
|
256
|
+
declaringClrType: "Acme.repo.ChannelFolderWithItems",
|
|
257
|
+
declaringAssemblyName: "Acme",
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
fields: [],
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
});
|
|
264
|
+
const domainOverloads = registry.getMemberOverloads("Acme.domain.ChannelFolderWithItems", "folder");
|
|
265
|
+
expect(domainOverloads).to.not.equal(undefined);
|
|
266
|
+
expect(domainOverloads?.length).to.equal(1);
|
|
267
|
+
expect(domainOverloads?.[0]?.binding.type).to.equal("Acme.domain.ChannelFolderWithItems");
|
|
268
|
+
const repoOverloads = registry.getMemberOverloads("Acme.repo.ChannelFolderWithItems", "folder");
|
|
269
|
+
expect(repoOverloads).to.not.equal(undefined);
|
|
270
|
+
expect(repoOverloads?.length).to.equal(1);
|
|
271
|
+
expect(repoOverloads?.[0]?.binding.type).to.equal("Acme.repo.ChannelFolderWithItems");
|
|
272
|
+
expect(registry.getMemberOverloads("ChannelFolderWithItems", "folder")).to.equal(undefined);
|
|
273
|
+
});
|
|
274
|
+
it("should resolve member overloads by CLR type name for source-binding canonical identities", () => {
|
|
275
|
+
const registry = new BindingRegistry();
|
|
276
|
+
registry.addBindings("/test/acme/bindings.json", {
|
|
277
|
+
namespace: "Acme.Core",
|
|
278
|
+
types: [
|
|
279
|
+
{
|
|
280
|
+
clrName: "Acme.Core.Widget",
|
|
281
|
+
assemblyName: "Acme.Core",
|
|
282
|
+
methods: [],
|
|
283
|
+
properties: [
|
|
284
|
+
{
|
|
285
|
+
clrName: "Name",
|
|
286
|
+
declaringClrType: "Acme.Core.Widget",
|
|
287
|
+
declaringAssemblyName: "Acme.Core",
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
fields: [],
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
});
|
|
294
|
+
const overloads = registry.getMemberOverloads("Acme.Core.Widget", "Name");
|
|
295
|
+
expect(overloads).to.not.equal(undefined);
|
|
296
|
+
expect(overloads?.length).to.equal(1);
|
|
297
|
+
expect(overloads?.[0]?.binding.type).to.equal("Acme.Core.Widget");
|
|
298
|
+
expect(overloads?.[0]?.binding.member).to.equal("Name");
|
|
299
|
+
});
|
|
300
|
+
it("should resolve member overloads by qualified TS alias for source-binding canonical identities", () => {
|
|
301
|
+
const registry = new BindingRegistry();
|
|
302
|
+
registry.addBindings("/test/acme/bindings.json", {
|
|
303
|
+
namespace: "Acme.Core",
|
|
304
|
+
types: [
|
|
305
|
+
{
|
|
306
|
+
clrName: "Acme.Core.Ok__Alias`1",
|
|
307
|
+
assemblyName: "Acme.Core",
|
|
308
|
+
methods: [],
|
|
309
|
+
properties: [
|
|
310
|
+
{
|
|
311
|
+
clrName: "success",
|
|
312
|
+
declaringClrType: "Acme.Core.Ok__Alias`1",
|
|
313
|
+
declaringAssemblyName: "Acme.Core",
|
|
314
|
+
},
|
|
315
|
+
],
|
|
316
|
+
fields: [],
|
|
317
|
+
},
|
|
318
|
+
],
|
|
319
|
+
});
|
|
320
|
+
const byQualifiedAlias = registry.getType("Acme.Core.Ok__Alias_1");
|
|
321
|
+
const overloads = registry.getMemberOverloads("Acme.Core.Ok__Alias_1", "success");
|
|
322
|
+
expect(byQualifiedAlias?.alias).to.equal("Ok__Alias_1");
|
|
323
|
+
expect(overloads).to.not.equal(undefined);
|
|
324
|
+
expect(overloads?.length).to.equal(1);
|
|
325
|
+
expect(overloads?.[0]?.binding.type).to.equal("Acme.Core.Ok__Alias`1");
|
|
326
|
+
expect(overloads?.[0]?.binding.member).to.equal("success");
|
|
327
|
+
});
|
|
204
328
|
it("should resolve tsbindgen extension methods for instance-style calls", () => {
|
|
205
329
|
const registry = new BindingRegistry();
|
|
206
330
|
registry.addBindings("/test/System.Linq/bindings.json", {
|
|
@@ -842,6 +966,27 @@ describe("Binding System", () => {
|
|
|
842
966
|
expect(registry
|
|
843
967
|
.getClrMemberOverloads("System.Linq", "System.Linq.Enumerable", "ToList")?.[0]?.emitSemantics?.callStyle).to.equal("receiver");
|
|
844
968
|
});
|
|
969
|
+
it("should expose tsbindgen namespace types for namespace-scoped import identity", () => {
|
|
970
|
+
const registry = new BindingRegistry();
|
|
971
|
+
registry.addBindings("/test/System.Collections.Generic/bindings.json", {
|
|
972
|
+
namespace: "System.Collections.Generic",
|
|
973
|
+
types: [
|
|
974
|
+
{
|
|
975
|
+
clrName: "System.Collections.Generic.IEnumerable`1",
|
|
976
|
+
assemblyName: "System.Runtime",
|
|
977
|
+
kind: "Interface",
|
|
978
|
+
methods: [],
|
|
979
|
+
properties: [],
|
|
980
|
+
fields: [],
|
|
981
|
+
},
|
|
982
|
+
],
|
|
983
|
+
});
|
|
984
|
+
const namespace = registry.getNamespace("System.Collections.Generic");
|
|
985
|
+
expect(namespace).to.not.equal(undefined);
|
|
986
|
+
expect(namespace?.name).to.equal("System.Collections.Generic");
|
|
987
|
+
expect(namespace?.types.some((type) => type.alias === "IEnumerable_1" &&
|
|
988
|
+
type.name === "System.Collections.Generic.IEnumerable`1")).to.equal(true);
|
|
989
|
+
});
|
|
845
990
|
});
|
|
846
991
|
});
|
|
847
992
|
//# sourceMappingURL=bindings.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.test.js","sourceRoot":"","sources":["../../src/program/bindings.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bindings.test.js","sourceRoot":"","sources":["../../src/program/bindings.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-bindings-discovery.d.ts","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,aAAa,EACtB,UAAU,OAAO,KAChB,
|
|
1
|
+
{"version":3,"file":"clr-bindings-discovery.d.ts","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,aAAa,EACtB,UAAU,OAAO,KAChB,IAqFF,CAAC"}
|
|
@@ -95,11 +95,17 @@ export const discoverAndLoadClrBindings = (program, verbose) => {
|
|
|
95
95
|
enqueued.add(bindingsPath);
|
|
96
96
|
pending.push(bindingsPath);
|
|
97
97
|
};
|
|
98
|
+
const filesToScan = [
|
|
99
|
+
...program.sourceFiles,
|
|
100
|
+
...program.declarationSourceFiles,
|
|
101
|
+
];
|
|
98
102
|
if (verbose) {
|
|
99
|
-
console.log(`[CLR Bindings] Scanning ${
|
|
103
|
+
console.log(`[CLR Bindings] Scanning ${filesToScan.length} source and declaration files`);
|
|
100
104
|
}
|
|
101
|
-
// First: discover direct CLR imports from
|
|
102
|
-
|
|
105
|
+
// First: discover direct CLR imports from program files, including declaration
|
|
106
|
+
// files. Generated/source-package .d.ts surfaces can import CLR namespaces from
|
|
107
|
+
// external packages, and those bindings must be loaded before IR building.
|
|
108
|
+
for (const sourceFile of filesToScan) {
|
|
103
109
|
if (verbose) {
|
|
104
110
|
console.log(`[CLR Bindings] Scanning: ${sourceFile.fileName}`);
|
|
105
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-bindings-discovery.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"clr-bindings-discovery.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,5 +115,112 @@ describe("CLR bindings discovery (entrypoint re-exports)", () => {
|
|
|
115
115
|
expect(fooSpec.resolvedClrValue?.declaringClrType).to.equal("Other.Container");
|
|
116
116
|
expect(fooSpec.resolvedClrValue?.memberName).to.equal("foo");
|
|
117
117
|
});
|
|
118
|
+
it("loads CLR bindings referenced only from declaration files", () => {
|
|
119
|
+
const tmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-clr-decl-import-"));
|
|
120
|
+
try {
|
|
121
|
+
const projectRoot = tmpRoot;
|
|
122
|
+
fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify({ name: "test-project", private: true, type: "module" }, null, 2));
|
|
123
|
+
const efPkgRoot = path.join(projectRoot, "node_modules", "@test", "ef");
|
|
124
|
+
fs.mkdirSync(efPkgRoot, { recursive: true });
|
|
125
|
+
fs.writeFileSync(path.join(efPkgRoot, "package.json"), JSON.stringify({
|
|
126
|
+
name: "@test/ef",
|
|
127
|
+
version: "0.0.0",
|
|
128
|
+
type: "module",
|
|
129
|
+
exports: {
|
|
130
|
+
"./*.js": {
|
|
131
|
+
types: "./dist/tsonic/bindings/*.d.ts",
|
|
132
|
+
default: "./dist/tsonic/bindings/*.js",
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
}, null, 2));
|
|
136
|
+
const efBindingsRoot = path.join(efPkgRoot, "dist", "tsonic", "bindings");
|
|
137
|
+
fs.mkdirSync(path.join(efBindingsRoot, "Foo"), { recursive: true });
|
|
138
|
+
fs.writeFileSync(path.join(efBindingsRoot, "Foo", "bindings.json"), JSON.stringify({
|
|
139
|
+
namespace: "Foo",
|
|
140
|
+
types: [],
|
|
141
|
+
exports: {
|
|
142
|
+
mark: {
|
|
143
|
+
kind: "method",
|
|
144
|
+
clrName: "mark",
|
|
145
|
+
declaringClrType: "Foo.Container",
|
|
146
|
+
declaringAssemblyName: "TestAssembly",
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
}, null, 2));
|
|
150
|
+
fs.writeFileSync(path.join(efBindingsRoot, "Foo.d.ts"), "export interface Marker { ok: true; }\nexport declare function mark(): void;\n");
|
|
151
|
+
fs.writeFileSync(path.join(efBindingsRoot, "Foo.js"), 'throw new Error("stub");\n');
|
|
152
|
+
const pkgRoot = path.join(projectRoot, "node_modules", "@test", "pkg");
|
|
153
|
+
fs.mkdirSync(pkgRoot, { recursive: true });
|
|
154
|
+
fs.writeFileSync(path.join(pkgRoot, "package.json"), JSON.stringify({
|
|
155
|
+
name: "@test/pkg",
|
|
156
|
+
version: "0.0.0",
|
|
157
|
+
type: "module",
|
|
158
|
+
exports: {
|
|
159
|
+
"./*.js": {
|
|
160
|
+
types: "./dist/tsonic/bindings/*.d.ts",
|
|
161
|
+
default: "./dist/tsonic/bindings/*.js",
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
}, null, 2));
|
|
165
|
+
const bindingsRoot = path.join(pkgRoot, "dist", "tsonic", "bindings");
|
|
166
|
+
fs.mkdirSync(bindingsRoot, { recursive: true });
|
|
167
|
+
fs.writeFileSync(path.join(bindingsRoot, "Root.d.ts"), [
|
|
168
|
+
'import type { Marker } from "@test/ef/Foo.js";',
|
|
169
|
+
"",
|
|
170
|
+
"export interface NeedsMarker {",
|
|
171
|
+
" readonly value: Marker;",
|
|
172
|
+
"}",
|
|
173
|
+
"",
|
|
174
|
+
].join("\n"));
|
|
175
|
+
fs.writeFileSync(path.join(bindingsRoot, "Root.js"), 'throw new Error("stub");\n');
|
|
176
|
+
fs.mkdirSync(path.join(bindingsRoot, "Root"), { recursive: true });
|
|
177
|
+
fs.writeFileSync(path.join(bindingsRoot, "Root", "bindings.json"), JSON.stringify({ namespace: "Root", types: [] }, null, 2));
|
|
178
|
+
const srcDir = path.join(projectRoot, "src");
|
|
179
|
+
fs.mkdirSync(srcDir, { recursive: true });
|
|
180
|
+
const entryFile = path.join(srcDir, "main.ts");
|
|
181
|
+
fs.writeFileSync(entryFile, 'import type { NeedsMarker } from "@test/pkg/Root.js";\nexport type Check = NeedsMarker;\n');
|
|
182
|
+
const program = ts.createProgram({
|
|
183
|
+
rootNames: [entryFile],
|
|
184
|
+
options: {
|
|
185
|
+
target: ts.ScriptTarget.ES2022,
|
|
186
|
+
module: ts.ModuleKind.NodeNext,
|
|
187
|
+
moduleResolution: ts.ModuleResolutionKind.NodeNext,
|
|
188
|
+
strict: true,
|
|
189
|
+
noLib: true,
|
|
190
|
+
noEmit: true,
|
|
191
|
+
skipLibCheck: true,
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
const sourceFile = program.getSourceFile(entryFile);
|
|
195
|
+
if (!sourceFile)
|
|
196
|
+
throw new Error("failed to read entry source file");
|
|
197
|
+
const checker = program.getTypeChecker();
|
|
198
|
+
const bindings = new BindingRegistry();
|
|
199
|
+
const declarationSourceFiles = program
|
|
200
|
+
.getSourceFiles()
|
|
201
|
+
.filter((sf) => sf.isDeclarationFile);
|
|
202
|
+
const tsonicProgram = {
|
|
203
|
+
program,
|
|
204
|
+
checker,
|
|
205
|
+
options: {
|
|
206
|
+
projectRoot,
|
|
207
|
+
sourceRoot: projectRoot,
|
|
208
|
+
rootNamespace: "TestApp",
|
|
209
|
+
strict: true,
|
|
210
|
+
},
|
|
211
|
+
sourceFiles: [sourceFile],
|
|
212
|
+
declarationSourceFiles,
|
|
213
|
+
metadata: new DotnetMetadataRegistry(),
|
|
214
|
+
bindings,
|
|
215
|
+
clrResolver: createClrBindingsResolver(projectRoot),
|
|
216
|
+
binding: createBinding(checker),
|
|
217
|
+
};
|
|
218
|
+
discoverAndLoadClrBindings(tsonicProgram);
|
|
219
|
+
expect(bindings.getTsbindgenExport("Foo", "mark")).to.not.equal(undefined);
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
fs.rmSync(tmpRoot, { recursive: true, force: true });
|
|
223
|
+
}
|
|
224
|
+
});
|
|
118
225
|
});
|
|
119
226
|
//# sourceMappingURL=clr-bindings-discovery.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-bindings-discovery.test.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clr-bindings-discovery.test.js","sourceRoot":"","sources":["../../src/program/clr-bindings-discovery.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creation.d.ts","sourceRoot":"","sources":["../../src/program/creation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,EAAE,MAAM,EAAa,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"creation.d.ts","sourceRoot":"","sources":["../../src/program/creation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,EAAE,MAAM,EAAa,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiR5D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,eAAe,KACvB,EAAE,CAAC,eAsEL,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,WAAW,SAAS,MAAM,EAAE,EAC5B,SAAS,eAAe,KACvB,MAAM,CAAC,aAAa,EAAE,oBAAoB,CA4nB5C,CAAC"}
|