Skip to content

[APPS][Connections Part 9] Refactor action catalog module scope boundary#373

Open
sdkennedy2 wants to merge 1 commit into
masterfrom
sdkennedy2/refactor-action-catalog-module-scope
Open

[APPS][Connections Part 9] Refactor action catalog module scope boundary#373
sdkennedy2 wants to merge 1 commit into
masterfrom
sdkennedy2/refactor-action-catalog-module-scope

Conversation

@sdkennedy2
Copy link
Copy Markdown
Collaborator

@sdkennedy2 sdkennedy2 commented May 15, 2026

Motivation

This is the first slice split out of the previous all-in-one module graph PR. Before enriching module graph records, the shared eslint-scope analysis needs to live outside the action-catalog-specific call-site logic so module graph parsing can reuse identifier resolution without depending on connection ID or action catalog concepts.

Changes

This introduces a domain-neutral ModuleScopeAnalysis helper for parsed backend ES modules. It owns the eslint-scope manager, reference lookup by identifier node, and module-scope variable lookup.

Action catalog parsing now layers ActionCatalogScopeAnalysis on top of ModuleScopeAnalysis:

export interface ActionCatalogScopeAnalysis {
    moduleScope: ModuleScopeAnalysis;
    actionFunctions: Set<eslintScope.Variable>;
    actionNamespaces: Set<eslintScope.Variable>;
}

Connection ID value extraction now receives the generic module scope analysis directly. That keeps identifier-to-definition resolution shared while leaving action-catalog call classification and connection ID value resolution as separate domain concerns.

QA Instructions

No manual QA; this is an internal AST parsing refactor covered by CI.

Blast Radius

This only affects backend apps AST parsing used to discover action-catalog connection IDs. It should be behavior-preserving: the same call-site and same-module connection ID extraction tests continue to cover the changed boundary.

Documentation

Copy link
Copy Markdown
Collaborator Author

sdkennedy2 commented May 15, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant