@tsonic/frontend 0.0.64 → 0.0.66

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 (166) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/dependency-graph.d.ts +1 -1
  3. package/dist/dependency-graph.d.ts.map +1 -1
  4. package/dist/dependency-graph.js +1 -1
  5. package/dist/dependency-graph.js.map +1 -1
  6. package/dist/graph/extraction/imports.d.ts +0 -5
  7. package/dist/graph/extraction/imports.d.ts.map +1 -1
  8. package/dist/graph/extraction/imports.js +0 -35
  9. package/dist/graph/extraction/imports.js.map +1 -1
  10. package/dist/graph/extraction/index.d.ts +1 -1
  11. package/dist/graph/extraction/index.d.ts.map +1 -1
  12. package/dist/graph/extraction/index.js +1 -1
  13. package/dist/graph/extraction/index.js.map +1 -1
  14. package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
  15. package/dist/graph/extraction/orchestrator.js +1 -7
  16. package/dist/graph/extraction/orchestrator.js.map +1 -1
  17. package/dist/graph/extraction.d.ts +1 -1
  18. package/dist/graph/extraction.d.ts.map +1 -1
  19. package/dist/graph/extraction.js +1 -1
  20. package/dist/graph/extraction.js.map +1 -1
  21. package/dist/ir/binding/binding-types.d.ts +2 -2
  22. package/dist/ir/binding/binding-types.d.ts.map +1 -1
  23. package/dist/ir/binding-resolution.test.js +176 -48
  24. package/dist/ir/binding-resolution.test.js.map +1 -1
  25. package/dist/ir/bindings-disambiguation.test.js +149 -0
  26. package/dist/ir/bindings-disambiguation.test.js.map +1 -1
  27. package/dist/ir/builder/imports.d.ts.map +1 -1
  28. package/dist/ir/builder/imports.js +76 -52
  29. package/dist/ir/builder/imports.js.map +1 -1
  30. package/dist/ir/builder.test.js +118 -0
  31. package/dist/ir/builder.test.js.map +1 -1
  32. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
  33. package/dist/ir/converters/expressions/access/access-converter.js +1 -1
  34. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
  35. package/dist/ir/converters/expressions/access/binding-resolution.d.ts +2 -2
  36. package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -1
  37. package/dist/ir/converters/expressions/access/binding-resolution.js +122 -78
  38. package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -1
  39. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
  40. package/dist/ir/converters/expressions/access/member-resolution.js +8 -0
  41. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
  42. package/dist/ir/converters/expressions/calls/call-converter.js +3 -3
  43. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
  44. package/dist/ir/converters/expressions/numeric-recovery.test.js +110 -2
  45. package/dist/ir/converters/expressions/numeric-recovery.test.js.map +1 -1
  46. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +8 -0
  47. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -1
  48. package/dist/ir/type-system/internal/type-converter/references.js +10 -12
  49. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  50. package/dist/ir/type-system/internal/type-registry.d.ts +3 -2
  51. package/dist/ir/type-system/internal/type-registry.d.ts.map +1 -1
  52. package/dist/ir/type-system/internal/type-registry.js +7 -3
  53. package/dist/ir/type-system/internal/type-registry.js.map +1 -1
  54. package/dist/ir/type-system/internal/universe/alias-table.js +2 -2
  55. package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -1
  56. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  57. package/dist/ir/type-system/internal/universe/clr-catalog.js +16 -2
  58. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  59. package/dist/ir/type-system/internal/universe/clr-catalog.test.d.ts +2 -0
  60. package/dist/ir/type-system/internal/universe/clr-catalog.test.d.ts.map +1 -0
  61. package/dist/ir/type-system/internal/universe/clr-catalog.test.js +55 -0
  62. package/dist/ir/type-system/internal/universe/clr-catalog.test.js.map +1 -0
  63. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
  64. package/dist/ir/type-system/type-system-call-resolution.js +134 -5
  65. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
  66. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
  67. package/dist/ir/type-system/type-system-inference.js +10 -2
  68. package/dist/ir/type-system/type-system-inference.js.map +1 -1
  69. package/dist/ir/type-system/type-system-state.d.ts +5 -0
  70. package/dist/ir/type-system/type-system-state.d.ts.map +1 -1
  71. package/dist/ir/type-system/type-system-state.js +33 -17
  72. package/dist/ir/type-system/type-system-state.js.map +1 -1
  73. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  74. package/dist/ir/type-system/type-system.js.map +1 -1
  75. package/dist/ir/types/expressions.d.ts +1 -0
  76. package/dist/ir/types/expressions.d.ts.map +1 -1
  77. package/dist/ir/validation/attribute-collection-pass.test.js +1 -0
  78. package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
  79. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  80. package/dist/ir/validation/soundness-gate.js +11 -2
  81. package/dist/ir/validation/soundness-gate.js.map +1 -1
  82. package/dist/ir/validation/soundness-gate.test.js +23 -0
  83. package/dist/ir/validation/soundness-gate.test.js.map +1 -1
  84. package/dist/program/binding-loader.d.ts +3 -3
  85. package/dist/program/binding-loader.d.ts.map +1 -1
  86. package/dist/program/binding-loader.js +41 -23
  87. package/dist/program/binding-loader.js.map +1 -1
  88. package/dist/program/binding-registry.d.ts +7 -0
  89. package/dist/program/binding-registry.d.ts.map +1 -1
  90. package/dist/program/binding-registry.js +52 -1
  91. package/dist/program/binding-registry.js.map +1 -1
  92. package/dist/program/binding-types.d.ts +1 -0
  93. package/dist/program/binding-types.d.ts.map +1 -1
  94. package/dist/program/binding-types.js.map +1 -1
  95. package/dist/program/bindings.test.js +210 -0
  96. package/dist/program/bindings.test.js.map +1 -1
  97. package/dist/program/creation.d.ts.map +1 -1
  98. package/dist/program/creation.js +292 -161
  99. package/dist/program/creation.js.map +1 -1
  100. package/dist/program/creation.test.js +276 -19
  101. package/dist/program/creation.test.js.map +1 -1
  102. package/dist/program/metadata.d.ts.map +1 -1
  103. package/dist/program/metadata.js +72 -15
  104. package/dist/program/metadata.js.map +1 -1
  105. package/dist/program/metadata.test.d.ts +2 -0
  106. package/dist/program/metadata.test.d.ts.map +1 -0
  107. package/dist/program/metadata.test.js +104 -0
  108. package/dist/program/metadata.test.js.map +1 -0
  109. package/dist/program/package-roots.d.ts +2 -0
  110. package/dist/program/package-roots.d.ts.map +1 -0
  111. package/dist/program/package-roots.js +88 -0
  112. package/dist/program/package-roots.js.map +1 -0
  113. package/dist/program/types.d.ts +1 -1
  114. package/dist/program/types.d.ts.map +1 -1
  115. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
  116. package/dist/resolver/clr-bindings-resolver.js +42 -4
  117. package/dist/resolver/clr-bindings-resolver.js.map +1 -1
  118. package/dist/resolver/import-resolution.d.ts +0 -2
  119. package/dist/resolver/import-resolution.d.ts.map +1 -1
  120. package/dist/resolver/import-resolution.js +2 -9
  121. package/dist/resolver/import-resolution.js.map +1 -1
  122. package/dist/resolver.test.js +50 -78
  123. package/dist/resolver.test.js.map +1 -1
  124. package/dist/surface/profiles.d.ts +6 -3
  125. package/dist/surface/profiles.d.ts.map +1 -1
  126. package/dist/surface/profiles.js +177 -28
  127. package/dist/surface/profiles.js.map +1 -1
  128. package/dist/surface/profiles.test.js +98 -17
  129. package/dist/surface/profiles.test.js.map +1 -1
  130. package/dist/validation/features.d.ts.map +1 -1
  131. package/dist/validation/features.js +1 -23
  132. package/dist/validation/features.js.map +1 -1
  133. package/dist/validation/features.test.js +4 -4
  134. package/dist/validation/features.test.js.map +1 -1
  135. package/dist/validation/imports.d.ts.map +1 -1
  136. package/dist/validation/imports.js +7 -16
  137. package/dist/validation/imports.js.map +1 -1
  138. package/dist/validation/imports.test.js +74 -66
  139. package/dist/validation/imports.test.js.map +1 -1
  140. package/dist/validator.maximus.test.js +17 -5
  141. package/dist/validator.maximus.test.js.map +1 -1
  142. package/package.json +2 -2
  143. package/dist/ir/converters/context.d.ts +0 -40
  144. package/dist/ir/converters/context.d.ts.map +0 -1
  145. package/dist/ir/converters/context.js +0 -25
  146. package/dist/ir/converters/context.js.map +0 -1
  147. package/dist/resolver/node-module-aliases.d.ts +0 -6
  148. package/dist/resolver/node-module-aliases.d.ts.map +0 -1
  149. package/dist/resolver/node-module-aliases.js +0 -164
  150. package/dist/resolver/node-module-aliases.js.map +0 -1
  151. package/dist/resolver/node-module-aliases.test.d.ts +0 -2
  152. package/dist/resolver/node-module-aliases.test.d.ts.map +0 -1
  153. package/dist/resolver/node-module-aliases.test.js +0 -64
  154. package/dist/resolver/node-module-aliases.test.js.map +0 -1
  155. package/dist/surface/js-surface-shims.d.ts +0 -3
  156. package/dist/surface/js-surface-shims.d.ts.map +0 -1
  157. package/dist/surface/js-surface-shims.js +0 -332
  158. package/dist/surface/js-surface-shims.js.map +0 -1
  159. package/dist/surface/js-surface-shims.test.d.ts +0 -2
  160. package/dist/surface/js-surface-shims.test.d.ts.map +0 -1
  161. package/dist/surface/js-surface-shims.test.js +0 -53
  162. package/dist/surface/js-surface-shims.test.js.map +0 -1
  163. package/dist/validation/unsupported-utility-types.d.ts +0 -40
  164. package/dist/validation/unsupported-utility-types.d.ts.map +0 -1
  165. package/dist/validation/unsupported-utility-types.js +0 -43
  166. package/dist/validation/unsupported-utility-types.js.map +0 -1
