mirror of
https://github.com/morluto/rea.git
synced 2026-11-12 01:41:21 +00:00
refactor(javascript): break the semantic analysis import cycle (#8063)
* refactor(javascript): break the semantic analysis import cycle Split shared semantic facts out of the analysis hub so projectors of effects, evaluation, and identity no longer import one another in a cycle. * refactor(javascript): share the import specifier reader Read static imports in one module used by the boundary checker and both cycle guards, so those rules cannot drift apart. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This commit is contained in:
1 parent
940d71a45a
commit
249b90c5e3
33 files changed
+1043
-772
No files matched your search
@@ -9,19 +9,15 @@ import { calleeName } from "./javascriptStaticAnalysisHelpers.js";
|
||||
import type { JavaScriptBindingIndex } from "./javascriptSemanticState.js";
|
||||
import { createJavaScriptGraphqlScan } from "./javascriptGraphqlOperations.js";
|
||||
|
||||
/** One RPC operation or transport URL recovered from client-side syntax. */
|
||||
export interface JavaScriptRpcEndpoint {
|
||||
readonly value: string;
|
||||
readonly mechanism: string;
|
||||
}
|
||||
import type {
|
||||
JavaScriptRpcEndpoint,
|
||||
JavaScriptRpcScan,
|
||||
} from "./javascriptRpcEndpoint.js";
|
||||
|
||||
/** Feed every AST node in pre-order, then drain finish() for Source findings. */
|
||||
export interface JavaScriptRpcScan {
|
||||
inspect(node: t.Node): JavaScriptRpcEndpoint | undefined;
|
||||
finish(): Iterable<
|
||||
(JavaScriptRpcEndpoint & { readonly node: t.Node }) | void
|
||||
>;
|
||||
}
|
||||
export type {
|
||||
JavaScriptRpcEndpoint,
|
||||
JavaScriptRpcScan,
|
||||
} from "./javascriptRpcEndpoint.js";
|
||||
|
||||
// tRPC proxies preserve router and procedure names as property names, so they
|
||||
// survive identifier minification. Method names follow @trpc/react-query and
|
||||
|
||||
Reference in new issue
Block a user