modality-ts 0.0.10 → 0.0.11

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/README.md +3 -1
  2. package/dist/check/diagnostics/bounds.d.ts +2 -1
  3. package/dist/check/diagnostics/bounds.d.ts.map +1 -1
  4. package/dist/check/diagnostics/bounds.js +3 -3
  5. package/dist/check/diagnostics/bounds.js.map +1 -1
  6. package/dist/check/engine/check-model.d.ts +3 -0
  7. package/dist/check/engine/check-model.d.ts.map +1 -1
  8. package/dist/check/engine/check-model.js +408 -43
  9. package/dist/check/engine/check-model.js.map +1 -1
  10. package/dist/check/engine/model-api.d.ts.map +1 -1
  11. package/dist/check/engine/model-api.js +5 -3
  12. package/dist/check/engine/model-api.js.map +1 -1
  13. package/dist/check/engine/stabilize.d.ts +2 -1
  14. package/dist/check/engine/stabilize.d.ts.map +1 -1
  15. package/dist/check/engine/stabilize.js +31 -9
  16. package/dist/check/engine/stabilize.js.map +1 -1
  17. package/dist/check/engine/state-utils.d.ts +3 -2
  18. package/dist/check/engine/state-utils.d.ts.map +1 -1
  19. package/dist/check/engine/state-utils.js +20 -7
  20. package/dist/check/engine/state-utils.js.map +1 -1
  21. package/dist/check/engine/transitions.d.ts +9 -1
  22. package/dist/check/engine/transitions.d.ts.map +1 -1
  23. package/dist/check/engine/transitions.js +32 -5
  24. package/dist/check/engine/transitions.js.map +1 -1
  25. package/dist/check/index.d.ts +1 -1
  26. package/dist/check/index.d.ts.map +1 -1
  27. package/dist/check/index.js.map +1 -1
  28. package/dist/check/properties/finalize.d.ts +4 -3
  29. package/dist/check/properties/finalize.d.ts.map +1 -1
  30. package/dist/check/properties/finalize.js +45 -9
  31. package/dist/check/properties/finalize.js.map +1 -1
  32. package/dist/check/properties/leads-to.d.ts.map +1 -1
  33. package/dist/check/properties/leads-to.js +4 -3
  34. package/dist/check/properties/leads-to.js.map +1 -1
  35. package/dist/check/properties/observe.d.ts +4 -3
  36. package/dist/check/properties/observe.d.ts.map +1 -1
  37. package/dist/check/properties/observe.js +5 -5
  38. package/dist/check/properties/observe.js.map +1 -1
  39. package/dist/check/properties/reachable-from.d.ts +4 -2
  40. package/dist/check/properties/reachable-from.d.ts.map +1 -1
  41. package/dist/check/properties/reachable-from.js +2 -2
  42. package/dist/check/properties/reachable-from.js.map +1 -1
  43. package/dist/check/slicing/slice-model.d.ts +1 -0
  44. package/dist/check/slicing/slice-model.d.ts.map +1 -1
  45. package/dist/check/slicing/slice-model.js +38 -12
  46. package/dist/check/slicing/slice-model.js.map +1 -1
  47. package/dist/check/traces/trace.d.ts +7 -2
  48. package/dist/check/traces/trace.d.ts.map +1 -1
  49. package/dist/check/traces/trace.js +9 -4
  50. package/dist/check/traces/trace.js.map +1 -1
  51. package/dist/check/types.d.ts +83 -3
  52. package/dist/check/types.d.ts.map +1 -1
  53. package/dist/cli/cli.js +76 -4
  54. package/dist/cli/cli.js.map +1 -1
  55. package/dist/cli/features/check/command.d.ts +6 -0
  56. package/dist/cli/features/check/command.d.ts.map +1 -1
  57. package/dist/cli/features/check/command.js +74 -1
  58. package/dist/cli/features/check/command.js.map +1 -1
  59. package/dist/cli/features/conform/command.d.ts.map +1 -1
  60. package/dist/cli/features/conform/command.js +3 -1
  61. package/dist/cli/features/conform/command.js.map +1 -1
  62. package/dist/cli/features/export/command.js +12 -4
  63. package/dist/cli/features/export/command.js.map +1 -1
  64. package/dist/cli/features/extract/command.d.ts.map +1 -1
  65. package/dist/cli/features/extract/command.js +302 -92
  66. package/dist/cli/features/extract/command.js.map +1 -1
  67. package/dist/cli/features/init/command.js +1 -1
  68. package/dist/cli/features/init/command.js.map +1 -1
  69. package/dist/cli/harness/index.d.ts.map +1 -1
  70. package/dist/cli/harness/index.js +17 -4
  71. package/dist/cli/harness/index.js.map +1 -1
  72. package/dist/cli/registry/index.d.ts +4 -4
  73. package/dist/cli/registry/index.d.ts.map +1 -1
  74. package/dist/cli/registry/index.js +6 -4
  75. package/dist/cli/registry/index.js.map +1 -1
  76. package/dist/core/ir/domains.d.ts +2 -0
  77. package/dist/core/ir/domains.d.ts.map +1 -1
  78. package/dist/core/ir/domains.js +71 -0
  79. package/dist/core/ir/domains.js.map +1 -1
  80. package/dist/core/ir/validator.d.ts +4 -1
  81. package/dist/core/ir/validator.d.ts.map +1 -1
  82. package/dist/core/ir/validator.js +45 -12
  83. package/dist/core/ir/validator.js.map +1 -1
  84. package/dist/core/props/index.d.ts.map +1 -1
  85. package/dist/core/props/index.js.map +1 -1
  86. package/dist/core/report/types.d.ts +68 -0
  87. package/dist/core/report/types.d.ts.map +1 -1
  88. package/dist/extract/engine/pipeline/index.d.ts +3 -1
  89. package/dist/extract/engine/pipeline/index.d.ts.map +1 -1
  90. package/dist/extract/engine/pipeline/index.js +10 -23
  91. package/dist/extract/engine/pipeline/index.js.map +1 -1
  92. package/dist/extract/engine/spi/index.d.ts +38 -7
  93. package/dist/extract/engine/spi/index.d.ts.map +1 -1
  94. package/dist/extract/engine/spi/index.js +1 -1
  95. package/dist/extract/engine/spi/index.js.map +1 -1
  96. package/dist/extract/engine/ts/domains.d.ts +1 -1
  97. package/dist/extract/engine/ts/domains.d.ts.map +1 -1
  98. package/dist/extract/engine/ts/domains.js +25 -17
  99. package/dist/extract/engine/ts/domains.js.map +1 -1
  100. package/dist/extract/engine/ts/react-source-transitions.d.ts +2 -1
  101. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
  102. package/dist/extract/engine/ts/react-source-transitions.js +17 -7
  103. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
  104. package/dist/extract/engine/ts/routes.d.ts +2 -2
  105. package/dist/extract/engine/ts/routes.d.ts.map +1 -1
  106. package/dist/extract/engine/ts/routes.js +5 -24
  107. package/dist/extract/engine/ts/routes.js.map +1 -1
  108. package/dist/extract/engine/ts/static-navigation.d.ts +2 -1
  109. package/dist/extract/engine/ts/static-navigation.d.ts.map +1 -1
  110. package/dist/extract/engine/ts/static-navigation.js +30 -20
  111. package/dist/extract/engine/ts/static-navigation.js.map +1 -1
  112. package/dist/extract/engine/ts/transition/async.d.ts +2 -10
  113. package/dist/extract/engine/ts/transition/async.d.ts.map +1 -1
  114. package/dist/extract/engine/ts/transition/async.js +30 -61
  115. package/dist/extract/engine/ts/transition/async.js.map +1 -1
  116. package/dist/extract/engine/ts/transition/effects.d.ts.map +1 -1
  117. package/dist/extract/engine/ts/transition/effects.js +7 -4
  118. package/dist/extract/engine/ts/transition/effects.js.map +1 -1
  119. package/dist/extract/engine/ts/transition/expressions.d.ts.map +1 -1
  120. package/dist/extract/engine/ts/transition/expressions.js +3 -1
  121. package/dist/extract/engine/ts/transition/expressions.js.map +1 -1
  122. package/dist/extract/engine/ts/transition/guards.d.ts.map +1 -1
  123. package/dist/extract/engine/ts/transition/guards.js +1 -1
  124. package/dist/extract/engine/ts/transition/guards.js.map +1 -1
  125. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
  126. package/dist/extract/engine/ts/transition/handlers.js +7 -5
  127. package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
  128. package/dist/extract/engine/ts/transition/locals.d.ts.map +1 -1
  129. package/dist/extract/engine/ts/transition/locals.js +2 -1
  130. package/dist/extract/engine/ts/transition/locals.js.map +1 -1
  131. package/dist/extract/engine/ts/transition/navigation.d.ts +7 -5
  132. package/dist/extract/engine/ts/transition/navigation.d.ts.map +1 -1
  133. package/dist/extract/engine/ts/transition/navigation.js +85 -41
  134. package/dist/extract/engine/ts/transition/navigation.js.map +1 -1
  135. package/dist/extract/engine/ts/transition/plugin-calls.d.ts.map +1 -1
  136. package/dist/extract/engine/ts/transition/plugin-calls.js +1 -1
  137. package/dist/extract/engine/ts/transition/plugin-calls.js.map +1 -1
  138. package/dist/extract/engine/ts/transition/timers.d.ts.map +1 -1
  139. package/dist/extract/engine/ts/transition/timers.js +5 -3
  140. package/dist/extract/engine/ts/transition/timers.js.map +1 -1
  141. package/dist/extract/sources/jotai/domains.d.ts +2 -1
  142. package/dist/extract/sources/jotai/domains.d.ts.map +1 -1
  143. package/dist/extract/sources/jotai/domains.js +2 -164
  144. package/dist/extract/sources/jotai/domains.js.map +1 -1
  145. package/dist/extract/sources/jotai/harness.d.ts.map +1 -1
  146. package/dist/extract/sources/jotai/harness.js +5 -2
  147. package/dist/extract/sources/jotai/harness.js.map +1 -1
  148. package/dist/extract/sources/jotai/transitions.d.ts.map +1 -1
  149. package/dist/extract/sources/jotai/transitions.js +1 -4
  150. package/dist/extract/sources/jotai/transitions.js.map +1 -1
  151. package/dist/extract/sources/router/discover.d.ts +9 -0
  152. package/dist/extract/sources/router/discover.d.ts.map +1 -0
  153. package/dist/extract/sources/router/discover.js +135 -0
  154. package/dist/extract/sources/router/discover.js.map +1 -0
  155. package/dist/extract/sources/router/index.d.ts +7 -3
  156. package/dist/extract/sources/router/index.d.ts.map +1 -1
  157. package/dist/extract/sources/router/index.js +21 -12
  158. package/dist/extract/sources/router/index.js.map +1 -1
  159. package/dist/extract/sources/router/navigation.d.ts +3 -4
  160. package/dist/extract/sources/router/navigation.d.ts.map +1 -1
  161. package/dist/extract/sources/router/navigation.js +33 -1
  162. package/dist/extract/sources/router/navigation.js.map +1 -1
  163. package/dist/extract/sources/router/redirects.d.ts +4 -0
  164. package/dist/extract/sources/router/redirects.d.ts.map +1 -0
  165. package/dist/extract/sources/router/redirects.js +37 -0
  166. package/dist/extract/sources/router/redirects.js.map +1 -0
  167. package/dist/extract/sources/router/routes.d.ts +2 -2
  168. package/dist/extract/sources/router/routes.d.ts.map +1 -1
  169. package/dist/extract/sources/router/routes.js +24 -6
  170. package/dist/extract/sources/router/routes.js.map +1 -1
  171. package/dist/extract/sources/shared/react-transition-extract.d.ts +1 -0
  172. package/dist/extract/sources/shared/react-transition-extract.d.ts.map +1 -1
  173. package/dist/extract/sources/shared/react-transition-extract.js +1 -0
  174. package/dist/extract/sources/shared/react-transition-extract.js.map +1 -1
  175. package/dist/extract/sources/swr/domains.d.ts +3 -2
  176. package/dist/extract/sources/swr/domains.d.ts.map +1 -1
  177. package/dist/extract/sources/swr/domains.js +3 -96
  178. package/dist/extract/sources/swr/domains.js.map +1 -1
  179. package/dist/extract/sources/swr/harness.d.ts.map +1 -1
  180. package/dist/extract/sources/swr/harness.js +13 -6
  181. package/dist/extract/sources/swr/harness.js.map +1 -1
  182. package/dist/extract/sources/swr/template.js +1 -1
  183. package/dist/extract/sources/swr/template.js.map +1 -1
  184. package/dist/extract/sources/swr/transitions.d.ts.map +1 -1
  185. package/dist/extract/sources/swr/transitions.js.map +1 -1
  186. package/dist/extract/sources/swr/writes.d.ts.map +1 -1
  187. package/dist/extract/sources/swr/writes.js +1 -1
  188. package/dist/extract/sources/swr/writes.js.map +1 -1
  189. package/dist/extract/sources/use-state/harness.d.ts.map +1 -1
  190. package/dist/extract/sources/use-state/harness.js +5 -2
  191. package/dist/extract/sources/use-state/harness.js.map +1 -1
  192. package/dist/extract/sources/use-state/index.d.ts.map +1 -1
  193. package/dist/extract/sources/use-state/index.js +1 -166
  194. package/dist/extract/sources/use-state/index.js.map +1 -1
  195. package/dist/extract/sources/use-state/transitions.d.ts.map +1 -1
  196. package/dist/extract/sources/use-state/transitions.js +1 -0
  197. package/dist/extract/sources/use-state/transitions.js.map +1 -1
  198. package/dist/extract/sources/use-state/types.d.ts +1 -0
  199. package/dist/extract/sources/use-state/types.d.ts.map +1 -1
  200. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  import * as ts from "typescript";
