modality-ts 0.0.13 → 0.0.15

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 (154) hide show
  1. package/dist/cli/cli.js +117 -27
  2. package/dist/cli/cli.js.map +1 -1
  3. package/dist/cli/features/check/command.d.ts +7 -0
  4. package/dist/cli/features/check/command.d.ts.map +1 -1
  5. package/dist/cli/features/check/command.js +39 -6
  6. package/dist/cli/features/check/command.js.map +1 -1
  7. package/dist/cli/features/check/index.d.ts +2 -0
  8. package/dist/cli/features/check/index.d.ts.map +1 -1
  9. package/dist/cli/features/check/index.js +1 -0
  10. package/dist/cli/features/check/index.js.map +1 -1
  11. package/dist/cli/features/check/output.d.ts +29 -0
  12. package/dist/cli/features/check/output.d.ts.map +1 -0
  13. package/dist/cli/features/check/output.js +174 -0
  14. package/dist/cli/features/check/output.js.map +1 -0
  15. package/dist/cli/features/ci/command.d.ts +2 -0
  16. package/dist/cli/features/ci/command.d.ts.map +1 -1
  17. package/dist/cli/features/ci/command.js +21 -0
  18. package/dist/cli/features/ci/command.js.map +1 -1
  19. package/dist/cli/features/ci/index.d.ts +2 -0
  20. package/dist/cli/features/ci/index.d.ts.map +1 -1
  21. package/dist/cli/features/ci/index.js +1 -0
  22. package/dist/cli/features/ci/index.js.map +1 -1
  23. package/dist/cli/features/ci/output.d.ts +19 -0
  24. package/dist/cli/features/ci/output.d.ts.map +1 -0
  25. package/dist/cli/features/ci/output.js +40 -0
  26. package/dist/cli/features/ci/output.js.map +1 -0
  27. package/dist/cli/features/conform/index.d.ts +1 -0
  28. package/dist/cli/features/conform/index.d.ts.map +1 -1
  29. package/dist/cli/features/conform/index.js +1 -0
  30. package/dist/cli/features/conform/index.js.map +1 -1
  31. package/dist/cli/features/conform/output.d.ts +9 -0
  32. package/dist/cli/features/conform/output.d.ts.map +1 -0
  33. package/dist/cli/features/conform/output.js +28 -0
  34. package/dist/cli/features/conform/output.js.map +1 -0
  35. package/dist/cli/features/export/command.d.ts +2 -0
  36. package/dist/cli/features/export/command.d.ts.map +1 -1
  37. package/dist/cli/features/export/command.js +8 -2
  38. package/dist/cli/features/export/command.js.map +1 -1
  39. package/dist/cli/features/export/index.d.ts +1 -0
  40. package/dist/cli/features/export/index.d.ts.map +1 -1
  41. package/dist/cli/features/export/index.js +1 -0
  42. package/dist/cli/features/export/index.js.map +1 -1
  43. package/dist/cli/features/export/output.d.ts +8 -0
  44. package/dist/cli/features/export/output.d.ts.map +1 -0
  45. package/dist/cli/features/export/output.js +14 -0
  46. package/dist/cli/features/export/output.js.map +1 -0
  47. package/dist/cli/features/extract/command.d.ts +9 -0
  48. package/dist/cli/features/extract/command.d.ts.map +1 -1
  49. package/dist/cli/features/extract/command.js +20 -1
  50. package/dist/cli/features/extract/command.js.map +1 -1
  51. package/dist/cli/features/extract/index.d.ts +2 -0
  52. package/dist/cli/features/extract/index.d.ts.map +1 -1
  53. package/dist/cli/features/extract/index.js +1 -0
  54. package/dist/cli/features/extract/index.js.map +1 -1
  55. package/dist/cli/features/extract/output.d.ts +22 -0
  56. package/dist/cli/features/extract/output.d.ts.map +1 -0
  57. package/dist/cli/features/extract/output.js +48 -0
  58. package/dist/cli/features/extract/output.js.map +1 -0
  59. package/dist/cli/features/init/index.d.ts +1 -0
  60. package/dist/cli/features/init/index.d.ts.map +1 -1
  61. package/dist/cli/features/init/index.js +1 -0
  62. package/dist/cli/features/init/index.js.map +1 -1
  63. package/dist/cli/features/init/output.d.ts +4 -0
  64. package/dist/cli/features/init/output.d.ts.map +1 -0
  65. package/dist/cli/features/init/output.js +9 -0
  66. package/dist/cli/features/init/output.js.map +1 -0
  67. package/dist/cli/features/replay/index.d.ts +1 -0
  68. package/dist/cli/features/replay/index.d.ts.map +1 -1
  69. package/dist/cli/features/replay/index.js +1 -0
  70. package/dist/cli/features/replay/index.js.map +1 -1
  71. package/dist/cli/features/replay/output.d.ts +10 -0
  72. package/dist/cli/features/replay/output.d.ts.map +1 -0
  73. package/dist/cli/features/replay/output.js +37 -0
  74. package/dist/cli/features/replay/output.js.map +1 -0
  75. package/dist/cli/output.d.ts +28 -0
  76. package/dist/cli/output.d.ts.map +1 -0
  77. package/dist/cli/output.js +64 -0
  78. package/dist/cli/output.js.map +1 -0
  79. package/dist/extract/engine/ts/context.d.ts.map +1 -1
  80. package/dist/extract/engine/ts/context.js +7 -1
  81. package/dist/extract/engine/ts/context.js.map +1 -1
  82. package/dist/extract/engine/ts/react-source-transitions.d.ts +4 -1
  83. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
  84. package/dist/extract/engine/ts/react-source-transitions.js +11 -2
  85. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
  86. package/dist/extract/engine/ts/transition/expressions.d.ts +1 -1
  87. package/dist/extract/engine/ts/transition/expressions.d.ts.map +1 -1
  88. package/dist/extract/engine/ts/transition/expressions.js +12 -1
  89. package/dist/extract/engine/ts/transition/expressions.js.map +1 -1
  90. package/dist/extract/engine/ts/transition/handlers.d.ts +3 -3
  91. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
  92. package/dist/extract/engine/ts/transition/handlers.js +10 -7
  93. package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
  94. package/dist/extract/engine/ts/transition/statement-summary.d.ts +6 -2
  95. package/dist/extract/engine/ts/transition/statement-summary.d.ts.map +1 -1
  96. package/dist/extract/engine/ts/transition/statement-summary.js +40 -6
  97. package/dist/extract/engine/ts/transition/statement-summary.js.map +1 -1
  98. package/dist/extract/engine/ts/types.d.ts +3 -0
  99. package/dist/extract/engine/ts/types.d.ts.map +1 -1
  100. package/dist/extract/sources/jotai/derived-writes.d.ts +11 -0
  101. package/dist/extract/sources/jotai/derived-writes.d.ts.map +1 -0
  102. package/dist/extract/sources/jotai/derived-writes.js +141 -0
  103. package/dist/extract/sources/jotai/derived-writes.js.map +1 -0
  104. package/dist/extract/sources/jotai/discover.d.ts +16 -0
  105. package/dist/extract/sources/jotai/discover.d.ts.map +1 -1
  106. package/dist/extract/sources/jotai/discover.js +163 -46
  107. package/dist/extract/sources/jotai/discover.js.map +1 -1
  108. package/dist/extract/sources/jotai/domains.d.ts +14 -1
  109. package/dist/extract/sources/jotai/domains.d.ts.map +1 -1
  110. package/dist/extract/sources/jotai/domains.js +481 -70
  111. package/dist/extract/sources/jotai/domains.js.map +1 -1
  112. package/dist/extract/sources/jotai/harness.d.ts +4 -1
  113. package/dist/extract/sources/jotai/harness.d.ts.map +1 -1
  114. package/dist/extract/sources/jotai/harness.js +10 -3
  115. package/dist/extract/sources/jotai/harness.js.map +1 -1
  116. package/dist/extract/sources/jotai/hydration.d.ts +16 -0
  117. package/dist/extract/sources/jotai/hydration.d.ts.map +1 -0
  118. package/dist/extract/sources/jotai/hydration.js +116 -0
  119. package/dist/extract/sources/jotai/hydration.js.map +1 -0
  120. package/dist/extract/sources/jotai/ids.d.ts +7 -0
  121. package/dist/extract/sources/jotai/ids.d.ts.map +1 -0
  122. package/dist/extract/sources/jotai/ids.js +23 -0
  123. package/dist/extract/sources/jotai/ids.js.map +1 -0
  124. package/dist/extract/sources/jotai/imports.d.ts +23 -0
  125. package/dist/extract/sources/jotai/imports.d.ts.map +1 -0
  126. package/dist/extract/sources/jotai/imports.js +111 -0
  127. package/dist/extract/sources/jotai/imports.js.map +1 -0
  128. package/dist/extract/sources/jotai/jsx.d.ts +4 -0
  129. package/dist/extract/sources/jotai/jsx.d.ts.map +1 -0
  130. package/dist/extract/sources/jotai/jsx.js +52 -0
  131. package/dist/extract/sources/jotai/jsx.js.map +1 -0
  132. package/dist/extract/sources/jotai/plugin.d.ts.map +1 -1
  133. package/dist/extract/sources/jotai/plugin.js +9 -2
  134. package/dist/extract/sources/jotai/plugin.js.map +1 -1
  135. package/dist/extract/sources/jotai/stores.d.ts +3 -0
  136. package/dist/extract/sources/jotai/stores.d.ts.map +1 -0
  137. package/dist/extract/sources/jotai/stores.js +40 -0
  138. package/dist/extract/sources/jotai/stores.js.map +1 -0
  139. package/dist/extract/sources/jotai/transitions.d.ts.map +1 -1
  140. package/dist/extract/sources/jotai/transitions.js +16 -5
  141. package/dist/extract/sources/jotai/transitions.js.map +1 -1
  142. package/dist/extract/sources/jotai/types.d.ts +22 -0
  143. package/dist/extract/sources/jotai/types.d.ts.map +1 -0
  144. package/dist/extract/sources/jotai/types.js +86 -0
  145. package/dist/extract/sources/jotai/types.js.map +1 -0
  146. package/dist/extract/sources/jotai/writes.d.ts +23 -1
  147. package/dist/extract/sources/jotai/writes.d.ts.map +1 -1
  148. package/dist/extract/sources/jotai/writes.js +330 -89
  149. package/dist/extract/sources/jotai/writes.js.map +1 -1
  150. package/dist/extract/sources/shared/react-transition-extract.d.ts +3 -0
  151. package/dist/extract/sources/shared/react-transition-extract.d.ts.map +1 -1
  152. package/dist/extract/sources/shared/react-transition-extract.js +5 -0
  153. package/dist/extract/sources/shared/react-transition-extract.js.map +1 -1
  154. package/package.json +1 -1
