tinylint 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types.d.ts ADDED
@@ -0,0 +1,147 @@
1
+ import type * as ts from "typescript";
2
+ export type TS = typeof import("typescript");
3
+ export type ProjectVersion = number | string;
4
+ export declare enum RuleScope {
5
+ File = 1,
6
+ Project = 2
7
+ }
8
+ export declare enum RuleTrigger {
9
+ Immediate = 1,
10
+ Debounced = 2,
11
+ Idle = 3
12
+ }
13
+ export declare enum LintPhase {
14
+ Immediate = 1,
15
+ Debounced = 2,
16
+ Idle = 3,
17
+ All = 4
18
+ }
19
+ export declare enum DiagnosticSeverity {
20
+ Suggestion = 1,
21
+ Warning = 2,
22
+ Error = 3
23
+ }
24
+ export interface LintDiagnostic {
25
+ fileName: string;
26
+ start: number;
27
+ length: number;
28
+ message: string;
29
+ severity: DiagnosticSeverity;
30
+ ruleName: string;
31
+ phase: RuleTrigger;
32
+ }
33
+ export interface RuleMetaOptions {
34
+ defaultSeverity?: DiagnosticSeverity;
35
+ requiresTypeInfo?: boolean;
36
+ scope?: RuleScope;
37
+ trigger?: RuleTrigger;
38
+ }
39
+ export declare class RuleMeta {
40
+ ruleName: string;
41
+ defaultSeverity: DiagnosticSeverity;
42
+ requiresTypeInfo: boolean;
43
+ scope: RuleScope;
44
+ trigger: RuleTrigger;
45
+ constructor(ruleName: string, options?: RuleMetaOptions);
46
+ }
47
+ export interface DiagnosticBuilder {
48
+ asWarning(): DiagnosticBuilder;
49
+ asError(): DiagnosticBuilder;
50
+ asSuggestion(): DiagnosticBuilder;
51
+ }
52
+ export interface FileRuleContext<TOptions> {
53
+ readonly typescript: TS;
54
+ readonly file: ts.SourceFile;
55
+ readonly program: ts.Program;
56
+ readonly checker: ts.TypeChecker | undefined;
57
+ readonly options: TOptions;
58
+ readonly phase: RuleTrigger;
59
+ readonly sourceText: string;
60
+ report(node: ts.Node, message: string): DiagnosticBuilder;
61
+ report(start: number, length: number, message: string): DiagnosticBuilder;
62
+ }
63
+ export interface ProjectRuleContext<TOptions> {
64
+ readonly typescript: TS;
65
+ readonly program: ts.Program;
66
+ readonly checker: ts.TypeChecker | undefined;
67
+ readonly options: TOptions;
68
+ readonly phase: RuleTrigger;
69
+ report(file: ts.SourceFile | string, start: number, length: number, message: string): DiagnosticBuilder;
70
+ }
71
+ export interface FileRuleVisitor {
72
+ enter?(node: ts.Node): void;
73
+ exit?(node: ts.Node): void;
74
+ finish?(): void;
75
+ }
76
+ export interface RuleDefinition<TOptions = unknown> {
77
+ readonly meta: RuleMeta;
78
+ readonly nodeKinds?: readonly number[];
79
+ create?(context: FileRuleContext<TOptions>): FileRuleVisitor | void;
80
+ createProject?(context: ProjectRuleContext<TOptions>): void;
81
+ }
82
+ export type RuleConfigValue = RuleDefinition<any> | readonly [RuleDefinition<any>, any] | false;
83
+ export interface LintConfig {
84
+ readonly rules: Record<string, RuleConfigValue>;
85
+ }
86
+ export interface LintWithProgramOptions {
87
+ readonly typescript: TS;
88
+ readonly program: ts.Program;
89
+ readonly config: LintConfig;
90
+ readonly fileNames?: readonly string[];
91
+ readonly changedFiles?: readonly string[];
92
+ readonly projectVersion?: ProjectVersion;
93
+ readonly currentFile?: string;
94
+ readonly phase?: LintPhase;
95
+ }
96
+ export interface LintRequest {
97
+ readonly fileNames?: readonly string[];
98
+ readonly changedFiles?: readonly string[];
99
+ readonly currentFile?: string;
100
+ readonly phase?: LintPhase;
101
+ }
102
+ export interface LintResult {
103
+ readonly diagnostics: readonly LintDiagnostic[];
104
+ readonly phase: LintPhase;
105
+ readonly projectVersion?: ProjectVersion;
106
+ }
107
+ export interface ProviderLinterOptions {
108
+ readonly typescript: TS;
109
+ readonly config: LintConfig;
110
+ readonly programProvider: () => ts.Program | undefined;
111
+ readonly getProjectVersion?: () => ProjectVersion | undefined;
112
+ readonly getChangedFiles?: () => readonly string[] | undefined;
113
+ readonly getCurrentFile?: () => string | undefined;
114
+ readonly getPhase?: () => LintPhase | undefined;
115
+ }
116
+ export interface ManagedProjectFile {
117
+ readonly content: string;
118
+ readonly kind?: ts.ScriptKind;
119
+ }
120
+ export type ManagedFileInput = ManagedProjectFile | string;
121
+ export interface ManagedLinterOptions {
122
+ readonly typescript: TS;
123
+ readonly config: LintConfig;
124
+ readonly files: Record<string, ManagedFileInput>;
125
+ readonly compilerOptions?: ts.CompilerOptions;
126
+ readonly currentDirectory?: string;
127
+ readonly libFiles?: Record<string, string>;
128
+ readonly defaultLibFileName?: string;
129
+ readonly useCaseSensitiveFileNames?: boolean;
130
+ }
131
+ export interface ManagedProjectResetOptions {
132
+ readonly files: Record<string, ManagedFileInput>;
133
+ readonly compilerOptions?: ts.CompilerOptions;
134
+ readonly currentDirectory?: string;
135
+ readonly libFiles?: Record<string, string>;
136
+ readonly defaultLibFileName?: string;
137
+ readonly useCaseSensitiveFileNames?: boolean;
138
+ }
139
+ export interface Linter {
140
+ lint(request?: LintRequest): LintResult;
141
+ getProgram(): ts.Program | undefined;
142
+ resetProject?(options: ManagedProjectResetOptions): void;
143
+ updateFile?(fileName: string, content: string, kind?: ts.ScriptKind): boolean;
144
+ removeFile?(fileName: string): boolean;
145
+ dispose(): void;
146
+ }
147
+ //# sourceMappingURL=types.d.ts.map
package/types.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/utils.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import type * as ts from "typescript";
2
+ import type { TS } from "./types";
3
+ export declare function normalizePath(fileName: string, useCaseSensitive: boolean): string;
4
+ export declare function joinPath(basePath: string, relativePath: string, useCaseSensitive: boolean): string;
5
+ export declare function getDirectoryPath(fileName: string, useCaseSensitive: boolean): string;
6
+ export declare function isRelativePath(value: string): boolean;
7
+ export declare function getScriptKindFromFileName(tsApi: TS, fileName: string): ts.ScriptKind;
8
+ export declare function getExtensionForFileName(tsApi: TS, fileName: string): ts.Extension;
9
+ export declare function useCaseSensitiveFileNames(tsApi: TS, override: boolean | undefined): boolean;
10
+ //# sourceMappingURL=utils.d.ts.map
package/utils.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM,CAqDjF;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM,CAWlG;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM,CAWpF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CA8BpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,CAAC,SAAS,CAkBjF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAS3F"}