2
- import { callName, lineAndColumn, literalValue, propertyName, } from "../ast.js";
2
+ import { callName, lineAndColumn, literalValue, propertyName } from "../ast.js";
3
3
  import { safeId } from "../ids.js";
4
4
  import { effectReads, effectWrites, } from "modality-ts/core";
5
5
  import { stateVarForName } from "./expressions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-calls.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/plugin-calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-calls.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/plugin-calls.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/timers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAQjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACd,MAAM,aAAa,CAAC;AASrB,wBAAgB,cAAc,CAC5B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAAG,SAAS,CAuB9C;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,EAAE,CAcpC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,SAAS,EAAE,MAAM,GAChB,UAAU,EAAE,CAgCd;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC,aAAa,EAAE,GAAG,SAAS,CAE7B;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,EAAE,CAAC,YAAY,EAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACzC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC,OAAO,CA2BT"}
1
+ {"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/timers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACd,MAAM,aAAa,CAAC;AAKrB,wBAAgB,cAAc,CAC5B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAAG,SAAS,CAuB9C;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,EAAE,CAcpC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,SAAS,EAAE,MAAM,GAChB,UAAU,EAAE,CAmCd;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC,aAAa,EAAE,GAAG,SAAS,CAE7B;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,EAAE,CAAC,YAAY,EAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACzC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC,OAAO,CA2BT"}
@@ -1,8 +1,8 @@
1
1
  import * as ts from "typescript";
