driftdetect-lsp 0.9.27 → 0.9.28
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/LICENSE +121 -0
- package/package.json +15 -15
- package/dist/bin/server.d.ts +0 -12
- package/dist/bin/server.js +0 -26
- package/dist/bin/server.js.map +0 -1
- package/dist/capabilities.d.ts +0 -91
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js +0 -183
- package/dist/capabilities.js.map +0 -1
- package/dist/commands/approve-pattern.d.ts +0 -15
- package/dist/commands/approve-pattern.js +0 -83
- package/dist/commands/approve-pattern.js.map +0 -1
- package/dist/commands/create-variant.d.ts +0 -22
- package/dist/commands/create-variant.js +0 -109
- package/dist/commands/create-variant.js.map +0 -1
- package/dist/commands/explain-ai.d.ts +0 -11
- package/dist/commands/explain-ai.js +0 -144
- package/dist/commands/explain-ai.js.map +0 -1
- package/dist/commands/fix-ai.d.ts +0 -11
- package/dist/commands/fix-ai.js +0 -146
- package/dist/commands/fix-ai.js.map +0 -1
- package/dist/commands/ignore-once.d.ts +0 -33
- package/dist/commands/ignore-once.js +0 -147
- package/dist/commands/ignore-once.js.map +0 -1
- package/dist/commands/ignore-pattern.d.ts +0 -15
- package/dist/commands/ignore-pattern.js +0 -77
- package/dist/commands/ignore-pattern.js.map +0 -1
- package/dist/commands/index.d.ts +0 -14
- package/dist/commands/index.js +0 -14
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/rescan.d.ts +0 -19
- package/dist/commands/rescan.js +0 -125
- package/dist/commands/rescan.js.map +0 -1
- package/dist/commands/show-patterns.d.ts +0 -30
- package/dist/commands/show-patterns.js +0 -175
- package/dist/commands/show-patterns.js.map +0 -1
- package/dist/commands/show-violations.d.ts +0 -11
- package/dist/commands/show-violations.js +0 -259
- package/dist/commands/show-violations.js.map +0 -1
- package/dist/handlers/code-actions.d.ts +0 -32
- package/dist/handlers/code-actions.js +0 -184
- package/dist/handlers/code-actions.js.map +0 -1
- package/dist/handlers/code-lens.d.ts +0 -32
- package/dist/handlers/code-lens.js +0 -162
- package/dist/handlers/code-lens.js.map +0 -1
- package/dist/handlers/commands.d.ts +0 -48
- package/dist/handlers/commands.js +0 -360
- package/dist/handlers/commands.js.map +0 -1
- package/dist/handlers/diagnostics.d.ts +0 -73
- package/dist/handlers/diagnostics.js +0 -259
- package/dist/handlers/diagnostics.js.map +0 -1
- package/dist/handlers/document-sync.d.ts +0 -37
- package/dist/handlers/document-sync.js +0 -49
- package/dist/handlers/document-sync.js.map +0 -1
- package/dist/handlers/hover.d.ts +0 -30
- package/dist/handlers/hover.js +0 -119
- package/dist/handlers/hover.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -23
- package/dist/handlers/index.js +0 -16
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/initialize.d.ts +0 -41
- package/dist/handlers/initialize.d.ts.map +0 -1
- package/dist/handlers/initialize.js +0 -33
- package/dist/handlers/initialize.js.map +0 -1
- package/dist/index.d.ts +0 -22
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/dist/integration/core-scanner.d.ts +0 -89
- package/dist/integration/core-scanner.js +0 -309
- package/dist/integration/core-scanner.js.map +0 -1
- package/dist/integration/index.d.ts +0 -11
- package/dist/integration/index.js +0 -11
- package/dist/integration/index.js.map +0 -1
- package/dist/integration/pattern-store-adapter.d.ts +0 -117
- package/dist/integration/pattern-store-adapter.js +0 -349
- package/dist/integration/pattern-store-adapter.js.map +0 -1
- package/dist/integration/types.d.ts +0 -134
- package/dist/integration/types.js +0 -39
- package/dist/integration/types.js.map +0 -1
- package/dist/server/index.d.ts +0 -5
- package/dist/server/index.js +0 -5
- package/dist/server/index.js.map +0 -1
- package/dist/server/types.d.ts +0 -139
- package/dist/server/types.js +0 -8
- package/dist/server/types.js.map +0 -1
- package/dist/server.d.ts +0 -63
- package/dist/server.js +0 -208
- package/dist/server.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.js +0 -5
- package/dist/types/index.js.map +0 -1
- package/dist/types/lsp-types.d.ts +0 -321
- package/dist/types/lsp-types.js +0 -274
- package/dist/types/lsp-types.js.map +0 -1
- package/dist/utils/diagnostic.d.ts +0 -84
- package/dist/utils/diagnostic.js +0 -256
- package/dist/utils/diagnostic.js.map +0 -1
- package/dist/utils/document.d.ts +0 -40
- package/dist/utils/document.d.ts.map +0 -1
- package/dist/utils/document.js +0 -138
- package/dist/utils/document.js.map +0 -1
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -8
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/position.d.ts +0 -44
- package/dist/utils/position.d.ts.map +0 -1
- package/dist/utils/position.js +0 -96
- package/dist/utils/position.js.map +0 -1
- package/dist/utils/workspace.d.ts +0 -98
- package/dist/utils/workspace.js +0 -241
- package/dist/utils/workspace.js.map +0 -1
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Utilities - Workspace helpers
|
|
3
|
-
* @requirements 27.1
|
|
4
|
-
*/
|
|
5
|
-
import type { WorkspaceFolder } from '../types/lsp-types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Convert file path to URI
|
|
8
|
-
*/
|
|
9
|
-
export declare function pathToUri(path: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* Convert URI to file path
|
|
12
|
-
*/
|
|
13
|
-
export declare function uriToPath(uri: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* Get file name from URI
|
|
16
|
-
*/
|
|
17
|
-
export declare function getFileName(uri: string): string;
|
|
18
|
-
/**
|
|
19
|
-
* Get file extension from URI
|
|
20
|
-
*/
|
|
21
|
-
export declare function getFileExtension(uri: string): string;
|
|
22
|
-
/**
|
|
23
|
-
* Get directory from URI
|
|
24
|
-
*/
|
|
25
|
-
export declare function getDirectory(uri: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* Join URI with path segments
|
|
28
|
-
*/
|
|
29
|
-
export declare function joinUri(base: string, ...segments: string[]): string;
|
|
30
|
-
/**
|
|
31
|
-
* Get relative path from base URI
|
|
32
|
-
*/
|
|
33
|
-
export declare function getRelativePath(baseUri: string, targetUri: string): string;
|
|
34
|
-
/**
|
|
35
|
-
* Check if URI is a child of another URI
|
|
36
|
-
*/
|
|
37
|
-
export declare function isChildOf(parentUri: string, childUri: string): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Find workspace folder for URI
|
|
40
|
-
*/
|
|
41
|
-
export declare function findWorkspaceFolder(uri: string, workspaceFolders: WorkspaceFolder[]): WorkspaceFolder | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Get workspace root URI
|
|
44
|
-
*/
|
|
45
|
-
export declare function getWorkspaceRoot(workspaceFolders: WorkspaceFolder[]): string | undefined;
|
|
46
|
-
/**
|
|
47
|
-
* Check if URI is in workspace
|
|
48
|
-
*/
|
|
49
|
-
export declare function isInWorkspace(uri: string, workspaceFolders: WorkspaceFolder[]): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Get all workspace URIs
|
|
52
|
-
*/
|
|
53
|
-
export declare function getWorkspaceUris(workspaceFolders: WorkspaceFolder[]): string[];
|
|
54
|
-
/**
|
|
55
|
-
* Check if URI matches a glob pattern
|
|
56
|
-
*/
|
|
57
|
-
export declare function matchesGlob(uri: string, pattern: string): boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Check if URI matches any of the glob patterns
|
|
60
|
-
*/
|
|
61
|
-
export declare function matchesAnyGlob(uri: string, patterns: string[]): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Filter URIs by glob patterns
|
|
64
|
-
*/
|
|
65
|
-
export declare function filterByGlob(uris: string[], includePatterns: string[], excludePatterns?: string[]): string[];
|
|
66
|
-
/**
|
|
67
|
-
* Check if URI is a TypeScript file
|
|
68
|
-
*/
|
|
69
|
-
export declare function isTypeScriptFile(uri: string): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Check if URI is a JavaScript file
|
|
72
|
-
*/
|
|
73
|
-
export declare function isJavaScriptFile(uri: string): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Check if URI is a CSS file
|
|
76
|
-
*/
|
|
77
|
-
export declare function isCssFile(uri: string): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* Check if URI is a JSON file
|
|
80
|
-
*/
|
|
81
|
-
export declare function isJsonFile(uri: string): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Check if URI is a Markdown file
|
|
84
|
-
*/
|
|
85
|
-
export declare function isMarkdownFile(uri: string): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Check if URI is a configuration file
|
|
88
|
-
*/
|
|
89
|
-
export declare function isConfigFile(uri: string): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Check if URI is a test file
|
|
92
|
-
*/
|
|
93
|
-
export declare function isTestFile(uri: string): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Check if URI should be excluded from scanning
|
|
96
|
-
*/
|
|
97
|
-
export declare function shouldExclude(uri: string, excludePatterns: string[]): boolean;
|
|
98
|
-
//# sourceMappingURL=workspace.d.ts.map
|
package/dist/utils/workspace.js
DELETED
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Utilities - Workspace helpers
|
|
3
|
-
* @requirements 27.1
|
|
4
|
-
*/
|
|
5
|
-
import { URI } from 'vscode-uri';
|
|
6
|
-
// ============================================================================
|
|
7
|
-
// URI Utilities
|
|
8
|
-
// ============================================================================
|
|
9
|
-
/**
|
|
10
|
-
* Convert file path to URI
|
|
11
|
-
*/
|
|
12
|
-
export function pathToUri(path) {
|
|
13
|
-
return URI.file(path).toString();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Convert URI to file path
|
|
17
|
-
*/
|
|
18
|
-
export function uriToPath(uri) {
|
|
19
|
-
return URI.parse(uri).fsPath;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get file name from URI
|
|
23
|
-
*/
|
|
24
|
-
export function getFileName(uri) {
|
|
25
|
-
const parsed = URI.parse(uri);
|
|
26
|
-
const path = parsed.fsPath;
|
|
27
|
-
return path.split(/[/\\]/).pop() ?? '';
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Get file extension from URI
|
|
31
|
-
*/
|
|
32
|
-
export function getFileExtension(uri) {
|
|
33
|
-
const fileName = getFileName(uri);
|
|
34
|
-
const parts = fileName.split('.');
|
|
35
|
-
return parts.length > 1 ? parts.pop() ?? '' : '';
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Get directory from URI
|
|
39
|
-
*/
|
|
40
|
-
export function getDirectory(uri) {
|
|
41
|
-
const parsed = URI.parse(uri);
|
|
42
|
-
const path = parsed.fsPath;
|
|
43
|
-
const parts = path.split(/[/\\]/);
|
|
44
|
-
parts.pop();
|
|
45
|
-
return parts.join('/');
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Join URI with path segments
|
|
49
|
-
*/
|
|
50
|
-
export function joinUri(base, ...segments) {
|
|
51
|
-
const parsed = URI.parse(base);
|
|
52
|
-
const basePath = parsed.fsPath;
|
|
53
|
-
const joined = [basePath, ...segments].join('/');
|
|
54
|
-
return URI.file(joined).toString();
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get relative path from base URI
|
|
58
|
-
*/
|
|
59
|
-
export function getRelativePath(baseUri, targetUri) {
|
|
60
|
-
const basePath = uriToPath(baseUri);
|
|
61
|
-
const targetPath = uriToPath(targetUri);
|
|
62
|
-
if (targetPath.startsWith(basePath)) {
|
|
63
|
-
return targetPath.substring(basePath.length).replace(/^[/\\]/, '');
|
|
64
|
-
}
|
|
65
|
-
return targetPath;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Check if URI is a child of another URI
|
|
69
|
-
*/
|
|
70
|
-
export function isChildOf(parentUri, childUri) {
|
|
71
|
-
const parentPath = uriToPath(parentUri);
|
|
72
|
-
const childPath = uriToPath(childUri);
|
|
73
|
-
return childPath.startsWith(parentPath + '/') || childPath.startsWith(parentPath + '\\');
|
|
74
|
-
}
|
|
75
|
-
// ============================================================================
|
|
76
|
-
// Workspace Utilities
|
|
77
|
-
// ============================================================================
|
|
78
|
-
/**
|
|
79
|
-
* Find workspace folder for URI
|
|
80
|
-
*/
|
|
81
|
-
export function findWorkspaceFolder(uri, workspaceFolders) {
|
|
82
|
-
for (const folder of workspaceFolders) {
|
|
83
|
-
if (isChildOf(folder.uri, uri) || folder.uri === uri) {
|
|
84
|
-
return folder;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get workspace root URI
|
|
91
|
-
*/
|
|
92
|
-
export function getWorkspaceRoot(workspaceFolders) {
|
|
93
|
-
return workspaceFolders[0]?.uri;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Check if URI is in workspace
|
|
97
|
-
*/
|
|
98
|
-
export function isInWorkspace(uri, workspaceFolders) {
|
|
99
|
-
return findWorkspaceFolder(uri, workspaceFolders) !== undefined;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get all workspace URIs
|
|
103
|
-
*/
|
|
104
|
-
export function getWorkspaceUris(workspaceFolders) {
|
|
105
|
-
return workspaceFolders.map((f) => f.uri);
|
|
106
|
-
}
|
|
107
|
-
// ============================================================================
|
|
108
|
-
// Pattern Matching
|
|
109
|
-
// ============================================================================
|
|
110
|
-
/**
|
|
111
|
-
* Check if URI matches a glob pattern
|
|
112
|
-
*/
|
|
113
|
-
export function matchesGlob(uri, pattern) {
|
|
114
|
-
const path = uriToPath(uri);
|
|
115
|
-
const regex = globToRegex(pattern);
|
|
116
|
-
return regex.test(path);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Check if URI matches any of the glob patterns
|
|
120
|
-
*/
|
|
121
|
-
export function matchesAnyGlob(uri, patterns) {
|
|
122
|
-
return patterns.some((pattern) => matchesGlob(uri, pattern));
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Convert glob pattern to regex
|
|
126
|
-
*/
|
|
127
|
-
function globToRegex(glob) {
|
|
128
|
-
let regex = glob
|
|
129
|
-
// Escape special regex characters except * and ?
|
|
130
|
-
.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
131
|
-
// Convert ** to match any path
|
|
132
|
-
.replace(/\*\*/g, '.*')
|
|
133
|
-
// Convert * to match any characters except /
|
|
134
|
-
.replace(/\*/g, '[^/\\\\]*')
|
|
135
|
-
// Convert ? to match single character
|
|
136
|
-
.replace(/\?/g, '.');
|
|
137
|
-
return new RegExp(`^${regex}$`, 'i');
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Filter URIs by glob patterns
|
|
141
|
-
*/
|
|
142
|
-
export function filterByGlob(uris, includePatterns, excludePatterns = []) {
|
|
143
|
-
return uris.filter((uri) => {
|
|
144
|
-
// Must match at least one include pattern
|
|
145
|
-
if (includePatterns.length > 0 && !matchesAnyGlob(uri, includePatterns)) {
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
// Must not match any exclude pattern
|
|
149
|
-
if (excludePatterns.length > 0 && matchesAnyGlob(uri, excludePatterns)) {
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
return true;
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
// ============================================================================
|
|
156
|
-
// File Type Utilities
|
|
157
|
-
// ============================================================================
|
|
158
|
-
/**
|
|
159
|
-
* Check if URI is a TypeScript file
|
|
160
|
-
*/
|
|
161
|
-
export function isTypeScriptFile(uri) {
|
|
162
|
-
const ext = getFileExtension(uri).toLowerCase();
|
|
163
|
-
return ['ts', 'tsx', 'mts', 'cts'].includes(ext);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Check if URI is a JavaScript file
|
|
167
|
-
*/
|
|
168
|
-
export function isJavaScriptFile(uri) {
|
|
169
|
-
const ext = getFileExtension(uri).toLowerCase();
|
|
170
|
-
return ['js', 'jsx', 'mjs', 'cjs'].includes(ext);
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Check if URI is a CSS file
|
|
174
|
-
*/
|
|
175
|
-
export function isCssFile(uri) {
|
|
176
|
-
const ext = getFileExtension(uri).toLowerCase();
|
|
177
|
-
return ['css', 'scss', 'sass', 'less'].includes(ext);
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Check if URI is a JSON file
|
|
181
|
-
*/
|
|
182
|
-
export function isJsonFile(uri) {
|
|
183
|
-
const ext = getFileExtension(uri).toLowerCase();
|
|
184
|
-
return ['json', 'jsonc'].includes(ext);
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Check if URI is a Markdown file
|
|
188
|
-
*/
|
|
189
|
-
export function isMarkdownFile(uri) {
|
|
190
|
-
const ext = getFileExtension(uri).toLowerCase();
|
|
191
|
-
return ['md', 'markdown'].includes(ext);
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Check if URI is a configuration file
|
|
195
|
-
*/
|
|
196
|
-
export function isConfigFile(uri) {
|
|
197
|
-
const fileName = getFileName(uri).toLowerCase();
|
|
198
|
-
const configPatterns = [
|
|
199
|
-
/^\..*rc$/,
|
|
200
|
-
/^\..*rc\.json$/,
|
|
201
|
-
/^\..*rc\.js$/,
|
|
202
|
-
/^\..*rc\.cjs$/,
|
|
203
|
-
/^\..*rc\.mjs$/,
|
|
204
|
-
/^.*\.config\.(js|ts|json|cjs|mjs)$/,
|
|
205
|
-
/^tsconfig.*\.json$/,
|
|
206
|
-
/^package\.json$/,
|
|
207
|
-
/^\.env.*$/,
|
|
208
|
-
];
|
|
209
|
-
return configPatterns.some((pattern) => pattern.test(fileName));
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Check if URI is a test file
|
|
213
|
-
*/
|
|
214
|
-
export function isTestFile(uri) {
|
|
215
|
-
const fileName = getFileName(uri).toLowerCase();
|
|
216
|
-
const testPatterns = [
|
|
217
|
-
/\.test\.(ts|tsx|js|jsx)$/,
|
|
218
|
-
/\.spec\.(ts|tsx|js|jsx)$/,
|
|
219
|
-
/_test\.(ts|tsx|js|jsx)$/,
|
|
220
|
-
/test_.*\.(ts|tsx|js|jsx)$/,
|
|
221
|
-
];
|
|
222
|
-
return testPatterns.some((pattern) => pattern.test(fileName));
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Check if URI should be excluded from scanning
|
|
226
|
-
*/
|
|
227
|
-
export function shouldExclude(uri, excludePatterns) {
|
|
228
|
-
// Default exclusions
|
|
229
|
-
const defaultExclusions = [
|
|
230
|
-
'**/node_modules/**',
|
|
231
|
-
'**/dist/**',
|
|
232
|
-
'**/build/**',
|
|
233
|
-
'**/.git/**',
|
|
234
|
-
'**/coverage/**',
|
|
235
|
-
'**/.next/**',
|
|
236
|
-
'**/.nuxt/**',
|
|
237
|
-
];
|
|
238
|
-
const allPatterns = [...defaultExclusions, ...excludePatterns];
|
|
239
|
-
return matchesAnyGlob(uri, allPatterns);
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=workspace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/utils/workspace.ts"],"names":[],"mappings":"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"}
|