@tsonic/frontend 0.0.66 → 0.0.68

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 (200) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/generic-function-values.d.ts.map +1 -1
  3. package/dist/generic-function-values.js +4 -2
  4. package/dist/generic-function-values.js.map +1 -1
  5. package/dist/graph/extraction/imports.d.ts.map +1 -1
  6. package/dist/graph/extraction/imports.js +5 -1
  7. package/dist/graph/extraction/imports.js.map +1 -1
  8. package/dist/ir/binding/binding-factory.d.ts.map +1 -1
  9. package/dist/ir/binding/binding-factory.js +239 -26
  10. package/dist/ir/binding/binding-factory.js.map +1 -1
  11. package/dist/ir/binding/binding-types.d.ts +1 -0
  12. package/dist/ir/binding/binding-types.d.ts.map +1 -1
  13. package/dist/ir/binding-resolution.test.js +172 -1
  14. package/dist/ir/binding-resolution.test.js.map +1 -1
  15. package/dist/ir/builder/imports.d.ts.map +1 -1
  16. package/dist/ir/builder/imports.js +13 -1
  17. package/dist/ir/builder/imports.js.map +1 -1
  18. package/dist/ir/builder.test.js +1350 -7
  19. package/dist/ir/builder.test.js.map +1 -1
  20. package/dist/ir/converters/anonymous-synthesis.d.ts +3 -2
  21. package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
  22. package/dist/ir/converters/anonymous-synthesis.js +88 -67
  23. package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
  24. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
  25. package/dist/ir/converters/expressions/access/access-converter.js +44 -36
  26. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
  27. package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -1
  28. package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -1
  29. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
  30. package/dist/ir/converters/expressions/access/member-resolution.js +15 -3
  31. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
  32. package/dist/ir/converters/expressions/calls/call-converter.d.ts +2 -2
  33. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -1
  34. package/dist/ir/converters/expressions/calls/call-converter.js +108 -4
  35. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
  36. package/dist/ir/converters/expressions/calls/new-converter.d.ts +2 -1
  37. package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -1
  38. package/dist/ir/converters/expressions/calls/new-converter.js +4 -1
  39. package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -1
  40. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  41. package/dist/ir/converters/expressions/collections.js +425 -121
  42. package/dist/ir/converters/expressions/collections.js.map +1 -1
  43. package/dist/ir/converters/expressions/dynamic-import.d.ts +6 -0
  44. package/dist/ir/converters/expressions/dynamic-import.d.ts.map +1 -0
  45. package/dist/ir/converters/expressions/dynamic-import.js +121 -0
  46. package/dist/ir/converters/expressions/dynamic-import.js.map +1 -0
  47. package/dist/ir/converters/expressions/functions.d.ts.map +1 -1
  48. package/dist/ir/converters/expressions/functions.js +28 -13
  49. package/dist/ir/converters/expressions/functions.js.map +1 -1
  50. package/dist/ir/converters/expressions/import-meta.d.ts +9 -0
  51. package/dist/ir/converters/expressions/import-meta.d.ts.map +1 -0
  52. package/dist/ir/converters/expressions/import-meta.js +93 -0
  53. package/dist/ir/converters/expressions/import-meta.js.map +1 -0
  54. package/dist/ir/converters/expressions/literals.d.ts +2 -1
  55. package/dist/ir/converters/expressions/literals.d.ts.map +1 -1
  56. package/dist/ir/converters/expressions/literals.js +73 -0
  57. package/dist/ir/converters/expressions/literals.js.map +1 -1
  58. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  59. package/dist/ir/converters/flow-narrowing.js +100 -0
  60. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  61. package/dist/ir/converters/statements/control/loops.d.ts.map +1 -1
  62. package/dist/ir/converters/statements/control/loops.js +72 -8
  63. package/dist/ir/converters/statements/control/loops.js.map +1 -1
  64. package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
  65. package/dist/ir/converters/statements/declarations/variables.js +22 -6
  66. package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
  67. package/dist/ir/expression-converter.d.ts.map +1 -1
  68. package/dist/ir/expression-converter.js +13 -4
  69. package/dist/ir/expression-converter.js.map +1 -1
  70. package/dist/ir/program-context.d.ts +27 -0
  71. package/dist/ir/program-context.d.ts.map +1 -1
  72. package/dist/ir/program-context.js +12 -0
  73. package/dist/ir/program-context.js.map +1 -1
  74. package/dist/ir/type-system/internal/handle-types.d.ts +1 -0
  75. package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
  76. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  77. package/dist/ir/type-system/internal/type-converter/references.js +37 -1
  78. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  79. package/dist/ir/type-system/type-system-call-resolution.d.ts +1 -1
  80. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
  81. package/dist/ir/type-system/type-system-call-resolution.js +158 -26
  82. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
  83. package/dist/ir/type-system/type-system-inference.d.ts +1 -1
  84. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
  85. package/dist/ir/type-system/type-system-inference.js +189 -31
  86. package/dist/ir/type-system/type-system-inference.js.map +1 -1
  87. package/dist/ir/type-system/type-system-state.d.ts +14 -0
  88. package/dist/ir/type-system/type-system-state.d.ts.map +1 -1
  89. package/dist/ir/type-system/type-system-state.js +1 -0
  90. package/dist/ir/type-system/type-system-state.js.map +1 -1
  91. package/dist/ir/type-system/type-system.d.ts +5 -1
  92. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  93. package/dist/ir/type-system/type-system.js +5 -2
  94. package/dist/ir/type-system/type-system.js.map +1 -1
  95. package/dist/ir/types/expressions.d.ts +55 -1
  96. package/dist/ir/types/expressions.d.ts.map +1 -1
  97. package/dist/ir/types/index.d.ts +1 -1
  98. package/dist/ir/types/index.d.ts.map +1 -1
  99. package/dist/ir/types/index.js.map +1 -1
  100. package/dist/ir/types/module.d.ts +2 -0
  101. package/dist/ir/types/module.d.ts.map +1 -1
  102. package/dist/ir/types/type-ops.d.ts.map +1 -1
  103. package/dist/ir/types/type-ops.js +1 -0
  104. package/dist/ir/types/type-ops.js.map +1 -1
  105. package/dist/ir/types.d.ts +1 -1
  106. package/dist/ir/types.d.ts.map +1 -1
  107. package/dist/ir/types.js.map +1 -1
  108. package/dist/ir/validation/anonymous-type-lowering-pass.d.ts.map +1 -1
  109. package/dist/ir/validation/anonymous-type-lowering-pass.js +97 -9
  110. package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
  111. package/dist/ir/validation/arrow-return-finalization-pass.js +3 -0
  112. package/dist/ir/validation/arrow-return-finalization-pass.js.map +1 -1
  113. package/dist/ir/validation/char-validation-pass.d.ts.map +1 -1
  114. package/dist/ir/validation/char-validation-pass.js +10 -0
  115. package/dist/ir/validation/char-validation-pass.js.map +1 -1
  116. package/dist/ir/validation/numeric-coercion-pass.d.ts.map +1 -1
  117. package/dist/ir/validation/numeric-coercion-pass.js +6 -0
  118. package/dist/ir/validation/numeric-coercion-pass.js.map +1 -1
  119. package/dist/ir/validation/numeric-invariants.test.js +180 -0
  120. package/dist/ir/validation/numeric-invariants.test.js.map +1 -1
  121. package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
  122. package/dist/ir/validation/numeric-proof-pass.js +188 -2
  123. package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
  124. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  125. package/dist/ir/validation/soundness-gate.js +29 -10
  126. package/dist/ir/validation/soundness-gate.js.map +1 -1
  127. package/dist/ir/validation/soundness-gate.test.js +127 -4
  128. package/dist/ir/validation/soundness-gate.test.js.map +1 -1
  129. package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
  130. package/dist/ir/validation/yield-lowering-pass.js +26 -2
  131. package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
  132. package/dist/object-literal-method-runtime.d.ts +15 -0
  133. package/dist/object-literal-method-runtime.d.ts.map +1 -0
  134. package/dist/object-literal-method-runtime.js +279 -0
  135. package/dist/object-literal-method-runtime.js.map +1 -0
  136. package/dist/program/bindings.test.js +44 -0
  137. package/dist/program/bindings.test.js.map +1 -1
  138. package/dist/program/creation.d.ts.map +1 -1
  139. package/dist/program/creation.js +239 -50
  140. package/dist/program/creation.js.map +1 -1
  141. package/dist/program/creation.test.js +485 -18
  142. package/dist/program/creation.test.js.map +1 -1
  143. package/dist/program/dependency-graph.d.ts.map +1 -1
  144. package/dist/program/dependency-graph.js +49 -22
  145. package/dist/program/dependency-graph.js.map +1 -1
  146. package/dist/program/dependency-graph.test.d.ts +2 -0
  147. package/dist/program/dependency-graph.test.d.ts.map +1 -0
  148. package/dist/program/dependency-graph.test.js +118 -0
  149. package/dist/program/dependency-graph.test.js.map +1 -0
  150. package/dist/resolver/dynamic-import.d.ts +33 -0
  151. package/dist/resolver/dynamic-import.d.ts.map +1 -0
  152. package/dist/resolver/dynamic-import.js +142 -0
  153. package/dist/resolver/dynamic-import.js.map +1 -0
  154. package/dist/resolver/dynamic-import.test.d.ts +2 -0
  155. package/dist/resolver/dynamic-import.test.d.ts.map +1 -0
  156. package/dist/resolver/dynamic-import.test.js +150 -0
  157. package/dist/resolver/dynamic-import.test.js.map +1 -0
  158. package/dist/resolver/import-resolution.d.ts +2 -0
  159. package/dist/resolver/import-resolution.d.ts.map +1 -1
  160. package/dist/resolver/import-resolution.js +20 -3
  161. package/dist/resolver/import-resolution.js.map +1 -1
  162. package/dist/resolver/source-package-resolution.d.ts +11 -0
  163. package/dist/resolver/source-package-resolution.d.ts.map +1 -0
  164. package/dist/resolver/source-package-resolution.js +188 -0
  165. package/dist/resolver/source-package-resolution.js.map +1 -0
  166. package/dist/resolver/source-package-resolution.test.d.ts +2 -0
  167. package/dist/resolver/source-package-resolution.test.d.ts.map +1 -0
  168. package/dist/resolver/source-package-resolution.test.js +77 -0
  169. package/dist/resolver/source-package-resolution.test.js.map +1 -0
  170. package/dist/resolver/types.d.ts +1 -0
  171. package/dist/resolver/types.d.ts.map +1 -1
  172. package/dist/resolver.test.js +83 -0
  173. package/dist/resolver.test.js.map +1 -1
  174. package/dist/surface/profiles.d.ts +2 -0
  175. package/dist/surface/profiles.d.ts.map +1 -1
  176. package/dist/surface/profiles.js +15 -9
  177. package/dist/surface/profiles.js.map +1 -1
  178. package/dist/surface/profiles.test.js +63 -26
  179. package/dist/surface/profiles.test.js.map +1 -1
  180. package/dist/types/module.d.ts +1 -1
  181. package/dist/types/module.d.ts.map +1 -1
  182. package/dist/validation/features.d.ts +1 -1
  183. package/dist/validation/features.d.ts.map +1 -1
  184. package/dist/validation/features.js +37 -6
  185. package/dist/validation/features.js.map +1 -1
  186. package/dist/validation/features.test.js +137 -23
  187. package/dist/validation/features.test.js.map +1 -1
  188. package/dist/validation/imports.d.ts.map +1 -1
  189. package/dist/validation/imports.js +2 -8
  190. package/dist/validation/imports.js.map +1 -1
  191. package/dist/validation/imports.test.js +13 -16
  192. package/dist/validation/imports.test.js.map +1 -1
  193. package/dist/validation/static-safety.d.ts.map +1 -1
  194. package/dist/validation/static-safety.js +118 -67
  195. package/dist/validation/static-safety.js.map +1 -1
  196. package/dist/validator.maximus.test.js +225 -33
  197. package/dist/validator.maximus.test.js.map +1 -1
  198. package/dist/validator.test.js +87 -6
  199. package/dist/validator.test.js.map +1 -1
  200. package/package.json +1 -1