@@ -1,53 +0,0 @@
1
- import { describe, it } from "mocha";
2
- import { expect } from "chai";
3
- import { JS_SURFACE_GLOBALS_SHIMS, JS_SURFACE_NODE_MODULE_SHIMS, } from "./js-surface-shims.js";
4
- describe("JS Surface Shims", () => {
5
- it("declares required JS runtime globals", () => {
6
- const requiredGlobals = [
7
- "interface String",
8
- "interface Array<T>",
9
- "interface ReadonlyArray<T>",
10
- "const console: Console;",
11
- "const Date: DateConstructor;",
12
- "const JSON: JSON;",
13
- "const Math: Math;",
14
- "const RegExp: RegExpConstructor;",
15
- "const Map: MapConstructor;",
16
- "const Set: SetConstructor;",
17
- "function parseInt(",
18
- "function parseFloat(",
19
- "function isFinite(",
20
- "function isNaN(",
21
- "function setTimeout(",
22
- "function setInterval(",
23
- ];
24
- for (const token of requiredGlobals) {
25
- expect(JS_SURFACE_GLOBALS_SHIMS).to.include(token);
26
- }
27
- });
28
- it("keeps unsupported mutating Array APIs out of compiler-owned shims", () => {
29
- expect(JS_SURFACE_GLOBALS_SHIMS).to.not.include("push(");
30
- expect(JS_SURFACE_GLOBALS_SHIMS).to.not.include("pop(");
31
- expect(JS_SURFACE_GLOBALS_SHIMS).to.not.include("splice(");
32
- expect(JS_SURFACE_GLOBALS_SHIMS).to.not.include("shift(");
33
- expect(JS_SURFACE_GLOBALS_SHIMS).to.not.include("unshift(");
34
- });
35
- it("declares node alias modules for both node:* and bare specifiers", () => {
36
- const requiredNodeAliases = [
37
- 'declare module "node:fs" { export { fs } from "@tsonic/nodejs/index.js"; }',
38
- 'declare module "fs" { export { fs } from "@tsonic/nodejs/index.js"; }',
39
- 'declare module "node:path" { export { path } from "@tsonic/nodejs/index.js"; }',
40
- 'declare module "path" { export { path } from "@tsonic/nodejs/index.js"; }',
41
- 'declare module "node:crypto" { export { crypto } from "@tsonic/nodejs/index.js"; }',
42
- 'declare module "crypto" { export { crypto } from "@tsonic/nodejs/index.js"; }',
43
- 'declare module "node:process" { export { process } from "@tsonic/nodejs/index.js"; }',
44
- 'declare module "process" { export { process } from "@tsonic/nodejs/index.js"; }',
45
- 'declare module "node:os" { export { os } from "@tsonic/nodejs/index.js"; }',
46
- 'declare module "os" { export { os } from "@tsonic/nodejs/index.js"; }',
47
- ];
48
- for (const alias of requiredNodeAliases) {
49
- expect(JS_SURFACE_NODE_MODULE_SHIMS).to.include(alias);
50
- }
51
- });
52
- });
53
- //# sourceMappingURL=js-surface-shims.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js-surface-shims.test.js","sourceRoot":"","sources":["../../src/surface/js-surface-shims.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,eAAe,GAAG;YACtB,kBAAkB;YAClB,oBAAoB;YACpB,4BAA4B;YAC5B,yBAAyB;YACzB,8BAA8B;YAC9B,mBAAmB;YACnB,mBAAmB;YACnB,kCAAkC;YAClC,4BAA4B;YAC5B,4BAA4B;YAC5B,oBAAoB;YACpB,sBAAsB;YACtB,oBAAoB;YACpB,iBAAiB;YACjB,sBAAsB;YACtB,uBAAuB;SACf,CAAC;QAEX,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,mBAAmB,GAAG;YAC1B,4EAA4E;YAC5E,uEAAuE;YACvE,gFAAgF;YAChF,2EAA2E;YAC3E,oFAAoF;YACpF,+EAA+E;YAC/E,sFAAsF;YACtF,iFAAiF;YACjF,4EAA4E;YAC5E,uEAAuE;SAC/D,CAAC;QAEX,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,MAAM,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Centralized list of unsupported TypeScript utility types
3
- *
4
- * These utility types internally use mapped or conditional types which are not
5
- * supported in Tsonic. They are detected by name in TypeReferenceNode validation.
6
- *
7
- * Note: This only applies to the built-in utility types from TypeScript's lib.
8
- * User-defined types with these names (without type arguments) are allowed.
9
- */
10
- /**
11
- * Mapped-type utility types (TSN7406)
12
- *
13
- * SUPPORTED (expanded at compile time for concrete types):
14
- * - Partial<T> → { [P in keyof T]?: T[P] }
15
- * - Required<T> → { [P in keyof T]-?: T[P] }
16
- * - Readonly<T> → { readonly [P in keyof T]: T[P] }
17
- * - Pick<T, K> → { [P in K]: T[P] }
18
- * - Omit<T, K> → { [P in Exclude<keyof T, K>]: T[P] }
19
- *
20
- * Note: Record<K, V> is handled separately (allowed when K is string, TSN7413 otherwise)
21
- * Note: ReadonlyArray<T> is NOT a mapped type - it maps to IReadOnlyList<T> and is supported
22
- */
23
- export declare const UNSUPPORTED_MAPPED_UTILITY_TYPES: Set<string>;
24
- /**
25
- * Conditional-type utility types (TSN7407)
26
- *
27
- * SUPPORTED (expanded at compile time for concrete types):
28
- * - Extract<T, U> → T extends U ? T : never
29
- * - Exclude<T, U> → T extends U ? never : T
30
- * - NonNullable<T> → T & {} (filters null/undefined from unions)
31
- * - ReturnType<T> → T extends (...args: any) => infer R ? R : any
32
- * - Parameters<T> → T extends (...args: infer P) => any ? P : never
33
- * - Awaited<T> → T extends PromiseLike<infer U> ? Awaited<U> : T
34
- *
35
- * SUPPORTED (expanded at compile time for concrete constructor shapes):
36
- * - ConstructorParameters<T>
37
- * - InstanceType<T>
38
- */
39
- export declare const UNSUPPORTED_CONDITIONAL_UTILITY_TYPES: Set<string>;
40
- //# sourceMappingURL=unsupported-utility-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unsupported-utility-types.d.ts","sourceRoot":"","sources":["../../src/validation/unsupported-utility-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,aAG3C,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qCAAqC,aAAsB,CAAC"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Centralized list of unsupported TypeScript utility types
3
- *
4
- * These utility types internally use mapped or conditional types which are not
5
- * supported in Tsonic. They are detected by name in TypeReferenceNode validation.
6
- *
7
- * Note: This only applies to the built-in utility types from TypeScript's lib.
8
- * User-defined types with these names (without type arguments) are allowed.
9
- */
10
- /**
11
- * Mapped-type utility types (TSN7406)
12
- *
13
- * SUPPORTED (expanded at compile time for concrete types):
14
- * - Partial<T> → { [P in keyof T]?: T[P] }
15
- * - Required<T> → { [P in keyof T]-?: T[P] }
16
- * - Readonly<T> → { readonly [P in keyof T]: T[P] }
17
- * - Pick<T, K> → { [P in K]: T[P] }
18
- * - Omit<T, K> → { [P in Exclude<keyof T, K>]: T[P] }
19
- *
20
- * Note: Record<K, V> is handled separately (allowed when K is string, TSN7413 otherwise)
21
- * Note: ReadonlyArray<T> is NOT a mapped type - it maps to IReadOnlyList<T> and is supported
22
- */
23
- export const UNSUPPORTED_MAPPED_UTILITY_TYPES = new Set([
24
- // Partial, Required, Readonly, Pick, Omit are now supported
25
- // They are expanded to IrObjectType in type-converter/utility-types.ts
26
- ]);
27
- /**
28
- * Conditional-type utility types (TSN7407)
29
- *
30
- * SUPPORTED (expanded at compile time for concrete types):
31
- * - Extract<T, U> → T extends U ? T : never
32
- * - Exclude<T, U> → T extends U ? never : T
33
- * - NonNullable<T> → T & {} (filters null/undefined from unions)
34
- * - ReturnType<T> → T extends (...args: any) => infer R ? R : any
35
- * - Parameters<T> → T extends (...args: infer P) => any ? P : never
36
- * - Awaited<T> → T extends PromiseLike<infer U> ? Awaited<U> : T
37
- *
38
- * SUPPORTED (expanded at compile time for concrete constructor shapes):
39
- * - ConstructorParameters<T>
40
- * - InstanceType<T>
41
- */
42
- export const UNSUPPORTED_CONDITIONAL_UTILITY_TYPES = new Set([]);
43
- //# sourceMappingURL=unsupported-utility-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unsupported-utility-types.js","sourceRoot":"","sources":["../../src/validation/unsupported-utility-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAS;AAC9D,4DAA4D;AAC5D,uEAAuE;CACxE,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,GAAG,CAAS,EAAE,CAAC,CAAC"}