fix(rsc): handle shadowing for use server variable binding#1170
Open
fix(rsc): handle shadowing for use server variable binding#1170
use server variable binding#1170Conversation
…ey and ExportSpecifier
- `{ [expr]: b }` — `expr` is now correctly treated as a reference (was
incorrectly treated as a binding), `b` correctly as a binding
- `ExportSpecifier` — `local` is now correctly treated as a reference,
`exported` as a non-reference (was treating both as references)
- Add test case for computed destructuring key captured from outer scope
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This reverts commit e97a20e.
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
There was a problem hiding this comment.
Pull request overview
This PR strengthens and expands the plugin’s internal scope analysis (used for use server / hoisting-related shadowing correctness) by switching CJS transform logic off periscopic, and by checking in a large fixture corpus + tooling to review/regenerate snapshots.
Changes:
- Replaced
periscopicanalysis usage in the CJS transform with the localbuildScopeTree. - Added a large set of scope fixtures +
.snap.jsonsnapshots (including a transpiledtypescript-eslintfixture corpus) to validate scope binding/shadowing. - Added scripts + docs to import and review fixture/snapshot data, and updated formatter ignore patterns for snapshot/fixture directories.
Reviewed changes
Copilot reviewed 300 out of 649 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| .oxfmtrc.json | Ignores snapshot JSONs and the typescript-eslint fixture subtree during formatting. |
| packages/plugin-rsc/package.json | Removes periscopic dependency after migrating to local scope analysis. |
| packages/plugin-rsc/docs/notes/2026-04-04-scope-unit-tests.md | Documents the scope fixture + snapshot testing strategy and migration steps. |
| packages/plugin-rsc/scripts/README.md | Documents the fixture import/review scripts and workflow. |
| packages/plugin-rsc/scripts/import-typescript-eslint-scope-fixtures.ts | New script to transpile upstream typescript-eslint scope-manager fixtures into checked-in JS. |
| packages/plugin-rsc/scripts/review-scope-fixtures.ts | New script to generate a Markdown “review packet” for fixture + snapshot pairs. |
| packages/plugin-rsc/src/transforms/cjs.ts | Switches require-shadowing checks from periscopic to buildScopeTree. |
| packages/plugin-rsc/src/transforms/fixtures/scope/array-destructuring-assignment.js | Adds a hand-crafted scope fixture for array destructuring assignment binding. |
| packages/plugin-rsc/src/transforms/fixtures/scope/array-destructuring-assignment.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/assign.js | Adds a hand-crafted scope fixture for assignment references. |
| packages/plugin-rsc/src/transforms/fixtures/scope/assign.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/catch-param.js | Adds a hand-crafted scope fixture for catch parameter scoping. |
| packages/plugin-rsc/src/transforms/fixtures/scope/catch-param.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/class-decl.js | Adds a hand-crafted scope fixture for class declarations and instantiation references. |
| packages/plugin-rsc/src/transforms/fixtures/scope/class-decl.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/computed-destructuring.js | Adds a hand-crafted scope fixture for computed property destructuring. |
| packages/plugin-rsc/src/transforms/fixtures/scope/computed-destructuring.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/destructured-params.js | Adds a hand-crafted scope fixture for destructured function parameters. |
| packages/plugin-rsc/src/transforms/fixtures/scope/destructured-params.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/destructuring-assignment.js | Adds a hand-crafted scope fixture for object destructuring assignment binding. |
| packages/plugin-rsc/src/transforms/fixtures/scope/destructuring-assignment.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/export-specifier.js | Adds a hand-crafted scope fixture covering export specifier reference semantics. |
| packages/plugin-rsc/src/transforms/fixtures/scope/export-specifier.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/fn-decl-hoisting.js | Adds a hand-crafted scope fixture for function declaration hoisting. |
| packages/plugin-rsc/src/transforms/fixtures/scope/fn-decl-hoisting.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/fn-expr-name.js | Adds a hand-crafted scope fixture for named function expression self-binding. |
| packages/plugin-rsc/src/transforms/fixtures/scope/fn-expr-name.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/import-specifier.js | Adds a hand-crafted scope fixture for import specifier bindings. |
| packages/plugin-rsc/src/transforms/fixtures/scope/import-specifier.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/label.js | Adds a hand-crafted scope fixture for labels (non-reference identifiers). |
| packages/plugin-rsc/src/transforms/fixtures/scope/label.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/let-const-block.js | Adds a hand-crafted scope fixture for block scoping with let/const. |
| packages/plugin-rsc/src/transforms/fixtures/scope/let-const-block.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/member-expr.js | Adds a hand-crafted scope fixture for member expressions and computed property keys. |
| packages/plugin-rsc/src/transforms/fixtures/scope/member-expr.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/method-definition.js | Adds a hand-crafted scope fixture for class method definitions + computed method keys. |
| packages/plugin-rsc/src/transforms/fixtures/scope/method-definition.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/object-expr-vs-pattern.js | Adds a hand-crafted scope fixture for object expression vs pattern binding name differences. |
| packages/plugin-rsc/src/transforms/fixtures/scope/object-expr-vs-pattern.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/param-defaults.js | Adds a hand-crafted scope fixture for parameter default scoping. |
| packages/plugin-rsc/src/transforms/fixtures/scope/param-defaults.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/propagation.js | Adds a hand-crafted scope fixture for closure capture / propagation. |
| packages/plugin-rsc/src/transforms/fixtures/scope/propagation.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/property-definition.js | Adds a hand-crafted scope fixture for class field initializers referencing outer bindings. |
| packages/plugin-rsc/src/transforms/fixtures/scope/property-definition.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/ref-global.js | Adds a hand-crafted scope fixture for global/unresolved references. |
| packages/plugin-rsc/src/transforms/fixtures/scope/ref-global.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/ref-outer-fn.js | Adds a hand-crafted scope fixture for referencing outer bindings from nested functions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/ref-outer-fn.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/shadowing-block.js | Adds a hand-crafted scope fixture for block-level shadowing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/shadowing-block.js.snap.json | Adds the expected scope-tree snapshot for the fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/block/inherited-scope.js | Adds imported typescript-eslint fixture for inherited scope behavior in blocks. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/block/inherited-scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/block/scope.js | Adds imported typescript-eslint fixture for block scoping rules. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/block/scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/call-expression/call-expression.js | Adds imported fixture for call expression references (incl. optional call). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/call-expression/call-expression.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/call-expression/type-parameters1.js | Adds imported fixture for TS type-parameter syntax lowering edge-cases. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/call-expression/type-parameters1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/call-expression/type-parameters2.js | Adds imported fixture for value/type namespace resolution expectations. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/call-expression/type-parameters2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/destructuring-array.js | Adds imported fixture for catch clause destructuring (array). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/destructuring-array.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/destructuring-object.js | Adds imported fixture for catch clause destructuring (object). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/destructuring-object.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/inherited-scope.js | Adds imported fixture for catch clause inheriting outer scope refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/inherited-scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/scope.js | Adds imported fixture for catch clause binding + unresolved refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/catch/scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/abstract-accessor-property.js | Adds imported fixture for TS-only syntax lowering to JS class declarations. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/abstract-accessor-property.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/abstract-property.js | Adds imported fixture for TS-only class members lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/abstract-property.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/abstract.js | Adds imported fixture for abstract class lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/abstract.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/accessor-property-type-annotation.js | Adds imported fixture for accessor property type annotations lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/accessor-property-type-annotation.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/accessor-property.js | Adds imported fixture for accessor-property related bindings. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/accessor-property.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/computed-member.js | Adds imported fixture for computed class members and scope interaction. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/computed-member.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/extends-generic.js | Adds imported fixture for generic extends lowering and refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/extends-generic.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/extends.js | Adds imported fixture for class extends resolution. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/extends.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/generic-ref-extends.js | Adds imported fixture for generic refs in extends expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/generic-ref-extends.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/generic-ref-implements.js | Adds imported fixture for implements refs lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/generic-ref-implements.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/generic.js | Adds imported fixture for generic class syntax lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/generic.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/implements-generic.js | Adds imported fixture for implements generic lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/implements-generic.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/implements.js | Adds imported fixture for implements lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/implements.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/index-signature.js | Adds imported fixture for index signature lowering/no-op in JS output. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/index-signature.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/method-param-default.js | Adds imported fixture for method param default resolution (member access). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/method-param-default.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/method.js | Adds imported fixture for method params + unresolved identifiers. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/method.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/new.js | Adds imported fixture for new expressions referencing a class binding. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/new.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/parameter-properties.js | Adds imported fixture for constructor params and default initializers in classes. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/parameter-properties.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/private-identifier.js | Adds imported fixture for private identifier usage in classes. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/private-identifier.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/properties-type-annotation.js | Adds imported fixture for TS-only property type annotations lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/properties-type-annotation.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/properties.js | Adds imported fixture for class property assignments and unresolved globals. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/properties.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/static-block.js | Adds imported fixture for static block scoping. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/static-block.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/static-external-ref.js | Adds imported fixture for static block external refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/static-external-ref.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/static-with-constructor.js | Adds imported fixture for static block + constructor refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/static-with-constructor.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/type-reference.js | Adds imported fixture for type/value namespace resolution lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/declaration/type-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/computed-member.js | Adds imported fixture for computed members in class expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/computed-member.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/extends.js | Adds imported fixture for class expression extends refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/extends.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/method.js | Adds imported fixture for class expression methods and param binding. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/method.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/new.js | Adds imported fixture for new with class expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/new.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/parameter-properties.js | Adds imported fixture for constructor param defaults in class expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/parameter-properties.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/private-identifier.js | Adds imported fixture for private identifiers in class expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/private-identifier.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/properties.js | Adds imported fixture for properties set in class expression constructors. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/properties.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/self-reference-super.js | Adds imported fixture for class-name self-reference when extending in class expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/class/expression/self-reference-super.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/class-deco-with-object-param.js | Adds imported decorator-lowered fixture (with helper injection). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/class-deco-with-object-param.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/class-property.js | Adds imported decorator-lowered fixture for class property decorators. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/class-property.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/class.js | Adds imported decorator-lowered fixture for class decorators (+ helpers). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/class.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/method.js | Adds imported decorator-lowered fixture for method decorators. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/method.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/parameter-property.js | Adds imported decorator-lowered fixture for parameter properties. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/parameter.js | Adds imported decorator-lowered fixture for parameter decorators. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/typeof-this.js | Adds imported decorator-lowered fixture with this/helper references. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/typeof-this.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/array-assignment.js | Adds imported destructuring assignment fixture for array patterns. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/array-assignment.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/array.js | Adds imported destructuring declaration fixture for array patterns. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/array.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/object-assignment.js | Adds imported destructuring assignment fixture for object patterns. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/object-assignment.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/object.js | Adds imported destructuring declaration fixture for object patterns. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/destructuring/object.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/all.js | Adds imported export-all fixture for module export semantics. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/all.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default-type.js | Adds imported fixture for default exports and value/type distinctions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default-type.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default1.js | Adds imported default export fixture (named function). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default2.js | Adds imported default export fixture (identifier). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default3.js | Adds imported default export fixture (literal). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default3.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default4.js | Adds imported default export fixture (anonymous function). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/default4.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals1.js | Adds imported export {} fixture establishing module mode + declarations. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals2.js | Adds imported export {} fixture in module mode. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals3-type.js | Adds imported fixture for type-only export lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals3-type.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals4-type.js | Adds imported fixture for type-only export lowering (variant). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/equals4-type.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-dual.js | Adds imported fixture for named exports from local bindings. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-dual.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-source1.js | Adds imported fixture for re-exports with a source module (unresolved local). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-source1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-source2.js | Adds imported fixture for re-export with aliasing from a source module. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-source2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-type1.js | Adds imported fixture for type-only named exports lowering. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named-type1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named1.js | Adds imported fixture for inline named export declarations. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named2-type.js | Adds imported fixture for type-only named export statements. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named2-type.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named2.js | Adds imported fixture for named exports resolving local bindings. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named3-type.js | Adds imported fixture for type-only named export alias statements. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named3-type.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named3.js | Adds imported fixture for named export aliasing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/named3.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/type-inline.js | Adds imported fixture for module mode and unused bindings (T) cases. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/type-inline.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/type.js | Adds imported fixture for type-related export lowering in JS output. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/export/type.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-body-shadow.js | Adds imported fixture for default-param binding resolution vs body shadowing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-body-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-const.js | Adds imported fixture for default param referencing outer const. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-const.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-let.js | Adds imported fixture for default param referencing outer let. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-let.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-nested-body-shadow.js | Adds imported fixture for nested default-param function capturing outer vs shadowing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-nested-body-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-nested.js | Adds imported fixture for nested default-param closure scoping. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-nested.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-param-shadow.js | Adds imported fixture for default param resolved against later param shadowing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-param-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-partial.js | Adds imported fixture for partial/member-expression default param refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/readable-ref-partial.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/writable-ref.js | Adds imported fixture for default param writable binding. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/default-params/writable-ref.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/inherited-scope.js | Adds imported fixture for outer-scope reference inside arrow function. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/inherited-scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/no-body.js | Adds imported fixture for expression-body arrow functions and param bindings. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/no-body.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/params.js | Adds imported fixture for arrow parameter bindings + unresolved refs. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/params.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/scope.js | Adds imported fixture for arrow function scope behavior (var leaking, unresolved). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate-asserts1.js | Adds imported fixture for TS-only syntax lowering that becomes JS no-op. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate-asserts1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate-asserts2.js | Adds imported fixture for TS-only asserts lowering (variant). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate-asserts2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate1.js | Adds imported fixture for type predicate lowering to runtime check. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate2.js | Adds imported fixture for type predicate lowering (variant). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-predicate2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/body-reference.js | Adds imported fixture for TS type parameters being erased in JS output (body). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/body-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/param-reference.js | Adds imported fixture for TS type params erased but runtime params kept. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/param-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/return-value-reference.js | Adds imported fixture for TS return type param erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/return-value-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/type-param-reference.js | Adds imported fixture for type param reference erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/type-param-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/type-parameter-declaration.js | Adds imported fixture for type param declaration erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/arrow/type-parameters/type-parameter-declaration.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-body-shadow.js | Adds imported fixture for function decl default param vs body shadowing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-body-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-const.js | Adds imported fixture for default param capturing outer const (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-const.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-let.js | Adds imported fixture for default param capturing outer let (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-let.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-nested-body-shadow.js | Adds imported fixture for nested default closures + body shadowing (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-nested-body-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-nested.js | Adds imported fixture for nested default closures (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-nested.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-param-shadow.js | Adds imported fixture for default param resolved to later param (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-param-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-partial.js | Adds imported fixture for partial/member-expr in default param (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/readable-ref-partial.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/writable-ref.js | Adds imported fixture for default param writable binding (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/default-params/writable-ref.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/inherited-scope.js | Adds imported fixture for function decl referencing outer scope. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/inherited-scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/name-shadowed-in-body.js | Adds imported fixture where function name is shadowed in its body. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/name-shadowed-in-body.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/overload.js | Adds imported fixture for overload-like patterns lowered to JS. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/overload.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/params.js | Adds imported fixture for complex params + unresolved refs (function decl). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/params.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/scope.js | Adds imported fixture for function decl + var scope behavior. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/scope.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate-asserts1.js | Adds imported fixture for TS-only asserts/type predicate erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate-asserts1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate-asserts2.js | Adds imported fixture for asserts/type predicate erasure (variant). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate-asserts2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate1.js | Adds imported fixture for type predicate lowering to runtime check. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate1.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate2.js | Adds imported fixture for type predicate lowering (variant). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-predicate2.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/body-reference.js | Adds imported fixture for TS type params erased in function decl bodies. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/body-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/param-reference.js | Adds imported fixture for param reference when type params are erased. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/param-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/return-value-reference.js | Adds imported fixture for return type param erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/return-value-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/type-param-reference.js | Adds imported fixture for type param reference erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/type-param-reference.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/type-parameter-declaration.js | Adds imported fixture for type param declaration erasure. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-declaration/type-parameters/type-parameter-declaration.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/anonymous.js | Adds imported fixture for anonymous function expressions. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/anonymous.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-body-shadow.js | Adds imported fixture for function expr default params vs body shadowing. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-body-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-const.js | Adds imported fixture for default param referencing outer const (function expr). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-const.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-let.js | Adds imported fixture for default param referencing outer let (function expr). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-let.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-nested-body-shadow.js | Adds imported fixture for nested default closure + body shadowing (function expr). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-nested-body-shadow.js.snap.json | Snapshot for the imported fixture. |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-nested.js | Adds imported fixture for nested default closure scoping (function expr). |
| packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/functions/function-expression/default-params/readable-ref-nested.js.snap.json | Snapshot for the imported fixture. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/plugin-rsc/src/transforms/fixtures/scope/typescript-eslint/decorators/parameter.js
Show resolved
Hide resolved
packages/plugin-rsc/scripts/import-typescript-eslint-scope-fixtures.ts
Outdated
Show resolved
Hide resolved
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Survey of 8 prior art scope analyzers (periscopic, vite-ssr, eslint-scope, babel-traverse, oxc_semantic, oxc-walker, next.js, typescript-eslint) compared against our custom buildScopeTree. Documents data models, scope types, resolution strategies, and bugs found in both ours and theirs — including the default-param + var hoisting spec violation in our implementation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
…note Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Credits to
While I'm trying to understand the PR, it seems imminent to properly plan and iterate for the larger picture. This PR doesn't address member expression based binding, but the foundation needed for future enhancement has been taken into account.
TODO:
isReferenceIdentifierpackages/plugin-rsc/docs/notes/2026-04-05-scope-manager-research.md(though I didn't really review except periscopic and vite ssr)
hoist.test.ts(probably should go opposite by turning these inline input into files)