@@ -1,10 +1,24 @@
1
1
  import * as ts from "typescript";
2
+ import { propertyName, componentNameFor } from "../../engine/ts/ast.js";
3
+ import { discoverComponentStoreScopes } from "./stores.js";
4
+ import { providerScopeFromJsx } from "./jsx.js";
5
+ import { discoverJotaiAtomsDetailed, duplicateAtomsForStore, } from "./discover.js";
6
+ import { hookImportedName, isHookCall, isJotaiModuleSpecifier, resolveJotaiImports, } from "./imports.js";
7
+ import { atomVarId, familyVarId } from "./ids.js";
8
+ import { discoverHydrationOverrides } from "./hydration.js";
9
+ import { isReadFunction, summarizeDerivedWriteBody } from "./derived-writes.js";
10
+ import { classifyAtomCall, staticFamilyParam, typeAliasDeclarations, } from "./domains.js";
11
+ import { isResettableKind, metadataFromRecord } from "./types.js";
12
+ import { atomCreatorName, isAtomCreatorCall } from "./imports.js";
2
13
  export function discoverJotaiSafetyWarnings(sourceText, fileName = "state.ts") {
3
14
  const source = ts.createSourceFile(fileName, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
15
+ const imports = resolveJotaiImports(source);
4
16
  const warnings = [];
17
+ const discovery = discoverJotaiAtomsDetailed(sourceText, fileName);
18
+ warnings.push(...discovery.warnings);
5
19
  for (const statement of source.statements) {
6
20
  if (!ts.isImportDeclaration(statement) ||
7
- !isJotaiModule(statement.moduleSpecifier))
21
+ !isJotaiModuleSpecifier(statement.moduleSpecifier))
8
22
  continue;
9
23
  const bindings = statement.importClause?.namedBindings;
10
24
  if (!bindings || !ts.isNamedImports(bindings))
@@ -15,159 +29,386 @@ export function discoverJotaiSafetyWarnings(sourceText, fileName = "state.ts") {
15
29
  continue;
16
30
  warnings.push({
17
31
  message: "Global taint jotai:getDefaultStore",
18
- source: { file: fileName, ...lineAndColumn(source, specifier) },
32
+ source: anchor(source, fileName, specifier),
33
+ });
34
+ }
35
+ }
36
+ const hydration = discoverHydrationOverrides(source, fileName, imports);
37
+ warnings.push(...hydration.warnings);
38
+ const visit = (node) => {
39
+ if (ts.isJsxSelfClosingElement(node) || ts.isJsxElement(node)) {
40
+ const providerScope = providerScopeFromJsx(node, imports, source);
41
+ if (providerScope === undefined) {
42
+ const tag = ts.isJsxSelfClosingElement(node)
43
+ ? node.tagName.getText()
44
+ : node.openingElement.tagName.getText();
45
+ if (tag === imports.providerTag ||
46
+ tag === "Provider" ||
47
+ tag.endsWith(".Provider")) {
48
+ warnings.push({
49
+ message: "Jotai dynamic Provider store unsupported",
50
+ source: anchor(source, fileName, node),
51
+ });
52
+ }
53
+ }
54
+ }
55
+ if (ts.isCallExpression(node) &&
56
+ ts.isPropertyAccessExpression(node.expression) &&
57
+ node.expression.name.text === "setShouldRemove") {
58
+ warnings.push({
59
+ message: "Jotai atomFamily.setShouldRemove cache lifecycle not modeled",
60
+ source: anchor(source, fileName, node),
61
+ });
62
+ }
63
+ if (ts.isCallExpression(node) &&
64
+ ts.isPropertyAccessExpression(node.expression) &&
65
+ node.expression.name.text === "unstable_listen") {
66
+ warnings.push({
67
+ message: "Jotai atomFamily.unstable_listen cache lifecycle not modeled",
68
+ source: anchor(source, fileName, node),
69
+ });
70
+ }
71
+ ts.forEachChild(node, visit);
72
+ };
73
+ visit(source);
74
+ for (const decl of discovery.decls) {
75
+ const metadata = metadataFromRecord(decl.metadata);
76
+ if (metadata?.storageKind === "localStorage" && !hasWindowGuard(source)) {
77
+ warnings.push({
78
+ message: `Jotai SSR-unsafe unguarded ${metadata.storageKind} access for ${metadata.atomName}`,
79
+ source: decl.origin === "system" || decl.origin === "library-template"
80
+ ? undefined
81
+ : decl.origin,
19
82
  });
20
83
  }
21
84
  }
22
85
  return warnings;
23
86
  }