@@ -99,6 +99,89 @@ describe("Module Resolver", () => {
99
99
  expect(result.error.message).to.include("Unsupported module import");
100
100
  }
101
101
  });
102
+ it("should resolve installed tsonic source packages", () => {
103
+ const packageRoot = path.join(tempDir, "node_modules", "@acme", "math");
104
+ fs.mkdirSync(path.join(packageRoot, "tsonic"), { recursive: true });
105
+ fs.mkdirSync(path.join(packageRoot, "src"), { recursive: true });
106
+ fs.writeFileSync(path.join(packageRoot, "package.json"), JSON.stringify({ name: "@acme/math", version: "1.0.0", type: "module" }, null, 2));
107
+ fs.writeFileSync(path.join(packageRoot, "tsonic", "package-manifest.json"), JSON.stringify({
108
+ schemaVersion: 1,
109
+ kind: "tsonic-source-package",
110
+ surfaces: ["@tsonic/js"],
111
+ source: {
112
+ exports: {
113
+ ".": "./src/index.ts",
114
+ },
115
+ },
116
+ }, null, 2));
117
+ fs.writeFileSync(path.join(packageRoot, "src", "index.ts"), "export const clamp = (x: number): number => x;\n");
118
+ const result = resolveImport("@acme/math", path.join(tempDir, "src", "index.ts"), sourceRoot, { projectRoot: tempDir, surface: "@tsonic/js" });
119
+ expect(result.ok).to.equal(true);
120
+ if (result.ok) {
121
+ expect(result.value.isLocal).to.equal(true);
122
+ expect(result.value.isSourcePackage).to.equal(true);
123
+ expect(result.value.resolvedPath).to.equal(path.join(packageRoot, "src", "index.ts"));
124
+ }
125
+ });
126
+ it("should reject source packages on incompatible surfaces", () => {
127
+ const packageRoot = path.join(tempDir, "node_modules", "@acme", "math");
128
+ fs.mkdirSync(path.join(packageRoot, "tsonic"), { recursive: true });
129
+ fs.mkdirSync(path.join(packageRoot, "src"), { recursive: true });
130
+ fs.writeFileSync(path.join(packageRoot, "package.json"), JSON.stringify({ name: "@acme/math", version: "1.0.0", type: "module" }, null, 2));
131
+ fs.writeFileSync(path.join(packageRoot, "tsonic", "package-manifest.json"), JSON.stringify({
132
+ schemaVersion: 1,
133
+ kind: "tsonic-source-package",
134
+ surfaces: ["clr"],
135
+ source: {
136
+ exports: {
137
+ ".": "./src/index.ts",
138
+ },
139
+ },
140
+ }, null, 2));
141
+ fs.writeFileSync(path.join(packageRoot, "src", "index.ts"), "export const clamp = (x: number): number => x;\n");
142
+ const result = resolveImport("@acme/math", path.join(tempDir, "src", "index.ts"), sourceRoot, { projectRoot: tempDir, surface: "@tsonic/js" });
143
+ expect(result.ok).to.equal(false);
144
+ if (!result.ok) {
145
+ expect(result.error.message).to.include("not compatible with surface");
146
+ }
147
+ });
148
+ it("should allow source packages on compatible parent surfaces", () => {
149
+ const jsSurfaceRoot = path.join(tempDir, "node_modules", "@tsonic", "js");
150
+ fs.mkdirSync(jsSurfaceRoot, { recursive: true });
151
+ fs.writeFileSync(path.join(jsSurfaceRoot, "package.json"), JSON.stringify({ name: "@tsonic/js", version: "1.0.0", type: "module" }, null, 2));
152
+ fs.writeFileSync(path.join(jsSurfaceRoot, "tsonic.surface.json"), JSON.stringify({
153
+ schemaVersion: 1,
154
+ id: "@tsonic/js",
155
+ extends: [],
156
+ requiredTypeRoots: ["."],
157
+ }, null, 2));
158
+ const customSurfaceRoot = path.join(tempDir, "node_modules", "@acme", "surface-node");
159
+ fs.mkdirSync(customSurfaceRoot, { recursive: true });
160
+ fs.writeFileSync(path.join(customSurfaceRoot, "package.json"), JSON.stringify({ name: "@acme/surface-node", version: "1.0.0", type: "module" }, null, 2));
161
+ fs.writeFileSync(path.join(customSurfaceRoot, "tsonic.surface.json"), JSON.stringify({
162
+ schemaVersion: 1,
163
+ id: "@acme/surface-node",
164
+ extends: ["@tsonic/js"],
165
+ requiredTypeRoots: ["."],
166
+ }, null, 2));
167
+ const packageRoot = path.join(tempDir, "node_modules", "@acme", "math");
168
+ fs.mkdirSync(path.join(packageRoot, "tsonic"), { recursive: true });
169
+ fs.mkdirSync(path.join(packageRoot, "src"), { recursive: true });
170
+ fs.writeFileSync(path.join(packageRoot, "package.json"), JSON.stringify({ name: "@acme/math", version: "1.0.0", type: "module" }, null, 2));
171
+ fs.writeFileSync(path.join(packageRoot, "tsonic", "package-manifest.json"), JSON.stringify({
172
+ schemaVersion: 1,
173
+ kind: "tsonic-source-package",
174
+ surfaces: ["@tsonic/js"],
175
+ source: {
176
+ exports: {
177
+ ".": "./src/index.ts",
178
+ },
179
+ },
180
+ }, null, 2));
181
+ fs.writeFileSync(path.join(packageRoot, "src", "index.ts"), "export const clamp = (x: number): number => x;\n");
182
+ const result = resolveImport("@acme/math", path.join(tempDir, "src", "index.ts"), sourceRoot, { projectRoot: tempDir, surface: "@acme/surface-node" });
183
+ expect(result.ok).to.equal(true);
184
+ });
102
185
  it("should error on non-existent local files", () => {
103
186
  const result = resolveImport("./nonexistent.ts", path.join(tempDir, "src", "index.ts"), sourceRoot);
104
187
  expect(result.ok).to.equal(false);
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.test.js","sourceRoot":"","sources":["../src/resolver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.test.js","sourceRoot":"","sources":["../src/resolver.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { SurfaceMode } from "../program/types.js";
2
2
  export type SurfaceCapabilities = {
3
3
  readonly mode: SurfaceMode;
4
4
  readonly includesClr: boolean;
5
+ readonly resolvedModes: readonly SurfaceMode[];
5
6
  readonly requiredTypeRoots: readonly string[];
6
7
  readonly useStandardLib: boolean;
7
8
  };
@@ -9,5 +10,6 @@ type ResolveSurfaceOptions = {
9
10
  readonly projectRoot?: string;
10
11
  };
11
12
  export declare const resolveSurfaceCapabilities: (mode: SurfaceMode | undefined, options?: ResolveSurfaceOptions) => SurfaceCapabilities;
13
+ export declare const hasResolvedSurfaceProfile: (mode: SurfaceMode | undefined, options?: ResolveSurfaceOptions) => boolean;
12
14
  export {};
13
15
  //# sourceMappingURL=profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/surface/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAavD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,CAAC;AAUF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAqQF,eAAO,MAAM,0BAA0B,GACrC,MAAM,WAAW,GAAG,SAAS,EAC7B,UAAS,qBAA0B,KAClC,mBAWF,CAAC"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/surface/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAavD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,CAAC;AAUF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAgQF,eAAO,MAAM,0BAA0B,GACrC,MAAM,WAAW,GAAG,SAAS,EAC7B,UAAS,qBAA0B,KAClC,mBAYF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,MAAM,WAAW,GAAG,SAAS,EAC7B,UAAS,qBAA0B,KAClC,OAOF,CAAC"}
@@ -88,9 +88,6 @@ const getSurfacePackageName = (mode) => {
88
88
  return undefined;
89
89
  return trimmed;
90
90
  };
91
- const getDefaultSurfacePackageName = (mode) => {
92
- return getSurfacePackageName(mode);
93
- };
94
91
  const resolveSurfacePackage = (mode, projectRoot) => {
95
92
  const req = createRequire(join(projectRoot, "package.json"));
96
93
  const packageName = getSurfacePackageName(mode);
@@ -103,7 +100,11 @@ const resolveSurfacePackage = (mode, projectRoot) => {
103
100
  if (existsSync(join(installed.packageRoot, "tsonic.surface.json"))) {
104
101
  return installed;
105
102
  }
106
- return sibling ?? installed;
103
+ if (sibling &&
104
+ existsSync(join(sibling.packageRoot, "tsonic.surface.json"))) {
105
+ return sibling;
106
+ }
107
+ return installed;
107
108
  }
108
109
  catch {
109
110
  if (sibling)
@@ -174,14 +175,10 @@ const getSurfaceProfile = (mode, options) => {
174
175
  if (isBuiltInSurfaceMode(mode)) {
175
176
  return BUILTIN_SURFACE_PROFILES[mode];
176
177
  }
177
- const fallbackPackage = getDefaultSurfacePackageName(mode);
178
- const fallbackTypeRoot = fallbackPackage
179
- ? `node_modules/${fallbackPackage}`
180
- : `node_modules/${mode}`;
181
178
  return {
182
179
  mode,
183
180
  extends: [],
184
- requiredTypeRoots: [fallbackTypeRoot],
181
+ requiredTypeRoots: [],
185
182
  useStandardLib: false,
186
183
  };
187
184
  };
@@ -207,8 +204,17 @@ export const resolveSurfaceCapabilities = (mode, options = {}) => {
207
204
  return {
208
205
  mode: normalizedMode,
209
206
  includesClr: chain.some((profile) => profile.mode === "clr"),
207
+ resolvedModes: chain.map((profile) => profile.mode),
210
208
  requiredTypeRoots: mergeUnique(chain.map((profile) => profile.requiredTypeRoots)),
211
209
  useStandardLib: chain.some((profile) => profile.useStandardLib),
212
210
  };
213
211
  };
212
+ export const hasResolvedSurfaceProfile = (mode, options = {}) => {
213
+ const normalizedMode = normalizeSurfaceMode(mode);
214
+ if (BUILTIN_SURFACE_MODE_SET.has(normalizedMode))
215
+ return true;
216
+ if (!options.projectRoot)
217
+ return false;
218
+ return (loadCustomSurfaceProfile(normalizedMode, options.projectRoot) !== undefined);
219
+ };
214
220
  //# sourceMappingURL=profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/surface/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/surface/profiles.ts"],"names":[],"mappings":"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"}
@@ -3,30 +3,17 @@ import { describe, it } from "mocha";
3
3
  import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
4
4
  import { tmpdir } from "node:os";
5
5
  import { join, resolve } from "node:path";
6
- import { resolveSurfaceCapabilities } from "./profiles.js";
6
+ import { hasResolvedSurfaceProfile, resolveSurfaceCapabilities, } from "./profiles.js";
7
7
  describe("Frontend Surface Profiles", () => {
8
8
  it("should resolve clr capabilities", () => {
9
9
  const caps = resolveSurfaceCapabilities("clr");
10
10
  expect(caps.includesClr).to.equal(true);
11
+ expect(caps.resolvedModes).to.deep.equal(["clr"]);
11
12
  expect(caps.requiredTypeRoots).to.deep.equal([
12
13
  "node_modules/@tsonic/globals",
13
14
  ]);
14
15
  expect(caps.useStandardLib).to.equal(false);
15
16
  });
16
- it("should resolve js capabilities", () => {
17
- const caps = resolveSurfaceCapabilities("@tsonic/js");
18
- expect(caps.includesClr).to.equal(false);
19
- expect(caps.requiredTypeRoots).to.deep.equal(["node_modules/@tsonic/js"]);
20
- expect(caps.useStandardLib).to.equal(false);
21
- });
22
- it("should resolve nodejs capabilities via package fallback type roots", () => {
23
- const caps = resolveSurfaceCapabilities("@tsonic/nodejs");
24
- expect(caps.includesClr).to.equal(false);
25
- expect(caps.requiredTypeRoots).to.deep.equal([
26
- "node_modules/@tsonic/nodejs",
27
- ]);
28
- expect(caps.useStandardLib).to.equal(false);
29
- });
30
17
  it("should default to clr when mode is undefined", () => {
31
18
  const caps = resolveSurfaceCapabilities(undefined);
32
19
  expect(caps.mode).to.equal("clr");
@@ -35,13 +22,11 @@ describe("Frontend Surface Profiles", () => {
35
22
  "node_modules/@tsonic/globals",
36
23
  ]);
37
24
  });
38
- it("should support custom surfaces with fallback capabilities", () => {
25
+ it("should leave unresolved custom surfaces empty until a manifest is installed", () => {
39
26
  const caps = resolveSurfaceCapabilities("@acme/surface-web");
40
27
  expect(caps.mode).to.equal("@acme/surface-web");
41
28
  expect(caps.includesClr).to.equal(false);
42
- expect(caps.requiredTypeRoots).to.deep.equal([
43
- "node_modules/@acme/surface-web",
44
- ]);
29
+ expect(caps.requiredTypeRoots).to.deep.equal([]);
45
30
  expect(caps.useStandardLib).to.equal(false);
46
31
  });
47
32
  it("should load custom surface manifest from installed package", () => {
@@ -72,6 +57,10 @@ describe("Frontend Surface Profiles", () => {
72
57
  projectRoot,
73
58
  });
74
59
  expect(caps.mode).to.equal("@acme/surface-web");
60
+ expect(caps.resolvedModes).to.deep.equal([
61
+ "@tsonic/js",
62
+ "@acme/surface-web",
63
+ ]);
75
64
  expect(caps.includesClr).to.equal(false);
76
65
  expect(caps.requiredTypeRoots).to.not.include("node_modules/@tsonic/dotnet");
77
66
  expect(caps.requiredTypeRoots).to.include(resolve(packageRoot, "types"));
@@ -83,8 +72,8 @@ describe("Frontend Surface Profiles", () => {
83
72
  rmSync(projectRoot, { recursive: true, force: true });
84
73
  }
85
74
  });
86
- it("should resolve nodejs -> js chain from package manifests", () => {
87
- const projectRoot = mkdtempSync(join(tmpdir(), "tsonic-frontend-nodejs-"));
75
+ it("should resolve js capabilities only when a surface manifest exists", () => {
76
+ const projectRoot = mkdtempSync(join(tmpdir(), "tsonic-frontend-js-"));
88
77
  try {
89
78
  writeFileSync(join(projectRoot, "package.json"), JSON.stringify({ name: "app", private: true, type: "module" }, null, 2));
90
79
  const jsRoot = join(projectRoot, "node_modules", "@tsonic", "js");
@@ -97,24 +86,72 @@ describe("Frontend Surface Profiles", () => {
97
86
  requiredTypeRoots: ["types"],
98
87
  useStandardLib: false,
99
88
  }, null, 2));
89
+ const caps = resolveSurfaceCapabilities("@tsonic/js", { projectRoot });
90
+ expect(caps.includesClr).to.equal(false);
91
+ expect(caps.resolvedModes).to.deep.equal(["@tsonic/js"]);
92
+ expect(caps.requiredTypeRoots).to.deep.equal([resolve(jsRoot, "types")]);
93
+ expect(caps.useStandardLib).to.equal(false);
94
+ expect(hasResolvedSurfaceProfile("@tsonic/js", { projectRoot })).to.equal(true);
95
+ }
96
+ finally {
97
+ rmSync(projectRoot, { recursive: true, force: true });
98
+ }
99
+ });
100
+ it("should not treat installed regular packages as surfaces without manifest", () => {
101
+ const projectRoot = mkdtempSync(join(tmpdir(), "tsonic-frontend-nodejs-"));
102
+ try {
103
+ writeFileSync(join(projectRoot, "package.json"), JSON.stringify({ name: "app", private: true, type: "module" }, null, 2));
100
104
  const nodejsRoot = join(projectRoot, "node_modules", "@tsonic", "nodejs");
101
105
  mkdirSync(nodejsRoot, { recursive: true });
102
106
  writeFileSync(join(nodejsRoot, "package.json"), JSON.stringify({ name: "@tsonic/nodejs", version: "1.0.0", type: "module" }, null, 2));
103
- writeFileSync(join(nodejsRoot, "tsonic.surface.json"), JSON.stringify({
107
+ const caps = resolveSurfaceCapabilities("@tsonic/nodejs", {
108
+ projectRoot,
109
+ });
110
+ expect(caps.includesClr).to.equal(false);
111
+ expect(caps.requiredTypeRoots).to.deep.equal([]);
112
+ expect(caps.useStandardLib).to.equal(false);
113
+ expect(hasResolvedSurfaceProfile("@tsonic/nodejs", { projectRoot })).to.equal(false);
114
+ }
115
+ finally {
116
+ rmSync(projectRoot, { recursive: true, force: true });
117
+ }
118
+ });
119
+ it("should resolve custom surface -> js chain from package manifests", () => {
120
+ const projectRoot = mkdtempSync(join(tmpdir(), "tsonic-frontend-custom-"));
121
+ try {
122
+ writeFileSync(join(projectRoot, "package.json"), JSON.stringify({ name: "app", private: true, type: "module" }, null, 2));
123
+ const jsRoot = join(projectRoot, "node_modules", "@tsonic", "js");
124
+ mkdirSync(jsRoot, { recursive: true });
125
+ writeFileSync(join(jsRoot, "package.json"), JSON.stringify({ name: "@tsonic/js", version: "1.0.0", type: "module" }, null, 2));
126
+ writeFileSync(join(jsRoot, "tsonic.surface.json"), JSON.stringify({
104
127
  schemaVersion: 1,
105
- id: "@tsonic/nodejs",
128
+ id: "@tsonic/js",
129
+ extends: [],
130
+ requiredTypeRoots: ["types"],
131
+ useStandardLib: false,
132
+ }, null, 2));
133
+ const customRoot = join(projectRoot, "node_modules", "@acme", "surface-node");
134
+ mkdirSync(customRoot, { recursive: true });
135
+ writeFileSync(join(customRoot, "package.json"), JSON.stringify({ name: "@acme/surface-node", version: "1.0.0", type: "module" }, null, 2));
136
+ writeFileSync(join(customRoot, "tsonic.surface.json"), JSON.stringify({
137
+ schemaVersion: 1,
138
+ id: "@acme/surface-node",
106
139
  extends: ["@tsonic/js"],
107
140
  requiredTypeRoots: ["types"],
108
141
  useStandardLib: false,
109
142
  }, null, 2));
110
- const caps = resolveSurfaceCapabilities("@tsonic/nodejs", {
143
+ const caps = resolveSurfaceCapabilities("@acme/surface-node", {
111
144
  projectRoot,
112
145
  });
113
146
  expect(caps.includesClr).to.equal(false);
147
+ expect(caps.resolvedModes).to.deep.equal([
148
+ "@tsonic/js",
149
+ "@acme/surface-node",
150
+ ]);
114
151
  expect(caps.requiredTypeRoots.some((root) => root === resolve(jsRoot, "types") ||
115
152
  /[/\\]js[/\\]versions[/\\]\d+$/.test(root))).to.equal(true);
116
- expect(caps.requiredTypeRoots.some((root) => root === resolve(nodejsRoot, "types") ||
117
- /[/\\]nodejs[/\\]versions[/\\]\d+$/.test(root))).to.equal(true);
153
+ expect(caps.requiredTypeRoots.some((root) => root === resolve(customRoot, "types") ||
154
+ /[/\\]surface-node[/\\]types$/.test(root))).to.equal(true);
118
155
  expect(caps.useStandardLib).to.equal(false);
119
156
  }
120
157
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.test.js","sourceRoot":"","sources":["../../src/surface/profiles.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.test.js","sourceRoot":"","sources":["../../src/surface/profiles.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Module representation types for Tsonic compiler
3
3
  */
4
- export type ImportKind = "local" | "clr" | "node_module";
4
+ export type ImportKind = "local" | "clr" | "node_module" | "source_package";
5
5
  export type Import = {
6
6
  readonly kind: ImportKind;
7
7
  readonly specifier: string;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/types/module.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;AAEzD,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,MAAM,GACd;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAAC;AAEN,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,UAAS,SAAS,MAAM,EAAO,EAC/B,UAAS,SAAS,MAAM,EAAO,EAC/B,kBAAiB,OAAe,EAChC,YAAY,MAAM,EAClB,YAAY,MAAM,KACjB,UAQD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,WAAW,CAAC,MAAM,EAAE,UAAU,CAAa,EACpD,eAAc,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAa,EAChE,aAAY,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAa,EAC9D,cAAa,SAAS,MAAM,EAAO,KAClC,WAKD,CAAC;AAEH,eAAO,MAAM,SAAS,GACpB,OAAO,WAAW,EAClB,QAAQ,UAAU,KACjB,WAQF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,KAAG,OACO,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/types/module.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE5E,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,MAAM,GACd;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAAC;AAEN,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,UAAS,SAAS,MAAM,EAAO,EAC/B,UAAS,SAAS,MAAM,EAAO,EAC/B,kBAAiB,OAAe,EAChC,YAAY,MAAM,EAClB,YAAY,MAAM,KACjB,UAQD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,WAAW,CAAC,MAAM,EAAE,UAAU,CAAa,EACpD,eAAc,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAa,EAChE,aAAY,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAa,EAC9D,cAAa,SAAS,MAAM,EAAO,KAClC,WAKD,CAAC;AAEH,eAAO,MAAM,SAAS,GACpB,OAAO,WAAW,EAClB,QAAQ,UAAU,KACjB,WAQF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,KAAG,OACO,CAAC"}
@@ -7,5 +7,5 @@ import { DiagnosticsCollector } from "../types/diagnostic.js";
7
7
  /**
8
8
  * Validate that unsupported features are not used
9
9
  */
10
- export declare const validateUnsupportedFeatures: (sourceFile: ts.SourceFile, _program: TsonicProgram, collector: DiagnosticsCollector) => DiagnosticsCollector;
10
+ export declare const validateUnsupportedFeatures: (sourceFile: ts.SourceFile, program: TsonicProgram, collector: DiagnosticsCollector) => DiagnosticsCollector;
11
11
  //# sourceMappingURL=features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/validation/features.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,oBAAoB,EAGrB,MAAM,wBAAwB,CAAC;AAwBhC;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,YAAY,EAAE,CAAC,UAAU,EACzB,UAAU,aAAa,EACvB,WAAW,oBAAoB,KAC9B,oBA6CF,CAAC"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/validation/features.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,OAAO,EACL,oBAAoB,EAGrB,MAAM,wBAAwB,CAAC;AAwBhC;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,YAAY,EAAE,CAAC,UAAU,EACzB,SAAS,aAAa,EACtB,WAAW,oBAAoB,KAC9B,oBA4FF,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Unsupported feature validation
3
3
  */
4
4
  import * as ts from "typescript";
5
+ import { getDynamicImportLiteralSpecifier, isClosedWorldDynamicImportSpecifier, isSideEffectOnlyDynamicImport, resolveDynamicImportNamespace, } from "../resolver/dynamic-import.js";
5
6
  import { addDiagnostic, createDiagnostic, } from "../types/diagnostic.js";
6
7
  import { getNodeLocation } from "./helpers.js";
7
8
  const SUPPORTED_IMPORT_META_FIELDS = new Set(["url", "filename", "dirname"]);
@@ -11,15 +12,41 @@ const isSupportedImportMetaUsage = (node) => {
11
12
  return false;
12
13
  }
13
14
  const parent = node.parent;
14
- return (ts.isPropertyAccessExpression(parent) &&
15
- parent.expression === node &&
16
- SUPPORTED_IMPORT_META_FIELDS.has(parent.name.text));
15
+ if (ts.isPropertyAccessExpression(parent) && parent.expression === node) {
16
+ return SUPPORTED_IMPORT_META_FIELDS.has(parent.name.text);
17
+ }
18
+ return !ts.isElementAccessExpression(parent);
17
19
  };
18
20
  const isDynamicImportCall = (node) => node.expression.kind === ts.SyntaxKind.ImportKeyword;
19
21
  /**
20
22
  * Validate that unsupported features are not used
21
23
  */
22
- export const validateUnsupportedFeatures = (sourceFile, _program, collector) => {
24
+ export const validateUnsupportedFeatures = (sourceFile, program, collector) => {
25
+ const sourceFilesByPath = new Map(program.sourceFiles.map((currentSourceFile) => [
26
+ currentSourceFile.fileName.replace(/\\/g, "/"),
27
+ currentSourceFile,
28
+ ]));
29
+ const getDynamicImportSupportFailure = (node) => {
30
+ const specifier = getDynamicImportLiteralSpecifier(node);
31
+ if (!specifier) {
32
+ return "Dynamic import() is only supported for string-literal specifiers.";
33
+ }
34
+ if (!isClosedWorldDynamicImportSpecifier(specifier)) {
35
+ return "Dynamic import() is only supported for closed-world local specifiers ('./' or '../').";
36
+ }
37
+ if (isSideEffectOnlyDynamicImport(node)) {
38
+ return undefined;
39
+ }
40
+ if (ts.isExpressionStatement(node.parent)) {
41
+ return 'Dynamic import() in bare side-effect position must be written as `await import("./local-module.js")`.';
42
+ }
43
+ const resolution = resolveDynamicImportNamespace(node, sourceFile.fileName, {
44
+ checker: program.checker,
45
+ compilerOptions: program.program.getCompilerOptions(),
46
+ sourceFilesByPath,
47
+ });
48
+ return resolution.ok ? undefined : resolution.reason;
49
+ };
23
50
  const visitor = (node) => {
24
51
  // Check for features we don't support yet
25
52
  if (ts.isWithStatement(node)) {
@@ -28,8 +55,12 @@ export const validateUnsupportedFeatures = (sourceFile, _program, collector) =>
28
55
  if (ts.isMetaProperty(node) && !isSupportedImportMetaUsage(node)) {
29
56
  collector = addDiagnostic(collector, createDiagnostic("TSN2001", "error", "Meta properties (import.meta) not supported in this form", getNodeLocation(sourceFile, node)));
30
57
  }
31
- if (ts.isCallExpression(node) && isDynamicImportCall(node)) {
32
- collector = addDiagnostic(collector, createDiagnostic("TSN2001", "error", "Dynamic import() is not supported in strict AOT mode", getNodeLocation(sourceFile, node), "Use static import declarations."));
58
+ if (ts.isCallExpression(node) &&
59
+ isDynamicImportCall(node) &&
60
+ getDynamicImportSupportFailure(node) !== undefined) {
61
+ const message = getDynamicImportSupportFailure(node) ??
62
+ "Dynamic import() is only supported for deterministic closed-world local modules.";
63
+ collector = addDiagnostic(collector, createDiagnostic("TSN2001", "error", message, getNodeLocation(sourceFile, node), "Use static import declarations, or restrict dynamic import() to deterministic closed-world local modules."));
33
64
  }
34
65
  ts.forEachChild(node, visitor);
35
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/validation/features.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAEL,aAAa,EACb,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAE7E,MAAM,0BAA0B,GAAG,CAAC,IAAqB,EAAW,EAAE;IACpE,IACE,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,OAAO,CACL,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;QACrC,MAAM,CAAC,UAAU,KAAK,IAAI;QAC1B,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAuB,EAAW,EAAE,CAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,UAAyB,EACzB,QAAuB,EACvB,SAA+B,EACT,EAAE;IACxB,MAAM,OAAO,GAAG,CAAC,IAAa,EAAQ,EAAE;QACtC,0CAA0C;QAC1C,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,aAAa,CACvB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,sDAAsD,EACtD,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAClC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,SAAS,GAAG,aAAa,CACvB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,0DAA0D,EAC1D,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAClC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,SAAS,GAAG,aAAa,CACvB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,sDAAsD,EACtD,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACjC,iCAAiC,CAClC,CACF,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,CAAC;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/validation/features.ts"],"names":[],"mappings":"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"}