-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Set up TypeScript ESTree infrastructure #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit establishes the foundational infrastructure for porting @typescript-eslint/typescript-estree to Go. This is the first step before implementing any parser functionality. ## Changes ### Module Structure - Created new Go module at `internal/typescript-estree/` - Organized into parser, converter, types, utils, and testutils packages - Added go.mod with typescript-go shim dependencies ### Build Configuration - Updated go.work to include new module - Created Makefile with targets for testing, linting, and coverage - Integrated with existing CI/CD workflows ### Type Definitions - Added ESTree-compliant type definitions (Node, SourceLocation, Position) - Implemented BaseNode with common functionality - Created example concrete types (Program, Identifier) ### Test Infrastructure - Set up test files for all packages - Created testutils package with helper functions - All tests pass and run in parallel ### Documentation - Added comprehensive README for the module - Created TYPESCRIPT_ESTREE_SETUP.md with overview - Inline documentation for all exported types and functions ## Verification - ✅ Tests run successfully: `go test ./internal/typescript-estree/...` - ✅ Module dependencies resolve correctly - ✅ Workspace configuration valid ## Next Steps This infrastructure enables the next phases: 1. Port core parser functionality 2. Implement AST converter 3. Add comprehensive test coverage 4. Support JSX parsing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
🤖 This pull request has been linked to AutoDev Task #778 View the task details and manage the automated development workflow in AutoDev. |
📋 AutoDev Task PromptObjectiveSet up the CI/CD infrastructure and build configuration necessary for the typescript-estree port into rslint. Documentation & Resources
ScopeThis task focuses on setting up the infrastructure without implementing features:
Technical Requirements
Out of Scope
Success Criteria
Reference Implementation
This comment was automatically added by AutoDev. You can disable this feature in AutoDev Settings. |
Code Review: TypeScript ESTree Infrastructure SetupSummaryThis PR establishes foundational infrastructure for porting ✅ Code Quality and Best PracticesStrengths
Minor Suggestions
🐛 Potential Bugs and IssuesCritical Issues: None FoundMinor Issues
⚡ Performance ConsiderationsPositive Aspects
Suggestions
🔒 Security ConcernsAssessment: No Security Issues FoundThis infrastructure PR contains no security vulnerabilities. The code:
Future RecommendationsWhen implementing the parser:
🧪 Test CoverageCurrent StateTest Infrastructure: ✅ Excellent foundation
Coverage Gaps (Expected for Infrastructure PR)As noted in the PR description, these are expected and will be addressed in future PRs:
Recommendations
📋 Additional ObservationsPositive Points
Questions/Clarifications
🎯 VerdictRecommendation: ✅ APPROVE This is an exemplary infrastructure PR. The code is:
The infrastructure provides a solid foundation for the TypeScript ESTree port. The minor suggestions above are non-blocking and can be addressed in follow-up PRs during implementation. Next StepsAs noted in the PR description, the next phases should focus on:
Great work on this foundational setup! 🚀 Generated with Claude Code - Code Review |
This PR implements TypeScript version compatibility checking, ported from @typescript-eslint/typescript-estree's version-check.ts. ## What's Included - **Version Package**: New `internal/typescript-estree/version/` package - **Semantic Versioning**: Using Masterminds/semver for version parsing and comparison - **Version Detection**: Detects and validates TypeScript versions - **Compatibility Warnings**: Issues warnings for unsupported TypeScript versions - **Feature Flags**: Provides `TypeScriptVersionIsAtLeast` map for conditional features - **Comprehensive Tests**: Full test coverage with 9 test suites ## Features ### Version Detection - Parses TypeScript version strings (stable, RC, beta) - Validates against supported version list - Thread-safe initialization with sync.Once ### Version Comparison - Supports semantic version constraints - Handles pre-release versions (RC, beta) - Provides both map-based and function-based checks ### Supported Versions Currently supports TypeScript 4.7 through 5.7: - 4.7, 4.8, 4.9 - 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 ### Warning System - Automatically warns about unsupported versions - One-time warning per execution - Clear messaging about supported versions ## Implementation Details ### Core Functions - `SetTypeScriptVersion(version)`: Initialize version checking - `IsVersionAtLeast(version)`: Check version compatibility - `GetCurrentVersion()`: Retrieve detected version - `GetSupportedVersions()`: List supported versions ### Version Comparison Logic For version check "5.4", accepts: - >= 5.4.0 (stable releases) - >= 5.4.1-rc (release candidates) - >= 5.4.0-beta (beta releases) ## Testing All tests pass with comprehensive coverage: ```bash $ go test ./internal/typescript-estree/version/... -v PASS ok github.com/web-infra-dev/rslint/internal/typescript-estree/version ``` Test coverage includes: - Version setting and retrieval - Semantic version comparison - Pre-release version handling - Concurrent access safety - Supported version detection ## Files Changed - `internal/typescript-estree/version/version.go`: Core implementation - `internal/typescript-estree/version/version_test.go`: Comprehensive tests - `internal/typescript-estree/version/README.md`: Package documentation - `internal/typescript-estree/README.md`: Updated project structure - `internal/typescript-estree/go.mod`: Added semver dependency ## Dependencies Added `github.com/Masterminds/semver/v3 v3.3.1` for semantic versioning. ## Related Follow-up to PR #3 (TypeScript ESTree infrastructure setup). ## References - [Original version-check.ts](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-estree/src/version-check.ts) - [TypeScript Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/overview.html) - [Semantic Versioning](https://semver.org/) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
## Summary This PR implements the complete type system for ESTree nodes in Go, porting all base ESTree node types and TypeScript-specific extensions (TSESTree types) from typescript-estree. ## Changes ### New Type Files - **positions.go** - Position, SourceLocation, Range types for source location tracking - **base.go** - Core Node interface, BaseNode implementation, and fundamental types - **expressions.go** - All expression node types (40+ types including ES5-ES2022) - **statements.go** - All statement and declaration types (30+ types) - **patterns.go** - Destructuring pattern types for ES2015+ - **typescript.go** - Complete TypeScript-specific node types (60+ types) - **tokens.go** - Token types, keywords, and punctuators - **README.md** - Comprehensive documentation for the type system ### Updated Files - **types_test.go** - Comprehensive unit tests covering: - Node interface implementation - JSON serialization/deserialization - All major node types (base, expressions, statements, patterns, TypeScript) - Token and comment types ### Removed Files - **types.go** - Replaced by the modular file structure ### Other Changes - **go.work** - Removed non-existent typescript-go reference ## Type Coverage ### Base ESTree (ES5-ES2022) ✅ All expression types (literals, operators, functions, classes, etc.) ✅ All statement types (control flow, loops, declarations, modules, etc.) ✅ All pattern types (destructuring for ES2015+) ✅ Position and location types ✅ Token and comment types ### TypeScript Extensions (TSESTree) ✅ All type annotation types (primitives, complex types, etc.) ✅ All TypeScript declarations (interface, type alias, enum, module) ✅ All TypeScript expressions (as, satisfies, non-null assertion) ✅ Type parameters and instantiation ✅ Advanced types (conditional, mapped, indexed access, etc.) ## Technical Implementation - All types implement the `Node` interface - Marker interfaces for categorization (Statement, Expression, Declaration, Pattern, TSType) - Go struct embedding for type hierarchies - JSON struct tags for ESTree-compliant serialization - Comprehensive documentation comments for each type - Zero external dependencies ## Testing All tests pass: ``` go test ./types/... ok github.com/web-infra-dev/rslint/internal/typescript-estree/types 0.003s ``` ## References - ESTree specification: https://github.com/estree/estree - TypeScript-ESTree: https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/typescript-estree - TypeScript-ESTree AST spec: https://typescript-eslint.io/packages/typescript-estree/ast-spec/ ## Related Follow-up to #3 (TypeScript ESTree infrastructure setup) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
## Summary This PR implements TypeScript version compatibility checking, ported from [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-estree/src/version-check.ts)'s version-check.ts. ### What's Included - ✅ **Version Package**: New `internal/typescript-estree/version/` package with complete implementation - ✅ **Semantic Versioning**: Integration with Masterminds/semver for robust version parsing and comparison - ✅ **Version Detection**: Automatic TypeScript version detection and validation - ✅ **Compatibility Warnings**: Clear warnings for unsupported TypeScript versions - ✅ **Feature Flags**: `TypeScriptVersionIsAtLeast` map for version-dependent features - ✅ **Comprehensive Tests**: Full test coverage with 9 test suites, all passing - ✅ **Documentation**: Complete README and inline documentation ## Features ### 🔍 Version Detection - Parses TypeScript version strings (stable, RC, and beta releases) - Validates against a list of explicitly supported versions - Thread-safe initialization using `sync.Once` - Graceful handling of invalid version strings ### 📊 Version Comparison - Semantic version constraint checking - Support for pre-release versions (RC, beta) - Both map-based and function-based version checks - Dynamic version comparison for unlisted versions ### ✅ Supported Versions Currently supports TypeScript 4.7 through 5.7: ``` 4.7, 4.8, 4.9 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 ``` ###⚠️ Warning System - Automatic warnings for unsupported TypeScript versions - One-time warning per program execution - Clear messaging with supported version list - Non-blocking warnings (graceful degradation) ## Implementation Details ### Core API ```go // Initialize version checking version.SetTypeScriptVersion("5.4.0") // Check version compatibility if version.IsVersionAtLeast("5.4") { // Use TypeScript 5.4+ features } // Get current version currentVersion := version.GetCurrentVersion() // Access pre-computed version map if version.TypeScriptVersionIsAtLeast["5.0"] { // TypeScript 5.0 features available } ``` ### Version Comparison Logic For a version check like `IsVersionAtLeast("5.4")`, the following constraint is evaluated: ``` >= 5.4.0 || >= 5.4.1-rc || >= 5.4.0-beta ``` This ensures compatibility with: - Stable releases (e.g., `5.4.0`, `5.4.5`) - Release candidates (e.g., `5.4.1-rc`) - Beta releases (e.g., `5.4.0-beta`) ## Testing All tests pass with excellent coverage: ```bash $ go test ./internal/typescript-estree/version/... -v === RUN TestSetTypeScriptVersion --- PASS: TestSetTypeScriptVersion (0.00s) === RUN TestIsVersionAtLeast --- PASS: TestIsVersionAtLeast (0.00s) === RUN TestTypeScriptVersionIsAtLeast --- PASS: TestTypeScriptVersionIsAtLeast (0.00s) === RUN TestGetCurrentVersion --- PASS: TestGetCurrentVersion (0.00s) === RUN TestGetSupportedVersions --- PASS: TestGetSupportedVersions (0.00s) === RUN TestSemverCheck --- PASS: TestSemverCheck (0.00s) === RUN TestIsVersionSupported --- PASS: TestIsVersionSupported (0.00s) === RUN TestResetVersionCheck --- PASS: TestResetVersionCheck (0.00s) === RUN TestConcurrentVersionCheck --- PASS: TestConcurrentVersionCheck (0.00s) PASS ok github.com/web-infra-dev/rslint/internal/typescript-estree/version ``` ### Test Coverage - ✅ Version string parsing (stable, RC, beta) - ✅ Semantic version comparison logic - ✅ Supported version detection - ✅ Pre-release version handling - ✅ Concurrent access safety - ✅ State reset (for testing) - ✅ Edge cases and error handling ## Files Changed ### New Files - `internal/typescript-estree/version/version.go` (170 lines) - Core version checking implementation - Version detection and comparison logic - Warning system - `internal/typescript-estree/version/version_test.go` (317 lines) - Comprehensive test suite - 9 test functions with multiple sub-tests - Concurrent access testing - `internal/typescript-estree/version/README.md` (283 lines) - Complete package documentation - Usage examples - API reference ### Modified Files - `internal/typescript-estree/README.md` - Updated project structure - Added version package description - `internal/typescript-estree/go.mod` - Added `github.com/Masterminds/semver/v3 v3.3.1` - `internal/typescript-estree/go.sum` - Updated with semver checksums ## Dependencies Added **Masterminds/semver v3.3.1** for semantic versioning: - Industry-standard Go semver library - Full semver 2.0.0 compliance - Constraint checking support - Pre-release version support ## Integration Path This version checking system will be integrated into the parser in future PRs: 1. **Parser Initialization**: Call `SetTypeScriptVersion()` with detected TS version 2. **Feature Detection**: Use `IsVersionAtLeast()` for conditional parsing logic 3. **Error Reporting**: Surface version warnings to users 4. **Testing**: Verify behavior across supported TypeScript versions ## Related Work - **Follows**: PR #3 (TypeScript ESTree infrastructure setup) - **Precedes**: Parser implementation (will use version flags) - **Implements**: Version checking from typescript-eslint/typescript-estree ## References - [Original version-check.ts](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-estree/src/version-check.ts) - [TypeScript Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/overview.html) - [Semantic Versioning 2.0.0](https://semver.org/) - [Masterminds/semver](https://github.com/Masterminds/semver) ## Test Plan - [x] All tests pass: `go test ./internal/typescript-estree/version/...` - [x] Module builds successfully - [x] Dependencies resolve correctly - [x] Documentation is complete and accurate - [x] Version comparison logic matches original TypeScript implementation - [x] Thread safety verified with concurrent test - [x] Warning system functions correctly ## Next Steps After this PR is merged: 1. Integrate version checking into parser initialization 2. Add version-specific parsing features 3. Create compatibility test suite across TS versions 4. Update parser to use version flags 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
… Go (#5) ## Summary This PR implements the complete type system for ESTree nodes in Go, porting all base ESTree node types and TypeScript-specific extensions (TSESTree types) from typescript-estree. **This builds upon the infrastructure established in #3.** ## Changes ### New Type Files - ✅ **positions.go** - Position, SourceLocation, Range types for source location tracking - ✅ **base.go** - Core Node interface, BaseNode implementation, and fundamental types - ✅ **expressions.go** - All expression node types (40+ types including ES5-ES2022) - ✅ **statements.go** - All statement and declaration types (30+ types) - ✅ **patterns.go** - Destructuring pattern types for ES2015+ - ✅ **typescript.go** - Complete TypeScript-specific node types (60+ types) - ✅ **tokens.go** - Token types, keywords, and punctuators - ✅ **README.md** - Comprehensive documentation for the type system ### Updated Files - ✅ **types_test.go** - Comprehensive unit tests covering: - Node interface implementation - JSON serialization/deserialization - All major node types (base, expressions, statements, patterns, TypeScript) - Token and comment types ### Removed Files - ❌ **types.go** - Replaced by the modular file structure ### Other Changes - 🔧 **go.work** - Removed non-existent typescript-go reference ## Type Coverage ### Base ESTree (ES5-ES2022) ✅ All expression types (literals, operators, functions, classes, etc.) ✅ All statement types (control flow, loops, declarations, modules, etc.) ✅ All pattern types (destructuring for ES2015+) ✅ Position and location types ✅ Token and comment types ### TypeScript Extensions (TSESTree) ✅ All type annotation types (primitives, complex types, etc.) ✅ All TypeScript declarations (interface, type alias, enum, module) ✅ All TypeScript expressions (as, satisfies, non-null assertion) ✅ Type parameters and instantiation ✅ Advanced types (conditional, mapped, indexed access, etc.) ## Technical Implementation - All types implement the `Node` interface - Marker interfaces for categorization (Statement, Expression, Declaration, Pattern, TSType) - Go struct embedding for type hierarchies - JSON struct tags for ESTree-compliant serialization - Comprehensive documentation comments for each type - Zero external dependencies beyond Go standard library ## File Organization The types are logically organized into separate files for maintainability: ``` internal/typescript-estree/types/ ├── positions.go # Source location types ├── base.go # Core interfaces and base types ├── expressions.go # Expression node types ├── statements.go # Statement and declaration types ├── patterns.go # Destructuring patterns ├── typescript.go # TypeScript-specific types ├── tokens.go # Token and keyword definitions ├── README.md # Package documentation └── types_test.go # Comprehensive tests ``` ## Testing All tests pass successfully: ```bash $ go test ./internal/typescript-estree/types/... ok github.com/web-infra-dev/rslint/internal/typescript-estree/types 0.003s ``` Tests cover: - ✅ Node interface implementation - ✅ JSON serialization/deserialization - ✅ Base node types (Program, Identifier, etc.) - ✅ Expression types (BinaryExpression, CallExpression, etc.) - ✅ Statement types (FunctionDeclaration, VariableDeclaration, etc.) - ✅ Pattern types (ArrayPattern, ObjectPattern, etc.) - ✅ TypeScript types (TSInterfaceDeclaration, TSTypeAnnotation, etc.) - ✅ Token and comment types ## Examples ### Creating Expression Nodes ```go // Binary expression: x + 42 left := &types.Identifier{ BaseNode: types.BaseNode{NodeType: "Identifier"}, Name: "x", } right := &types.SimpleLiteral{ BaseNode: types.BaseNode{NodeType: "Literal"}, Value: float64(42), Raw: "42", } binExpr := &types.BinaryExpression{ BaseNode: types.BaseNode{NodeType: "BinaryExpression"}, Operator: "+", Left: left, Right: right, } ``` ### TypeScript Interface Declaration ```go iface := &types.TSInterfaceDeclaration{ BaseNode: types.BaseNode{NodeType: "TSInterfaceDeclaration"}, ID: &types.Identifier{ BaseNode: types.BaseNode{NodeType: "Identifier"}, Name: "MyInterface", }, Body: &types.TSInterfaceBody{ BaseNode: types.BaseNode{NodeType: "TSInterfaceBody"}, Body: []types.Node{}, }, } ``` ## Documentation Each type includes comprehensive documentation comments explaining: - What the node represents - Which ECMAScript/TypeScript version introduced it - Example usage where appropriate - Field descriptions See the [types README](internal/typescript-estree/types/README.md) for complete documentation. ## References - [ESTree Specification](https://github.com/estree/estree) - [TypeScript-ESTree](https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/typescript-estree) - [TypeScript-ESTree AST Spec](https://typescript-eslint.io/packages/typescript-estree/ast-spec/) - [@types/estree](https://www.npmjs.com/package/@types/estree) ## Related - Builds upon #3 (TypeScript ESTree infrastructure setup) - Part of the TypeScript ESTree porting effort for rslint ## Next Steps After this PR is merged, the next steps will be: 1. Implement the parser logic to generate these AST nodes 2. Implement the converter to transform TypeScript AST to ESTree format 3. Add comprehensive integration tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
## Summary This PR implements the core parsing entry points and orchestration for the typescript-estree port, building upon #3 (infrastructure) and #5 (type definitions). ## Changes ### Parser Package (`internal/typescript-estree/parser/`) **Main Functions:** - ✅ `Parse()` - Basic parsing without type information - ✅ `ParseAndGenerateServices()` - Parsing with TypeScript Program services **Data Structures:** - ✅ `ParseOptions` - Complete configuration matching typescript-estree API (14 fields) - ✅ `ParseSettings` - Internal configuration management - ✅ `ParserServices` - Type information and node mapping services - ✅ `ParseResult` - Combined AST and services result **Key Features:** - JSDoc parsing mode support (all/none/type-info) - Source type configuration (script/module) - Location and range tracking - Token and comment collection - TypeScript version validation - Integration with typescript-go compiler - Support for pre-created TypeScript Programs ### Converter Package Updates **New Functions:** - ✅ `ConvertProgram()` - Main entry point for AST conversion - ✅ `NewConverter()` - Converter instance creation with configuration **Enhanced ConvertOptions:** - Added FilePath, SourceType, Loc, Range, Tokens, Comment fields - Added PreserveNodeMaps for parser services node mapping - Support for both standalone and program-based conversion **Node Mapping:** - Bidirectional mapping between ESTree and TypeScript AST nodes - Enables type checker integration via ParserServices ### Testing **Parser Tests (`parser_test.go`):** - ParseOptions validation - JSDoc parsing mode tests - TypeScript version checking - Configuration management tests - Placeholder tests for full parsing (marked as skip until implementation complete) **Converter Tests (`converter_test.go`):** - ConvertOptions validation - ConvertProgram error handling - Nil input handling - Simplified to avoid dependencies on unimplemented TypeScript APIs **Test Results:** ```bash ok github.com/web-infra-dev/rslint/internal/typescript-estree/converter 0.003s ok github.com/web-infra-dev/rslint/internal/typescript-estree/parser 0.004s ok github.com/web-infra-dev/rslint/internal/typescript-estree/types (cached) ok github.com/web-infra-dev/rslint/internal/typescript-estree/utils (cached) ``` ### Documentation - ✅ Comprehensive parser README with examples and API documentation - ✅ Inline documentation for all public types and functions - ✅ Implementation status and architecture overview ## Implementation Status ### ✅ Complete - Parser API structure matching typescript-estree - ParseOptions with all 14 fields from typescript-estree - ParseSettings internal configuration - ParserServices for type information access - Integration with typescript-go compiler - Integration with converter package - TypeScript version checking functions - Comprehensive test infrastructure ### 🚧 Partial / TODO **Standalone Parsing:** Currently requires TypeScript Program/Project configuration. Direct source file creation is not yet available in typescript-go shim API. This will be addressed in a follow-up PR once the typescript-go API is available. **AST Conversion:** The converter has placeholder implementations returning empty Program nodes. Full node-by-node conversion logic will be implemented in the next PR focusing on the converter implementation. ## Technical Details **Architecture:** ``` Parse/ParseAndGenerateServices (entry points) ↓ ParseSettings (config normalization) ↓ parseWithTypeScript (typescript-go integration) ↓ converter.ConvertProgram (ESTree generation) ↓ ESTree Program + ParserServices (result) ``` **TypeScript Integration:** - Uses typescript-go shim for TypeScript compiler access - Supports both standalone and project-based parsing modes - Integrates with existing rslint TypeScript infrastructure **Error Handling:** - Go-style error returns instead of exceptions - Validation of required options for parseAndGenerateServices - Graceful handling of nil options with sensible defaults ## Compatibility Matches typescript-estree API: - parseOptions structure and field names - parse() and parseAndGenerateServices() function signatures - ParserServices structure for type information - JSDocParsingMode enum values ## Next Steps After this PR: 1. Implement full AST conversion in converter package 2. Add standalone parsing support (pending typescript-go API) 3. Implement comment and token extraction 4. Add comprehensive integration tests with real TypeScript code 5. Performance optimization for batch parsing ## Related - Built upon #3 (TypeScript ESTree infrastructure) - Built upon #5 (Complete ESTree type definitions) - Part of the TypeScript ESTree porting effort for rslint 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Summary
This PR sets up the foundational infrastructure and build configuration necessary for the TypeScript ESTree port into rslint. This contains only scaffolding and infrastructure - no actual parser implementation.
What's Included
internal/typescript-estree/with organized packagesDirectory Structure
Verification
All infrastructure is verified to work:
New Makefile Targets
What's NOT Included
This infrastructure must be merged first before any feature implementation work can begin.
Test plan
go test ./internal/typescript-estree/...Related Issues
Part of the TypeScript ESTree porting effort for rslint.
References
🤖 Generated with Claude Code