24
87
  export function discoverJotaiWriteChannels(sourceText, fileName = "state.ts") {
88
+ return discoverJotaiWritesDetailed(sourceText, fileName).channels;
89
+ }
90
+ export function discoverJotaiWritesDetailed(sourceText, fileName = "state.ts") {
25
91
  const source = ts.createSourceFile(fileName, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
26
- const setters = setAtomImportNames(source);
27
- const defaultStoreGetters = getDefaultStoreImportNames(source);
28
- if (setters.useAtom.size === 0 &&
29
- setters.useSetAtom.size === 0 &&
30
- defaultStoreGetters.size === 0)
31
- return [];
92
+ const imports = resolveJotaiImports(source);
93
+ const discovery = discoverJotaiAtomsDetailed(sourceText, fileName);
94
+ const atomNames = new Set(discovery.atomNames);
95
+ for (const [name] of discovery.atomMetadata)
96
+ atomNames.add(name);
97
+ const derivedWriteEffects = new Map();
98
+ const setterFixedEffects = new Map();
99
+ const atomClassifications = collectAtomClassifications(source, imports);
100
+ for (const [atomName, info] of atomClassifications) {
101
+ if (info.configKind === "writeOnlyDerived" ||
102
+ info.configKind === "readWriteDerived") {
103
+ const writeFn = info.writeFn;
104
+ if (writeFn) {
105
+ const effect = summarizeDerivedWriteBody(writeFn, { atomNames });
106
+ if (effect !== "unsupported")
107
+ derivedWriteEffects.set(atomName, effect);
108
+ }
109
+ }
110
+ }
111
+ const resettableVarIds = new Set();
112
+ for (const decl of discovery.decls) {
113
+ const metadata = metadataFromRecord(decl.metadata);
114
+ if (metadata && isResettableKind(metadata.configKind) && decl.var) {
115
+ resettableVarIds.add(decl.var.id);
116
+ }
117
+ }
118
+ if (imports.hooks.size === 0 &&
119
+ imports.storeCreators.size === 0 &&
120
+ discovery.decls.length === 0) {
121
+ return {
122
+ channels: [],
123
+ warnings: [],
124
+ resetSymbol: imports.resetSymbol,
125
+ resettableVarIds,
126
+ derivedWriteEffects,
127
+ setterFixedEffects,
128
+ storeScopedDecls: [],
129
+ };
130
+ }
32
131
  const channels = [];
132
+ const warnings = [];
133
+ const storeNames = new Set();
33
134
  const defaultStoreNames = new Set();
34
- const visit = (node) => {
135
+ const storeScopedDecls = [];
136
+ const componentStoreScopes = discoverComponentStoreScopes(source, imports);
137
+ const visit = (node, storeScope, componentName) => {
138
+ const nextComponent = componentNameFor(node) ?? componentName;
139
+ const effectiveScope = (nextComponent ? componentStoreScopes.get(nextComponent) : undefined) ??
140
+ storeScope;
35
141
  if (ts.isVariableDeclaration(node) &&
36
142
  ts.isIdentifier(node.name) &&
37
- node.initializer &&
38
- isGetDefaultStoreCall(node.initializer, defaultStoreGetters)) {
39
- defaultStoreNames.add(node.name.text);
143
+ node.initializer) {
144
+ if (isStoreCreatorCall(node.initializer, imports.storeCreators)) {
145
+ storeNames.add(node.name.text);
146
+ if (isGetDefaultStoreCall(node.initializer, imports.storeCreators)) {
147
+ defaultStoreNames.add(node.name.text);
148
+ }
149
+ }
150
+ if (isHookCall(node.initializer, imports.hooks, "useStore")) {
151
+ storeNames.add(node.name.text);
152
+ }
40
153
  }
41
154
  if (ts.isVariableDeclaration(node) &&
42
155
  ts.isArrayBindingPattern(node.name) &&
43
156
  node.initializer &&
44
- isUseAtomLikeCall(node.initializer, setters.useAtom)) {
157
+ isHookCall(node.initializer, imports.hooks, "useAtom")) {
45
158
  const atomArg = node.initializer.arguments[0];
159
+ const storeScopeForCall = resolveStoreScope(node.initializer, effectiveScope, imports);
160
+ const varId = resolveAtomVarId(atomArg, storeScopeForCall, source, imports, warnings, fileName, defaultStoreNames);
161
+ if (!varId) {
162
+ ts.forEachChild(node, (child) => visit(child, effectiveScope, nextComponent));
163
+ return;
164
+ }
46
165
  const reader = node.name.elements[0];
47
166
  const setter = node.name.elements.at(-1);
48
- if (atomArg &&
49
- ts.isIdentifier(atomArg) &&
50
- reader &&
167
+ const src = anchor(source, fileName, node);
168
+ if (reader &&
51
169
  ts.isBindingElement(reader) &&
52
170
  ts.isIdentifier(reader.name)) {
53
171
  channels.push({
54
- id: `atom:${atomArg.text}.read`,
55
- varId: `atom:${atomArg.text}`,
172
+ id: `${varId}.read`,
173
+ varId,
56
174
  symbolName: reader.name.text,
57
- source: {
58
- file: fileName,
59
- ...lineAndColumn(source, node),
60
- },
175
+ source: src,
61
176
  });
62
177
  }
63
- if (atomArg &&
64
- ts.isIdentifier(atomArg) &&
65
- setter &&
178
+ if (setter &&
66
179
  ts.isBindingElement(setter) &&
67
180
  ts.isIdentifier(setter.name)) {
68
181
  channels.push({
69
- id: `atom:${atomArg.text}.setter`,
70
- varId: `atom:${atomArg.text}`,
182
+ id: `${varId}.setter`,
183
+ varId,
71
184
  symbolName: setter.name.text,
72
- source: {
73
- file: fileName,
74
- ...lineAndColumn(source, node),
75
- },
185
+ source: src,
76
186
  });
77
187
  }
78
188
  }
79
189
  if (ts.isVariableDeclaration(node) &&
80
190
  ts.isIdentifier(node.name) &&
81
191
  node.initializer &&
82
- isUseAtomLikeCall(node.initializer, setters.useSetAtom)) {
192
+ (isHookCall(node.initializer, imports.hooks, "useSetAtom") ||
193
+ isHookCall(node.initializer, imports.hooks, "useResetAtom"))) {
194
+ const hookName = hookImportedName(node.initializer, imports.hooks);
83
195
  const atomArg = node.initializer.arguments[0];
84
- if (atomArg && ts.isIdentifier(atomArg)) {
196
+ const storeScopeForCall = resolveStoreScope(node.initializer, effectiveScope, imports);
197
+ const varId = resolveAtomVarId(atomArg, storeScopeForCall, source, imports, warnings, fileName, defaultStoreNames);
198
+ if (!varId) {
199
+ ts.forEachChild(node, (child) => visit(child, effectiveScope, nextComponent));
200
+ return;
201
+ }
202
+ const src = anchor(source, fileName, node);
203
+ if (hookName === "useResetAtom") {
204
+ channels.push({
205
+ id: `${varId}.reset`,
206
+ varId,
207
+ symbolName: node.name.text,
208
+ source: src,
209
+ });
210
+ }
211
+ else {
212
+ const atomName = atomArg && ts.isIdentifier(atomArg) ? atomArg.text : undefined;
213
+ const derivedEffect = atomName && derivedWriteEffects.has(atomName)
214
+ ? derivedWriteEffects.get(atomName)
215
+ : undefined;
216
+ const derivedVarId = derivedEffect
217
+ ? (effectTargetVar(derivedEffect) ?? varId)
218
+ : varId;
219
+ if (derivedEffect) {
220
+ setterFixedEffects.set(node.name.text, derivedEffect);
221
+ }
85
222
  channels.push({
86
- id: `atom:${atomArg.text}.setter`,
87
- varId: `atom:${atomArg.text}`,
223
+ id: `${derivedVarId}.setter`,
224
+ varId: derivedVarId,
88
225
  symbolName: node.name.text,
89
- source: {
90
- file: fileName,
91
- ...lineAndColumn(source, node),
92
- },
226
+ source: src,
93
227
  });
94
228
  }
95
229
  }
96
230
  if (ts.isCallExpression(node) &&
97
231
  ts.isPropertyAccessExpression(node.expression) &&
98
- node.expression.name.text === "set" &&
232
+ (node.expression.name.text === "set" ||
233
+ node.expression.name.text === "get" ||
234
+ node.expression.name.text === "sub") &&
99
235
  ts.isIdentifier(node.expression.expression) &&
100
- defaultStoreNames.has(node.expression.expression.text)) {
236
+ storeNames.has(node.expression.expression.text)) {
101
237
  const atomArg = node.arguments[0];
102
- if (atomArg && ts.isIdentifier(atomArg)) {
238
+ const storeScopeForCall = node.expression.expression.text;
239
+ const varId = resolveAtomVarId(atomArg, defaultStoreNames.has(storeScopeForCall)
240
+ ? undefined
241
+ : storeScopeForCall, source, imports, warnings, fileName, defaultStoreNames);
242
+ if (varId && node.expression.name.text === "set") {
103
243
  channels.push({
104
- id: `atom:${atomArg.text}.store-set`,
105
- varId: `atom:${atomArg.text}`,
106
- symbolName: `${node.expression.expression.text}.set:${atomArg.text}`,
107
- source: {
108
- file: fileName,
109
- ...lineAndColumn(source, node),
110
- },
244
+ id: `${varId}.store-set`,
245
+ varId,
246
+ symbolName: `${node.expression.expression.text}.set:${atomArg && ts.isIdentifier(atomArg) ? atomArg.text : "atom"}`,
247
+ source: anchor(source, fileName, node),
111
248
  });
112
249
  }
113
250
  }
251
+ if (ts.isJsxElement(node) || ts.isJsxSelfClosingElement(node)) {
252
+ const providerScope = providerScopeFromJsx(node, imports, source);
253
+ if (providerScope && providerScope !== effectiveScope) {
254
+ storeScopedDecls.push(...duplicateAtomsForStore(discovery.decls, providerScope));
255
+ }
256
+ const childScope = providerScope ?? effectiveScope;
257
+ ts.forEachChild(node, (child) => visit(child, childScope, nextComponent));
258
+ return;
259
+ }
260
+ ts.forEachChild(node, (child) => visit(child, effectiveScope, nextComponent));
261
+ };
262
+ visit(source, undefined, undefined);
263
+ return {
264
+ channels,
265
+ warnings,
266
+ resetSymbol: imports.resetSymbol,
267
+ resettableVarIds,
268
+ derivedWriteEffects,
269
+ setterFixedEffects,
270
+ storeScopedDecls,
271
+ };
272
+ }
273
+ function collectAtomClassifications(source, imports) {
274
+ const typeAliases = typeAliasDeclarations(source);
275
+ const result = new Map();
276
+ const visit = (node) => {
277
+ if (ts.isVariableDeclaration(node) &&
278
+ ts.isIdentifier(node.name) &&
279
+ node.initializer &&
280
+ isAtomCreatorCall(node.initializer, imports.atomCreators) &&
281
+ atomCreatorName(node.initializer, imports.atomCreators) === "atom") {
282
+ const classification = classifyAtomCall(node.initializer, node.name.text, imports, typeAliases);
283
+ const second = node.initializer.arguments[1];
284
+ result.set(node.name.text, {
285
+ configKind: classification.metadata.configKind,
286
+ ...(second && isReadFunction(second) ? { writeFn: second } : {}),
287
+ });
288
+ }
114
289
  ts.forEachChild(node, visit);
115
290
  };
116
291
  visit(source);
117
- return channels;
292
+ return result;
118
293
  }
119
- function getDefaultStoreImportNames(source) {
120
- const names = new Set();
121
- for (const statement of source.statements) {
122
- if (!ts.isImportDeclaration(statement) ||
123
- !isJotaiModule(statement.moduleSpecifier))
124
- continue;
125
- const bindings = statement.importClause?.namedBindings;
126
- if (!bindings || !ts.isNamedImports(bindings))
127
- continue;
128
- for (const specifier of bindings.elements) {
129
- const imported = specifier.propertyName?.text ?? specifier.name.text;
130
- if (imported === "getDefaultStore")
131
- names.add(specifier.name.text);
294
+ function resolveAtomVarId(atomArg, storeScope, source, imports, warnings, fileName, defaultStoreNames = new Set()) {
295
+ const effectiveScope = storeScope && !defaultStoreNames.has(storeScope) ? storeScope : undefined;
296
+ if (!atomArg)
297
+ return undefined;
298
+ if (ts.isIdentifier(atomArg)) {
299
+ return atomVarId(atomArg.text, effectiveScope);
300
+ }
301
+ if (ts.isCallExpression(atomArg) && ts.isIdentifier(atomArg.expression)) {
302
+ const param = atomArg.arguments[0];
303
+ const staticParam = param ? staticFamilyParam(param) : undefined;
304
+ if (!staticParam) {
305
+ warnings.push({
306
+ message: `Jotai dynamic atom family param unsupported for ${atomArg.expression.text}`,
307
+ source: anchor(source, fileName, atomArg),
308
+ });
309
+ return undefined;
132
310
  }
311
+ return familyVarId(atomArg.expression.text, staticParam);
133
312
  }
134
- return names;
313
+ return undefined;
314
+ }
315
+ function resolveStoreScope(call, inheritedScope, imports) {
316
+ const options = call.arguments[1];
317
+ if (options && ts.isObjectLiteralExpression(options)) {
318
+ for (const prop of options.properties) {
319
+ if (!ts.isPropertyAssignment(prop))
320
+ continue;
321
+ const name = propertyName(prop.name);
322
+ if (name === "store" && ts.isIdentifier(prop.initializer)) {
323
+ return prop.initializer.text;
324
+ }
325
+ }
326
+ }
327
+ return inheritedScope;
328
+ }
329
+ function isStoreCreatorCall(node, storeCreators) {
330
+ return (ts.isCallExpression(node) &&
331
+ ts.isIdentifier(node.expression) &&
332
+ storeCreators.has(node.expression.text));
333
+ }
334
+ function isGetDefaultStoreCall(node, storeCreators) {
335
+ if (!isStoreCreatorCall(node, storeCreators))
336
+ return false;
337
+ if (!ts.isCallExpression(node) || !ts.isIdentifier(node.expression))
338
+ return false;
339
+ return storeCreators.get(node.expression.text) === "getDefaultStore";
340
+ }
341
+ function effectTargetVar(effect) {
342
+ if (effect.kind === "assign")
343
+ return effect.var;
344
+ if (effect.kind === "seq") {
345
+ for (const child of effect.effects) {
346
+ const target = effectTargetVar(child);
347
+ if (target)
348
+ return target;
349
+ }
350
+ }
351
+ return undefined;
352
+ }
353
+ function hasWindowGuard(source) {
354
+ let found = false;
355
+ const visit = (node) => {
356
+ if (ts.isBinaryExpression(node) &&
357
+ node.operatorToken.kind === ts.SyntaxKind.InstanceOfKeyword &&
358
+ ts.isIdentifier(node.right) &&
359
+ node.right.text === "Window") {
360
+ found = true;
361
+ }
362
+ ts.forEachChild(node, visit);
363
+ };
364
+ visit(source);
365
+ return found;
366
+ }
367
+ function anchor(source, fileName, node) {
368
+ const pos = source.getLineAndCharacterOfPosition(node.getStart(source));
369
+ return { file: fileName, line: pos.line + 1, column: pos.character + 1 };
135
370
  }
136
- function setAtomImportNames(source) {
371
+ export function setAtomImportNames(source) {
372
+ const imports = resolveJotaiImports(source);
137
373
  const useAtom = new Set();
138
374
  const useSetAtom = new Set();
139
- for (const statement of source.statements) {
140
- if (!ts.isImportDeclaration(statement) ||
141
- !isJotaiModule(statement.moduleSpecifier))
142
- continue;
143
- const bindings = statement.importClause?.namedBindings;
144
- if (!bindings || !ts.isNamedImports(bindings))
145
- continue;
146
- for (const specifier of bindings.elements) {
147
- const imported = specifier.propertyName?.text ?? specifier.name.text;
148
- if (imported === "useAtom")
149
- useAtom.add(specifier.name.text);
150
- if (imported === "useSetAtom")
151
- useSetAtom.add(specifier.name.text);
152
- }
375
+ for (const [local, imported] of imports.hooks) {
376
+ if (imported === "useAtom")
377
+ useAtom.add(local);
378
+ if (imported === "useSetAtom")
379
+ useSetAtom.add(local);
153
380
  }
154
381
  return { useAtom, useSetAtom };
155
382
  }
156
- function isJotaiModule(moduleSpecifier) {
157
- return (ts.isStringLiteral(moduleSpecifier) && moduleSpecifier.text === "jotai");
383
+ export function getDefaultStoreImportNames(source) {
384
+ const imports = resolveJotaiImports(source);
385
+ const names = new Set();
386
+ for (const [local, imported] of imports.storeCreators) {
387
+ if (imported === "getDefaultStore")
388
+ names.add(local);
389
+ }
390
+ return names;
158
391
  }
159
- function isUseAtomLikeCall(node, names) {
392
+ export function isUseAtomLikeCall(node, names) {
160
393
  return (ts.isCallExpression(node) &&
161
394
  ts.isIdentifier(node.expression) &&
162
395
  names.has(node.expression.text));
163
396
  }
164
- function isGetDefaultStoreCall(node, names) {
165
- return (ts.isCallExpression(node) &&
166
- ts.isIdentifier(node.expression) &&
167
- names.has(node.expression.text));
397
+ export function jotaiResetSymbols(sourceText, fileName) {
398
+ const source = ts.createSourceFile(fileName, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
399
+ const imports = resolveJotaiImports(source);
400
+ const symbols = new Set();
401
+ if (imports.resetSymbol)
402
+ symbols.add(imports.resetSymbol);
403
+ symbols.add("RESET");
404
+ return symbols;
168
405
  }
169
- function lineAndColumn(source, node) {
170
- const pos = source.getLineAndCharacterOfPosition(node.getStart(source));
171
- return { line: pos.line + 1, column: pos.character + 1 };
406
+ export function jotaiInitialByVarId(decls) {
407
+ const map = new Map();
408
+ for (const decl of decls) {
409
+ if (decl.var)
410
+ map.set(decl.var.id, decl.var.initial);
411
+ }
412
+ return map;
172
413
  }
173
414
  //# sourceMappingURL=writes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writes.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/writes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writes.js","sourceRoot":"","sources":["../../../../src/extract/sources/jotai/writes.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export type SharedReactTransitionCtx = Omit<ExtractCtx, "stateVars" | "writeChan
8
8
  error?: Value;
9
9
  }>;
10
10
  inventory?: import("../../engine/spi/index.js").RouteInventory;
11
+ resetSymbols?: ReadonlySet<string>;
12
+ setterFixedEffects?: ReadonlyMap<string, import("modality-ts/core").EffectIR>;
13
+ resettableVarIds?: ReadonlySet<string>;
11
14
  };
12
15
  export declare function extractSharedReactTransitions(ctx: SharedReactTransitionCtx): SourceExtractionResult;
13
16
  export declare function extractSharedReactTransitionInventory(ctx: SharedReactTransitionCtx): import("../../engine/ts/react-source-transitions.js").ReactSourceTransitionResult;
@@ -1 +1 @@
1
- {"version":3,"file":"react-transition-extract.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/shared/react-transition-extract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,UAAU,EACV,WAAW,GAAG,eAAe,CAC9B,GAAG;IACF,SAAS,CAAC,EAAE,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACvD,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC;CAChE,CAAC;AAiBF,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,wBAAwB,GAC5B,sBAAsB,CAMxB;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,wBAAwB,qFAM9B"}
1
+ {"version":3,"file":"react-transition-extract.d.ts","sourceRoot":"","sources":["../../../../src/extract/sources/shared/react-transition-extract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,UAAU,EACV,WAAW,GAAG,eAAe,CAC9B,GAAG;IACF,SAAS,CAAC,EAAE,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACvD,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC;IAC/D,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC9E,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAsBF,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,wBAAwB,GAC5B,sBAAsB,CAMxB;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,wBAAwB,qFAM9B"}
@@ -11,6 +11,11 @@ function reactSourceTransitionOptions(ctx) {
11
11
  ...(ctx.writeChannels ? { writeChannels: ctx.writeChannels } : {}),
12
12
  ...(ctx.routerPlugin ? { routerPlugin: ctx.routerPlugin } : {}),
13
13
  ...(ctx.inventory ? { inventory: ctx.inventory } : {}),
14
+ ...(ctx.resetSymbols ? { resetSymbols: ctx.resetSymbols } : {}),
15
+ ...(ctx.setterFixedEffects
16
+ ? { setterFixedEffects: ctx.setterFixedEffects }
17
+ : {}),
18
+ ...(ctx.resettableVarIds ? { resettableVarIds: ctx.resettableVarIds } : {}),
14
19
  };
15
20
  }
16
21
  export function extractSharedReactTransitions(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"react-transition-extract.js","sourceRoot":"","sources":["../../../../src/extract/sources/shared/react-transition-extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAkB5F,SAAS,4BAA4B,CAAC,GAA6B;IACjE,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,GAA6B;IAE7B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CAC7D,GAAG,CAAC,UAAU,EACd,4BAA4B,CAAC,GAAG,CAAC,CAClC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,GAA6B;IAE7B,OAAO,6BAA6B,CAClC,GAAG,CAAC,UAAU,EACd,4BAA4B,CAAC,GAAG,CAAC,CAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"react-transition-extract.js","sourceRoot":"","sources":["../../../../src/extract/sources/shared/react-transition-extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAqB5F,SAAS,4BAA4B,CAAC,GAA6B;IACjE,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,GAAG,CAAC,kBAAkB;YACxB,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,GAA6B;IAE7B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CAC7D,GAAG,CAAC,UAAU,EACd,4BAA4B,CAAC,GAAG,CAAC,CAClC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,GAA6B;IAE7B,OAAO,6BAA6B,CAClC,GAAG,CAAC,UAAU,EACd,4BAA4B,CAAC,GAAG,CAAC,CAClC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "modality-ts",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "Model-checking-based testing tools for React state-transition bugs.",
5
5
  "license": "MIT",
6
6
  "repository": {