2
- import { callName, isUseRefCall, lineAndColumn, } from "../ast.js";
2
+ import { callName, isUseRefCall, lineAndColumn } from "../ast.js";
3
3
  import { handlerExpression } from "../components.js";
4
4
  import { safeId, uniqueStrings } from "../ids.js";
5
- import { effectWriteVars, settersWrittenIn, uniqueSetters, } from "./effects.js";
5
+ import { effectWriteVars, settersWrittenIn, uniqueSetters } from "./effects.js";
6
6
  import { stateNameForVar } from "./handlers.js";
7
7
  import { summarizeHandlerStatements } from "./statement-summary.js";
8
8
  export function refSetterTaint(node, setters) {
@@ -65,7 +65,9 @@ export function transitionsFromTimerCall(source, fileName, node, setters, compon
65
65
  label: { kind: "timer", key: `${component}.${name}.${suffix}` },
66
66
  source: [{ file: fileName, ...lineAndColumn(source, node) }],
67
67
  guard: { kind: "lit", value: true },
68
- effect: effects.length === 1 ? effects[0] : { kind: "seq", effects },
68
+ effect: effects.length === 1
69
+ ? (effects[0] ?? { kind: "seq", effects })
70
+ : { kind: "seq", effects },
69
71
  reads: uniqueStrings(summaries.flatMap((summary) => summary.reads)),
70
72
  writes,
71
73
  confidence: effects.some((effect) => effect.kind === "havoc")
@@ -1 +1 @@
1
- {"version":3,"file":"timers.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/timers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timers.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/timers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as ts from "typescript";
2
+ import { typeAliasDeclarations } from "modality-ts/extract/engine/spi";
2
3
  import { type AbstractDomain, type Value } from "modality-ts/core";
4
+ export { typeAliasDeclarations };
3
5
  export declare function inferAtomDomain(call: ts.CallExpression, typeAliases?: ReadonlyMap<string, ts.TypeNode>): AbstractDomain;
4
6
  export declare function initialValueForAtom(call: ts.CallExpression, domain: AbstractDomain): Value;
5
- export declare function typeAliasDeclarations(source: ts.SourceFile): Map<string, ts.TypeNode>;
6
7
  //# sourceMappingURL=domains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/domains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,KAAK,EACX,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,eAAe,CAC7B,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,WAAW,GAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAa,GACxD,cAAc,CAwBhB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,MAAM,EAAE,cAAc,GACrB,KAAK,CAyBP;AA+LD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,EAAE,CAAC,UAAU,GACpB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAS1B"}
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/domains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAGL,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,KAAK,EACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,wBAAgB,eAAe,CAC7B,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,WAAW,GAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAa,GACxD,cAAc,CAwBhB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,MAAM,EAAE,cAAc,GACrB,KAAK,CAyBP"}
@@ -1,5 +1,7 @@
1
1
  import * as ts from "typescript";
2
+ import { firstValue, inferDomainFromTypeNode, typeAliasDeclarations, } from "modality-ts/extract/engine/spi";
2
3
  import { validateValue, } from "modality-ts/core";
4
+ export { typeAliasDeclarations };
3
5
  export function inferAtomDomain(call, typeAliases = new Map()) {
4
6
  const typeArg = call.typeArguments?.[0];
5
7
  if (typeArg)
@@ -53,120 +55,6 @@ export function initialValueForAtom(call, domain) {
53
55
  function validInitialOrFirst(domain, value) {
54
56
  return validateValue(domain, value) ? value : firstValue(domain);
55
57
  }
56
- function inferDomainFromTypeNode(node, typeAliases = new Map()) {
57
- if (!node)
58
- return { kind: "tokens", count: 1 };
59
- switch (node.kind) {
60
- case ts.SyntaxKind.BooleanKeyword:
61
- return { kind: "bool" };
62
- case ts.SyntaxKind.StringKeyword:
63
- case ts.SyntaxKind.NumberKeyword:
64
- case ts.SyntaxKind.AnyKeyword:
65
- case ts.SyntaxKind.UnknownKeyword:
66
- return { kind: "tokens", count: 1 };
67
- case ts.SyntaxKind.LiteralType:
68
- return domainFromLiteralType(node);
69
- case ts.SyntaxKind.UnionType:
70
- return domainFromUnion(node, typeAliases);
71
- case ts.SyntaxKind.TypeLiteral:
72
- return domainFromTypeLiteral(node);
73
- case ts.SyntaxKind.ArrayType:
74
- return { kind: "lengthCat" };
75
- case ts.SyntaxKind.TypeReference:
76
- return domainFromTypeReference(node, typeAliases);
77
- default:
78
- return { kind: "tokens", count: 1 };
79
- }
80
- }
81
- function domainFromLiteralType(node) {
82
- const lit = node.literal;
83
- if (lit.kind === ts.SyntaxKind.TrueKeyword ||
84
- lit.kind === ts.SyntaxKind.FalseKeyword)
85
- return { kind: "bool" };
86
- if (ts.isStringLiteral(lit))
87
- return { kind: "enum", values: [lit.text] };
88
- if (ts.isNumericLiteral(lit))
89
- return { kind: "boundedInt", min: Number(lit.text), max: Number(lit.text) };
90
- if (lit.kind === ts.SyntaxKind.NullKeyword)
91
- return { kind: "option", inner: { kind: "tokens", count: 1 } };
92
- return { kind: "tokens", count: 1 };
93
- }
94
- function domainFromUnion(node, typeAliases = new Map()) {
95
- const nonNull = node.types.filter((part) => part.kind !== ts.SyntaxKind.UndefinedKeyword &&
96
- !(ts.isLiteralTypeNode(part) &&
97
- part.literal.kind === ts.SyntaxKind.NullKeyword));
98
- if (nonNull.length !== node.types.length && nonNull.length === 1) {
99
- return {
100
- kind: "option",
101
- inner: inferDomainFromTypeNode(nonNull[0], typeAliases),
102
- };
103
- }
104
- const literalValues = [];
105
- const numericValues = [];
106
- for (const part of node.types) {
107
- if (!ts.isLiteralTypeNode(part))
108
- return taggedUnionFrom(node) ?? { kind: "tokens", count: 1 };
109
- const lit = part.literal;
110
- if (ts.isStringLiteral(lit))
111
- literalValues.push(lit.text);
112
- else if (ts.isNumericLiteral(lit))
113
- numericValues.push(Number(lit.text));
114
- else
115
- return taggedUnionFrom(node) ?? { kind: "tokens", count: 1 };
116
- }
117
- if (numericValues.length === node.types.length)
118
- return {
119
- kind: "boundedInt",
120
- min: Math.min(...numericValues),
121
- max: Math.max(...numericValues),
122
- };
123
- return { kind: "enum", values: literalValues };
124
- }
125
- function taggedUnionFrom(node) {
126
- const members = node.types.filter(ts.isTypeLiteralNode);
127
- if (members.length !== node.types.length)
128
- return undefined;
129
- const tagCandidates = new Map();
130
- for (const member of members) {
131
- for (const prop of member.members.filter(ts.isPropertySignature)) {
132
- if (!prop.type ||
133
- !ts.isIdentifier(prop.name) ||
134
- !ts.isLiteralTypeNode(prop.type) ||
135
- !ts.isStringLiteral(prop.type.literal))
136
- continue;
137
- const set = tagCandidates.get(prop.name.text) ?? new Set();
138
- set.add(prop.type.literal.text);
139
- tagCandidates.set(prop.name.text, set);
140
- }
141
- }
142
- const tag = [...tagCandidates].find(([, values]) => values.size === members.length)?.[0];
143
- if (!tag)
144
- return undefined;
145
- const variants = {};
146
- for (const member of members) {
147
- const tagProp = member.members.find((prop) => ts.isPropertySignature(prop) &&
148
- ts.isIdentifier(prop.name) &&
149
- prop.name.text === tag);
150
- if (!tagProp?.type ||
151
- !ts.isLiteralTypeNode(tagProp.type) ||
152
- !ts.isStringLiteral(tagProp.type.literal))
153
- return undefined;
154
- variants[tagProp.type.literal.text] = domainFromTypeLiteral(member, tag);
155
- }
156
- return { kind: "tagged", tag, variants };
157
- }
158
- function domainFromTypeLiteral(node, omitField) {
159
- const fields = {};
160
- for (const member of node.members) {
161
- if (!ts.isPropertySignature(member) ||
162
- !member.type ||
163
- !ts.isIdentifier(member.name) ||
164
- member.name.text === omitField)
165
- continue;
166
- fields[member.name.text] = inferDomainFromTypeNode(member.type);
167
- }
168
- return { kind: "record", fields };
169
- }
170
58
  function domainFromObjectLiteral(node) {
171
59
  const fields = {};
172
60
  for (const prop of node.properties) {
@@ -196,26 +84,6 @@ function domainFromExpression(expr) {
196
84
  return domainFromObjectLiteral(expr);
197
85
  return { kind: "tokens", count: 1 };
198
86
  }
199
- function domainFromTypeReference(node, typeAliases = new Map()) {
200
- const name = node.typeName.getText();
201
- const alias = typeAliases.get(name);
202
- if (alias)
203
- return inferDomainFromTypeNode(alias, typeAliases);
204
- if ((name === "Array" || name === "ReadonlyArray") &&
205
- node.typeArguments?.length === 1)
206
- return { kind: "lengthCat" };
207
- return { kind: "tokens", count: 1 };
208
- }
209
- export function typeAliasDeclarations(source) {
210
- const aliases = new Map();
211
- const visit = (node) => {
212
- if (ts.isTypeAliasDeclaration(node) && ts.isIdentifier(node.name))
213
- aliases.set(node.name.text, node.type);
214
- ts.forEachChild(node, visit);
215
- };
216
- visit(source);
217
- return aliases;
218
- }
219
87
  function valueFromObjectLiteral(node, domain) {
220
88
  const values = {};
221
89
  for (const prop of node.properties) {
@@ -250,34 +118,4 @@ function valueFromExpression(expr) {
250
118
  return valueFromObjectLiteral(expr, domainFromObjectLiteral(expr));
251
119
  return "tok1";
252
120
  }
253
- function firstValue(domain) {
254
- switch (domain.kind) {
255
- case "bool":
256
- return false;
257
- case "enum":
258
- return domain.values[0] ?? "";
259
- case "boundedInt":
260
- return domain.min;
261
- case "option":
262
- return null;
263
- case "record":
264
- return Object.fromEntries(Object.entries(domain.fields).map(([key, field]) => [
265
- key,
266
- firstValue(field),
267
- ]));
268
- case "tagged": {
269
- const [tagValue, variant] = Object.entries(domain.variants)[0] ?? [
270
- "unknown",
271
- { kind: "record", fields: {} },
272
- ];
273
- return { ...firstValue(variant), [domain.tag]: tagValue };
274
- }
275
- case "tokens":
276
- return domain.names?.[0] ?? "tok1";
277
- case "lengthCat":
278
- return "0";
279
- case "boundedList":
280
- return [];
281
- }
282
- }
283
121
  //# sourceMappingURL=domains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/domains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/domains.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;KAC3B,CAAC;CACH;AAED,wBAAgB,KAAK,CACnB,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GACpE,iBAAiB,CAMnB;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,GACpB,YAAY,GAAG,cAAc,CAQ/B;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS,CAE5B"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;KAC3B,CAAC;CACH;AAED,wBAAgB,KAAK,CACnB,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GACpE,iBAAiB,CAMnB;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,GACpB,YAAY,GAAG,cAAc,CAW/B;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS,CAE5B"}
@@ -10,8 +10,11 @@ export function observe(varId, handles) {
10
10
  const atom = jotai.atoms?.[varId] ?? jotai.atoms?.[varId.replace(/^atom:/, "")];
11
11
  if (atom !== undefined && jotai.store)
12
12
  return { value: jotai.store.get(atom) };
13
- if (varId in jotai.initialState)
14
- return { value: jotai.initialState[varId] };
13
+ if (varId in jotai.initialState) {
14
+ const initial = jotai.initialState[varId];
15
+ if (initial !== undefined)
16
+ return { value: initial };
17
+ }
15
18
  return "unobservable";
16
19
  }
17
20
  export function witness(_domain, _varId) {
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/harness.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,KAAK,CACnB,GAAqE;IAErE,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QACpC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAa,EACb,OAAqB;IAErB,MAAM,KAAK,GAAG,OAA4B,CAAC;IAC3C,MAAM,IAAI,GACR,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACrE,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK;QACnC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAE,EAAE,CAAC;IAC9E,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAAuB,EACvB,MAAc;IAEd,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/harness.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,KAAK,CACnB,GAAqE;IAErE,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QACpC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAa,EACb,OAAqB;IAErB,MAAM,KAAK,GAAG,OAA4B,CAAC;IAC3C,MAAM,IAAI,GACR,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACrE,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK;QACnC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAAuB,EACvB,MAAc;IAEd,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACb,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQpE,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAwCxB"}
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACb,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQpE,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAqCxB"}
@@ -16,10 +16,7 @@ export function extractJotaiSkeleton(sourceText, options = {}) {
16
16
  ...discoverJotaiWriteChannels(sourceText, fileName),
17
17
  ...(options.writeChannels ?? []),
18
18
  ];
19
- const sourcePlugins = [
20
- jotaiSource(),
21
- ...(options.sourcePlugins ?? []),
22
- ];
19
+ const sourcePlugins = [jotaiSource(), ...(options.sourcePlugins ?? [])];
23
20
  const safetyWarnings = discoverJotaiSafetyWarnings(sourceText, fileName).map((warning) => ({
24
21
  message: warning.message,
25
22
  ...(warning.source ? { line: warning.source.line } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/transitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa1C,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG;QACX,GAAG,UAAU;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACvB,MAAM,CAAC,CAAC,IAAI,EAAwB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B,CAAC;IACF,MAAM,aAAa,GAAG;QACpB,GAAG,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;KACjC,CAAC;IACF,MAAM,aAAa,GAAG;QACpB,WAAW,EAAE;QACb,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;KACjC,CAAC;IACF,MAAM,cAAc,GAAG,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAC1E,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CACH,CAAC;IACF,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,6BAA6B,CAAC;QACnE,UAAU;QACV,QAAQ;QACR,KAAK;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;QAC1C,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,aAAa;QACb,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;QAC7B,QAAQ,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC;KAC3C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/transitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa1C,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG;QACX,GAAG,UAAU;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACvB,MAAM,CAAC,CAAC,IAAI,EAAwB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B,CAAC;IACF,MAAM,aAAa,GAAG;QACpB,GAAG,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;KACjC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAC1E,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CACH,CAAC;IACF,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,6BAA6B,CAAC;QACnE,UAAU;QACV,QAAQ;QACR,KAAK;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;QAC1C,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,aAAa;QACb,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;QAC7B,QAAQ,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { RouteDiscoveryCtx, RouteInventory } from "modality-ts/extract/engine/spi";
2
+ export declare function parseReactRouterRoutes(source: string): Array<{
3
+ pattern: string;
4
+ file: string;
5
+ }>;
6
+ export declare function reactRouterPathPattern(pattern: string): string;
7
+ export declare function discoverRoutes(ctx: RouteDiscoveryCtx): Promise<RouteInventory>;
8
+ export declare function routeForComponent(componentName: string, inventory: RouteInventory): string | undefined;
9
+ //# sourceMappingURL=discover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/router/discover.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GACb,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC1C;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG9D;AA6CD,wBAAsB,cAAc,CAClC,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AA4BD,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,cAAc,GACxB,MAAM,GAAG,SAAS,CAsCpB"}
@@ -0,0 +1,135 @@
1
+ import { basename, dirname, extname, join, resolve } from "node:path";
2
+ import * as ts from "typescript";
3
+ export function parseReactRouterRoutes(source) {
4
+ const routes = [];
5
+ const parsed = ts.createSourceFile("routes.ts", source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
6
+ const visit = (node) => {
7
+ if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {
8
+ if (node.expression.text === "index" &&
9
+ ts.isStringLiteral(node.arguments[0])) {
10
+ routes.push({ pattern: "/", file: node.arguments[0].text });
11
+ }
12
+ if (node.expression.text === "route" &&
13
+ ts.isStringLiteral(node.arguments[0]) &&
14
+ ts.isStringLiteral(node.arguments[1])) {
15
+ routes.push({
16
+ pattern: reactRouterPathPattern(node.arguments[0].text),
17
+ file: node.arguments[1].text,
18
+ });
19
+ }
20
+ }
21
+ ts.forEachChild(node, visit);
22
+ };
23
+ visit(parsed);
24
+ return routes;
25
+ }
26
+ export function reactRouterPathPattern(pattern) {
27
+ const normalized = pattern.startsWith("/") ? pattern : `/${pattern}`;
28
+ return normalized.replace(/\$([A-Za-z0-9_]+)/g, ":$1").replace(/\*$/, "*");
29
+ }
30
+ function classifyRouteKind(pattern, file) {
31
+ if (pattern === "/")
32
+ return "index";
33
+ if (!file.endsWith(".tsx") ||
34
+ pattern.startsWith("/api/") ||
35
+ pattern === "/api")
36
+ return "resource";
37
+ return "page";
38
+ }
39
+ const REDIRECT_LITERAL = /(?:permanentRedirect|redirect)\(\s*["']([^"']+)["']\s*\)/g;
40
+ function literalRedirectTarget(fileText) {
41
+ const match = REDIRECT_LITERAL.exec(fileText);
42
+ REDIRECT_LITERAL.lastIndex = 0;
43
+ if (!match?.[1])
44
+ return undefined;
45
+ return reactRouterPathPattern(match[1].split("?")[0] ?? match[1]);
46
+ }
47
+ function findManifestFile(files) {
48
+ const candidates = files.filter((file) => file.path.endsWith("routes.ts"));
49
+ if (candidates.length === 0)
50
+ return undefined;
51
+ return (candidates.find((file) => file.path.endsWith("app/routes.ts")) ??
52
+ candidates[0]);
53
+ }
54
+ function resolveRouteFile(file, manifestPath, rootDir) {
55
+ const absoluteManifest = rootDir
56
+ ? resolve(rootDir, manifestPath)
57
+ : resolve(manifestPath);
58
+ return join(dirname(absoluteManifest), file);
59
+ }
60
+ export async function discoverRoutes(ctx) {
61
+ const manifest = findManifestFile(ctx.files);
62
+ if (!manifest)
63
+ return { routes: [] };
64
+ const entries = parseReactRouterRoutes(manifest.text);
65
+ const routes = [];
66
+ for (const entry of entries) {
67
+ const node = {
68
+ pattern: entry.pattern,
69
+ kind: classifyRouteKind(entry.pattern, entry.file),
70
+ file: entry.file,
71
+ };
72
+ try {
73
+ const filePath = resolveRouteFile(entry.file, manifest.path, ctx.rootDir);
74
+ const fileText = await ctx.readFile(filePath);
75
+ const redirectTo = literalRedirectTarget(fileText);
76
+ if (redirectTo !== undefined)
77
+ node.redirectTo = redirectTo;
78
+ }
79
+ catch {
80
+ // missing or unreadable route file — keep the node without redirectTo
81
+ }
82
+ routes.push(node);
83
+ }
84
+ routes.sort((left, right) => left.pattern.localeCompare(right.pattern));
85
+ return { routes };
86
+ }
87
+ function normalizeComponentRouteName(component) {
88
+ return component.replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
89
+ }
90
+ function fileNameKeys(file) {
91
+ const base = basename(file, extname(file));
92
+ const lastSeg = basename(file.split("/").filter(Boolean).pop() ?? "", extname(file));
93
+ return [
94
+ normalizeComponentRouteName(base),
95
+ normalizeComponentRouteName(lastSeg),
96
+ ];
97
+ }
98
+ function suffixMatchLength(component, file) {
99
+ const normComp = normalizeComponentRouteName(component);
100
+ const normFile = file.replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
101
+ for (let len = Math.min(normComp.length, normFile.length); len > 0; len--) {
102
+ const suffix = normFile.slice(-len);
103
+ if (normComp.endsWith(suffix))
104
+ return len;
105
+ }
106
+ return 0;
107
+ }
108
+ export function routeForComponent(componentName, inventory) {
109
+ const normalized = normalizeComponentRouteName(componentName);
110
+ if (!normalized)
111
+ return undefined;
112
+ const preferred = inventory.routes.filter((node) => (node.kind === "page" || node.kind === "index") &&
113
+ node.file !== undefined &&
114
+ fileNameKeys(node.file).includes(normalized));
115
+ const candidates = preferred.length > 0
116
+ ? preferred
117
+ : inventory.routes.filter((node) => node.file !== undefined &&
118
+ fileNameKeys(node.file).includes(normalized));
119
+ if (candidates.length === 0)
120
+ return undefined;
121
+ if (candidates.length === 1)
122
+ return candidates[0]?.pattern;
123
+ const ranked = [...candidates].sort((left, right) => suffixMatchLength(componentName, right.file ?? "") -
124
+ suffixMatchLength(componentName, left.file ?? ""));
125
+ const best = ranked[0];
126
+ const runnerUp = ranked[1];
127
+ if (best &&
128
+ runnerUp &&
129
+ suffixMatchLength(componentName, best.file ?? "") ===
130
+ suffixMatchLength(componentName, runnerUp.file ?? "")) {
131
+ return undefined;
132
+ }
133
+ return best?.pattern;
134
+ }
135
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../src/extract/sources/router/discover.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
- import type { RouterPlugin } from "modality-ts/extract/engine/spi";
1
+ import type { NavigationAdapter } from "modality-ts/extract/engine/spi";
2
2
  export interface RouterSourceOptions {
3
3
  id?: string;
4
4
  packageNames?: readonly string[];
5
5
  historyMaxLen?: number;
6
6
  }
7
- export declare function routerSource(options?: RouterSourceOptions): RouterPlugin;
8
- export default routerSource;
7
+ export declare function reactRouterAdapter(options?: RouterSourceOptions): NavigationAdapter;
8
+ /** @deprecated use reactRouterAdapter */
9
+ export declare const routerSource: typeof reactRouterAdapter;
10
+ export { parseReactRouterRoutes } from "./discover.js";
11
+ export { synthesizeRedirectTransitions } from "./redirects.js";
12
+ export default reactRouterAdapter;
9
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAKnE,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAiB5E;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AAMxC,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,mBAAwB,GAChC,iBAAiB,CAwBnB;AAED,yCAAyC;AACzC,eAAO,MAAM,YAAY,2BAAqB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,eAAe,kBAAkB,CAAC"}