Skip to content

Commit 091e7b1

Browse files
committed
feat(core): expose TS Program in RuleContext
1 parent f5694e9 commit 091e7b1

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

packages/core/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ export function createLinter(
7777
? {
7878
...ctx,
7979
sourceFile: ctx.languageService.getProgram()!.getSourceFile(fileName)!,
80+
get program() {
81+
return ctx.languageService.getProgram()!;
82+
},
8083
report,
8184
reportError: report,
8285
reportWarning: report,
@@ -85,6 +88,9 @@ export function createLinter(
8588
: {
8689
...ctx,
8790
languageService: syntaxOnlyLanguageService,
91+
get program(): ts.Program {
92+
throw new Error('Not supported');
93+
},
8894
sourceFile: getNonBoundSourceFile(fileName),
8995
report,
9096
reportError: report,

packages/types/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type {
55
FileTextChanges,
66
LanguageService,
77
LanguageServiceHost,
8+
Program,
89
SourceFile,
910
} from 'typescript';
1011

@@ -43,6 +44,7 @@ export interface RuleContext {
4344
typescript: typeof import('typescript');
4445
languageServiceHost: LanguageServiceHost;
4546
languageService: LanguageService;
47+
program: Program;
4648
sourceFile: SourceFile;
4749
report(message: string, start: number, end: number, stackOffset?: number): Reporter;
4850
/**

0 commit comments

Comments
 (0)