@stylelint/language-server 1.1.0 → 1.2.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/bin/stylelint-language-server.mjs +1 -1
- package/build/di/container.js +1 -1
- package/build/di/container.js.map +1 -1
- package/build/di/hooks.js +1 -2
- package/build/di/hooks.js.map +1 -1
- package/build/di/module.d.ts +4 -0
- package/build/di/module.js +2 -2
- package/build/di/module.js.map +1 -1
- package/build/di/runtime/types.d.ts +5 -5
- package/build/di/tokens.js.map +1 -1
- package/build/server/decorators.d.ts +26 -9
- package/build/server/decorators.js +28 -4
- package/build/server/decorators.js.map +1 -1
- package/build/server/services/documents/document-fixes.service.js.map +1 -1
- package/build/server/services/infrastructure/notification.service.js +1 -4
- package/build/server/services/infrastructure/notification.service.js.map +1 -1
- package/build/server/services/lsp/code-actions/code-action.service.d.ts +1 -1
- package/build/server/services/lsp/code-actions/code-action.service.js +7 -4
- package/build/server/services/lsp/code-actions/code-action.service.js.map +1 -1
- package/build/server/services/lsp/completion.service.d.ts +1 -1
- package/build/server/services/lsp/completion.service.js +3 -2
- package/build/server/services/lsp/completion.service.js.map +1 -1
- package/build/server/services/lsp/validator.service.js +115 -37
- package/build/server/services/lsp/validator.service.js.map +1 -1
- package/build/server/services/stylelint-runtime/stylelint-runner.service.d.ts +1 -1
- package/build/server/services/stylelint-runtime/stylelint-runner.service.js +4 -4
- package/build/server/services/stylelint-runtime/stylelint-runner.service.js.map +1 -1
- package/build/server/services/stylelint-runtime/worker-environment.service.js +23 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.js.map +1 -1
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.d.ts +3 -3
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.js +6 -6
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.js.map +1 -1
- package/build/server/services/workspace/workspace-folder.service.d.ts +5 -0
- package/build/server/services/workspace/workspace-folder.service.js +34 -11
- package/build/server/services/workspace/workspace-folder.service.js.map +1 -1
- package/build/server/services/workspace/workspace-options.service.js +20 -0
- package/build/server/services/workspace/workspace-options.service.js.map +1 -1
- package/build/server/stylelint/get-disable-diagnostic-rule.js +7 -4
- package/build/server/stylelint/get-disable-diagnostic-rule.js.map +1 -1
- package/build/server/stylelint/process-linter-result.js +8 -12
- package/build/server/stylelint/process-linter-result.js.map +1 -1
- package/build/server/stylelint/types.js.map +1 -1
- package/build/server/stylelint/warning-to-diagnostic.d.ts +16 -2
- package/build/server/stylelint/warning-to-diagnostic.js +39 -25
- package/build/server/stylelint/warning-to-diagnostic.js.map +1 -1
- package/build/server/types.js.map +1 -1
- package/build/server/utils/documents/get-disable-type.js.map +1 -1
- package/build/server/utils/errors.js.map +1 -1
- package/build/server/utils/logging/get-log-function.js +1 -0
- package/build/server/utils/logging/get-log-function.js.map +1 -1
- package/build/server/utils/lsp/index.d.ts +1 -0
- package/build/server/utils/lsp/index.js +1 -0
- package/build/server/utils/lsp/index.js.map +1 -1
- package/build/server/utils/lsp/throw-if-cancelled.d.ts +6 -0
- package/build/server/utils/lsp/throw-if-cancelled.js +11 -0
- package/build/server/utils/lsp/throw-if-cancelled.js.map +1 -0
- package/build/server/worker/types.d.ts +3 -0
- package/build/server/worker/worker-entry.js +43 -8
- package/build/server/worker/worker-entry.js.map +1 -1
- package/build/server/worker/worker-process.d.ts +6 -3
- package/build/server/worker/worker-process.js +38 -7
- package/build/server/worker/worker-process.js.map +1 -1
- package/package.json +10 -9
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
1
8
|
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
9
|
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
10
|
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
@@ -25,39 +32,46 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
25
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
33
|
done = true;
|
|
27
34
|
};
|
|
28
|
-
|
|
29
|
-
var useValue = arguments.length > 2;
|
|
30
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
-
}
|
|
33
|
-
return useValue ? value : void 0;
|
|
34
|
-
};
|
|
35
|
+
import { DidChangeWorkspaceFoldersNotification } from 'vscode-languageserver-protocol';
|
|
35
36
|
import { inject } from '../../../di/index.js';
|
|
37
|
+
import { lspService, notification } from '../../decorators.js';
|
|
36
38
|
import { NormalizeFsPathToken, PathIsInsideToken, UriModuleToken } from '../../tokens.js';
|
|
37
39
|
let WorkspaceFolderService = (() => {
|
|
38
|
-
let _classDecorators = [inject({
|
|
40
|
+
let _classDecorators = [lspService(), inject({
|
|
39
41
|
inject: [PathIsInsideToken, UriModuleToken, NormalizeFsPathToken],
|
|
40
42
|
})];
|
|
41
43
|
let _classDescriptor;
|
|
42
44
|
let _classExtraInitializers = [];
|
|
43
45
|
let _classThis;
|
|
46
|
+
let _instanceExtraInitializers = [];
|
|
47
|
+
let _clearCache_decorators;
|
|
44
48
|
var WorkspaceFolderService = class {
|
|
45
49
|
static { _classThis = this; }
|
|
46
50
|
static {
|
|
47
51
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
52
|
+
_clearCache_decorators = [notification(DidChangeWorkspaceFoldersNotification.type)];
|
|
53
|
+
__esDecorate(this, null, _clearCache_decorators, { kind: "method", name: "clearCache", static: false, private: false, access: { has: obj => "clearCache" in obj, get: obj => obj.clearCache }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
48
54
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
49
55
|
WorkspaceFolderService = _classThis = _classDescriptor.value;
|
|
50
56
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
51
57
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
52
58
|
}
|
|
53
|
-
#pathIsInside;
|
|
59
|
+
#pathIsInside = __runInitializers(this, _instanceExtraInitializers);
|
|
54
60
|
#uri;
|
|
55
61
|
#normalizeFsPath;
|
|
62
|
+
#cachedFolders;
|
|
56
63
|
constructor(pathIsInsideFn, uriModule, normalizeFsPathFn) {
|
|
57
64
|
this.#pathIsInside = pathIsInsideFn;
|
|
58
65
|
this.#uri = uriModule;
|
|
59
66
|
this.#normalizeFsPath = normalizeFsPathFn;
|
|
60
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Clears the cached workspace folders when the set of workspace folders
|
|
70
|
+
* changes.
|
|
71
|
+
*/
|
|
72
|
+
clearCache() {
|
|
73
|
+
this.#cachedFolders = undefined;
|
|
74
|
+
}
|
|
61
75
|
/**
|
|
62
76
|
* Gets the workspace folder for a given document. If the document is an
|
|
63
77
|
* untitled file, then the first open workspace folder is returned.
|
|
@@ -68,7 +82,8 @@ let WorkspaceFolderService = (() => {
|
|
|
68
82
|
async getWorkspaceFolder(connection, document) {
|
|
69
83
|
const { scheme, fsPath } = this.#uri.parse(document.uri);
|
|
70
84
|
if (scheme === 'untitled') {
|
|
71
|
-
const
|
|
85
|
+
const folders = await this.#getWorkspaceFolders(connection);
|
|
86
|
+
const uri = folders?.[0]?.uri;
|
|
72
87
|
return uri ? this.#uri.parse(uri).fsPath : undefined;
|
|
73
88
|
}
|
|
74
89
|
if (!fsPath) {
|
|
@@ -78,7 +93,7 @@ let WorkspaceFolderService = (() => {
|
|
|
78
93
|
if (!normalizedDocumentPath) {
|
|
79
94
|
return undefined;
|
|
80
95
|
}
|
|
81
|
-
const workspaceFolders = await
|
|
96
|
+
const workspaceFolders = await this.#getWorkspaceFolders(connection);
|
|
82
97
|
if (!workspaceFolders) {
|
|
83
98
|
return undefined;
|
|
84
99
|
}
|
|
@@ -94,6 +109,14 @@ let WorkspaceFolderService = (() => {
|
|
|
94
109
|
}
|
|
95
110
|
return undefined;
|
|
96
111
|
}
|
|
112
|
+
async #getWorkspaceFolders(connection) {
|
|
113
|
+
if (this.#cachedFolders !== undefined) {
|
|
114
|
+
return this.#cachedFolders;
|
|
115
|
+
}
|
|
116
|
+
const folders = await connection.workspace.getWorkspaceFolders();
|
|
117
|
+
this.#cachedFolders = folders ?? [];
|
|
118
|
+
return this.#cachedFolders;
|
|
119
|
+
}
|
|
97
120
|
};
|
|
98
121
|
return WorkspaceFolderService = _classThis;
|
|
99
122
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-folder.service.js","sourceRoot":"","sources":["../../../../src/server/services/workspace/workspace-folder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"workspace-folder.service.js","sourceRoot":"","sources":["../../../../src/server/services/workspace/workspace-folder.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,11 @@ function extractStylelintSettings(settings) {
|
|
|
49
49
|
}
|
|
50
50
|
return settings;
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* How long, in milliseconds, a resolved scoped option is kept in cache before
|
|
54
|
+
* the next call triggers a fresh `workspace/configuration` RPC.
|
|
55
|
+
*/
|
|
56
|
+
const optionsCacheTtl = 2000;
|
|
52
57
|
let WorkspaceOptionsService = (() => {
|
|
53
58
|
let _classDecorators = [inject({
|
|
54
59
|
inject: [lspConnectionToken, loggingServiceToken],
|
|
@@ -70,6 +75,7 @@ let WorkspaceOptionsService = (() => {
|
|
|
70
75
|
#supportsScopedConfiguration = false;
|
|
71
76
|
#globalOptions = mergeOptionsWithDefaults({}, defaultLanguageServerOptions);
|
|
72
77
|
#inFlightRequests = new Map();
|
|
78
|
+
#cachedOptions = new Map();
|
|
73
79
|
constructor(connection, loggingService) {
|
|
74
80
|
this.#connection = connection;
|
|
75
81
|
this.#logger = loggingService.createLogger(WorkspaceOptionsService);
|
|
@@ -90,19 +96,33 @@ let WorkspaceOptionsService = (() => {
|
|
|
90
96
|
}
|
|
91
97
|
clearCache() {
|
|
92
98
|
this.#inFlightRequests.clear();
|
|
99
|
+
this.#cachedOptions.clear();
|
|
93
100
|
}
|
|
94
101
|
delete(resource) {
|
|
95
102
|
this.#inFlightRequests.delete(resource);
|
|
103
|
+
this.#cachedOptions.delete(resource);
|
|
96
104
|
}
|
|
97
105
|
async getOptions(resource) {
|
|
98
106
|
if (!this.#supportsScopedConfiguration) {
|
|
99
107
|
return this.#globalOptions;
|
|
100
108
|
}
|
|
109
|
+
// Return from TTL cache if still fresh.
|
|
110
|
+
const cached = this.#cachedOptions.get(resource);
|
|
111
|
+
if (cached && Date.now() < cached.expiresAt) {
|
|
112
|
+
return cached.options;
|
|
113
|
+
}
|
|
114
|
+
// Deduplicate concurrent in-flight requests for the same resource.
|
|
101
115
|
let request = this.#inFlightRequests.get(resource);
|
|
102
116
|
if (!request) {
|
|
103
117
|
request = this.#requestScopedOptions(resource);
|
|
104
118
|
this.#inFlightRequests.set(resource, request);
|
|
105
119
|
request
|
|
120
|
+
.then((options) => {
|
|
121
|
+
this.#cachedOptions.set(resource, {
|
|
122
|
+
options,
|
|
123
|
+
expiresAt: Date.now() + optionsCacheTtl,
|
|
124
|
+
});
|
|
125
|
+
})
|
|
106
126
|
.catch(() => undefined)
|
|
107
127
|
.finally(() => {
|
|
108
128
|
this.#inFlightRequests.delete(resource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-options.service.js","sourceRoot":"","sources":["../../../../src/server/services/workspace/workspace-options.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAuB,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEhG;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAAiB;IAClD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAQ,QAAoC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-options.service.js","sourceRoot":"","sources":["../../../../src/server/services/workspace/workspace-options.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,19 @@ import { DisableReportRuleNames } from './types.js';
|
|
|
5
5
|
* @param diagnostic The diagnostic corresponding to the Stylelint warning.
|
|
6
6
|
*/
|
|
7
7
|
export function getDisableDiagnosticRule(diagnostic) {
|
|
8
|
+
// Stylelint's disable-report messages are always plain strings; `Diagnostic.message`
|
|
9
|
+
// widened to `string | MarkupContent` in LSP 3.18, so normalise before matching.
|
|
10
|
+
const message = typeof diagnostic.message === 'string' ? diagnostic.message : diagnostic.message.value;
|
|
8
11
|
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
9
12
|
switch (diagnostic.code) {
|
|
10
13
|
case DisableReportRuleNames.Needless:
|
|
11
|
-
return
|
|
14
|
+
return message.match(/^Needless disable for "(.+)"$/)?.[1];
|
|
12
15
|
case DisableReportRuleNames.InvalidScope:
|
|
13
|
-
return
|
|
16
|
+
return message.match(/^Rule "(.+)" isn't enabled$/)?.[1];
|
|
14
17
|
case DisableReportRuleNames.Descriptionless:
|
|
15
|
-
return
|
|
18
|
+
return message.match(/^Disable for "(.+)" is missing a description$/)?.[1];
|
|
16
19
|
case DisableReportRuleNames.Illegal:
|
|
17
|
-
return
|
|
20
|
+
return message.match(/^Rule "(.+)" may not be disabled$/)?.[1];
|
|
18
21
|
default:
|
|
19
22
|
return undefined;
|
|
20
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-disable-diagnostic-rule.js","sourceRoot":"","sources":["../../../src/server/stylelint/get-disable-diagnostic-rule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAA0B;IAClE,0EAA0E;IAC1E,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,sBAAsB,CAAC,QAAQ;YACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"get-disable-diagnostic-rule.js","sourceRoot":"","sources":["../../../src/server/stylelint/get-disable-diagnostic-rule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAA0B;IAClE,qFAAqF;IACrF,iFAAiF;IACjF,MAAM,OAAO,GACZ,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;IAExF,0EAA0E;IAC1E,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,sBAAsB,CAAC,QAAQ;YACnC,OAAO,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5D,KAAK,sBAAsB,CAAC,YAAY;YACvC,OAAO,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1D,KAAK,sBAAsB,CAAC,eAAe;YAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5E,KAAK,sBAAsB,CAAC,OAAO;YAClC,OAAO,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhE;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
import * as crypto from 'crypto';
|
|
2
1
|
import { InvalidOptionError, } from './types.js';
|
|
3
|
-
import { warningToDiagnostic } from './warning-to-diagnostic.js';
|
|
2
|
+
import { compileRuleCustomizations, warningToDiagnostic } from './warning-to-diagnostic.js';
|
|
4
3
|
/**
|
|
5
4
|
* Returns a unique key for a diagnostic.
|
|
6
5
|
* @param diagnostic The diagnostic to get a key for.
|
|
7
6
|
*/
|
|
8
|
-
function getDiagnosticKey(
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
if (diagnostic.message) {
|
|
12
|
-
const hash = crypto.createHash('sha256');
|
|
13
|
-
hash.update(diagnostic.message);
|
|
14
|
-
message = hash.digest('base64');
|
|
15
|
-
}
|
|
16
|
-
return `[${range.start.line},${range.start.character},${range.end.line},${range.end.character}]-${diagnostic.code}-${message}`;
|
|
7
|
+
function getDiagnosticKey({ range: { start, end }, code, message }) {
|
|
8
|
+
const messageText = typeof message === 'string' ? message : message.value;
|
|
9
|
+
return `[${start.line},${start.character},${end.line},${end.character}]-${code}-${messageText}`;
|
|
17
10
|
}
|
|
18
11
|
/**
|
|
19
12
|
* Resolves the rule metadata record from a linter result, falling back to
|
|
@@ -41,10 +34,13 @@ function processSingleLintResult(result, logger, ruleMetadata, ruleCustomization
|
|
|
41
34
|
if (result.invalidOptionWarnings.length !== 0) {
|
|
42
35
|
throw new InvalidOptionError(result.invalidOptionWarnings);
|
|
43
36
|
}
|
|
37
|
+
const compiledCustomizations = ruleCustomizations?.length
|
|
38
|
+
? compileRuleCustomizations(ruleCustomizations)
|
|
39
|
+
: undefined;
|
|
44
40
|
const diagnostics = [];
|
|
45
41
|
const warningsMap = new Map();
|
|
46
42
|
for (const warning of result.warnings) {
|
|
47
|
-
const diagnostic = warningToDiagnostic(warning, logger, ruleMetadata,
|
|
43
|
+
const diagnostic = warningToDiagnostic(warning, logger, ruleMetadata, compiledCustomizations);
|
|
48
44
|
// Only add diagnostic if it wasn't suppressed.
|
|
49
45
|
if (diagnostic !== null) {
|
|
50
46
|
diagnostics.push(diagnostic);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-linter-result.js","sourceRoot":"","sources":["../../../src/server/stylelint/process-linter-result.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process-linter-result.js","sourceRoot":"","sources":["../../../src/server/stylelint/process-linter-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/stylelint/types.ts"],"names":[],"mappings":"AA+EA;;GAEG;AACH,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IACjC,iEAAuC,CAAA;IACvC,0EAAgD,CAAA;IAChD,+EAAqD,CAAA;IACrD,oDAA0B,CAAA;AAC3B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAyBD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC5C,OAAO,CAAW;IAElB,YAAY,QAA4B;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACpD,iBAA6B;IAE7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO;QACN,GAAG,EAAE,CAAC,QAAgB,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/stylelint/types.ts"],"names":[],"mappings":"AA+EA;;GAEG;AACH,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IACjC,iEAAuC,CAAA;IACvC,0EAAgD,CAAA;IAChD,+EAAqD,CAAA;IACrD,oDAA0B,CAAA;AAC3B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAyBD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC5C,OAAO,CAAW;IAElB,YAAY,QAA4B;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACpD,iBAA6B;IAE7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO;QACN,GAAG,EAAE,CAAC,QAAgB,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAC0B,CAAC;YAE3D,OAAO,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChC,CAAC;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oCAAoC,CACnD,QAA+B;IAE/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO;QACN,GAAG,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC7C,CAAC;AACH,CAAC"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import type stylelint from 'stylelint';
|
|
2
2
|
import { Diagnostic } from 'vscode-languageserver-types';
|
|
3
|
-
import type { RuleCustomization } from '../types.js';
|
|
3
|
+
import type { RuleCustomization, SeverityOverride } from '../types.js';
|
|
4
4
|
import type { Logger } from 'winston';
|
|
5
5
|
import type { Warning } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* A rule customization with its pattern pre-compiled for efficient matching.
|
|
8
|
+
*/
|
|
9
|
+
export type CompiledRuleCustomization = {
|
|
10
|
+
severity: SeverityOverride;
|
|
11
|
+
negated: boolean;
|
|
12
|
+
exactMatch?: string;
|
|
13
|
+
pattern?: RegExp;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Compiles an array of rule customizations into a form that can be matched
|
|
17
|
+
* efficiently against many warnings without rebuilding regexes.
|
|
18
|
+
*/
|
|
19
|
+
export declare function compileRuleCustomizations(customizations: RuleCustomization[]): CompiledRuleCustomization[];
|
|
6
20
|
/**
|
|
7
21
|
* Converts a Stylelint warning to an LSP Diagnostic.
|
|
8
22
|
*
|
|
@@ -43,4 +57,4 @@ import type { Warning } from './types.js';
|
|
|
43
57
|
* @param ruleMetadata Available Stylelint rules.
|
|
44
58
|
* @param ruleCustomizations Optional rule customizations for severity overrides.
|
|
45
59
|
*/
|
|
46
|
-
export declare function warningToDiagnostic(warning: Warning, logger: Logger, ruleMetadata?: stylelint.LinterResult['ruleMetadata'],
|
|
60
|
+
export declare function warningToDiagnostic(warning: Warning, logger: Logger, ruleMetadata?: stylelint.LinterResult['ruleMetadata'], compiledCustomizations?: CompiledRuleCustomization[]): Diagnostic | null;
|
|
@@ -1,4 +1,32 @@
|
|
|
1
1
|
import { Diagnostic, DiagnosticSeverity, Position, Range } from 'vscode-languageserver-types';
|
|
2
|
+
/**
|
|
3
|
+
* Compiles an array of rule customizations into a form that can be matched
|
|
4
|
+
* efficiently against many warnings without rebuilding regexes.
|
|
5
|
+
*/
|
|
6
|
+
export function compileRuleCustomizations(customizations) {
|
|
7
|
+
return customizations.map((custom) => {
|
|
8
|
+
// Check for negation pattern.
|
|
9
|
+
const isNegated = custom.rule.startsWith('!');
|
|
10
|
+
const actualPattern = isNegated ? custom.rule.slice(1) : custom.rule;
|
|
11
|
+
// If no wildcard, just use the string for equality checks.
|
|
12
|
+
if (!actualPattern.includes('*')) {
|
|
13
|
+
return {
|
|
14
|
+
severity: custom.severity,
|
|
15
|
+
negated: isNegated,
|
|
16
|
+
exactMatch: actualPattern,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// Basic wildcard support for patterns like "color-*" or "*-block-*".
|
|
20
|
+
const regexSource = actualPattern
|
|
21
|
+
.replace(/[.+?^${}()|[\]\\]/g, '\\$&') // Escape special regex chars, except for *.
|
|
22
|
+
.replace(/\*/g, '.*'); // Convert wildcard * to .*
|
|
23
|
+
return {
|
|
24
|
+
severity: custom.severity,
|
|
25
|
+
negated: isNegated,
|
|
26
|
+
pattern: new RegExp(`^${regexSource}$`),
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
2
30
|
/**
|
|
3
31
|
* Converts a severity override value to LSP DiagnosticSeverity. Internal method
|
|
4
32
|
* that only handles direct overrides, not 'upgrade' or 'downgrade'.
|
|
@@ -18,36 +46,22 @@ function severityOverrideToLSPSeverity(override) {
|
|
|
18
46
|
/**
|
|
19
47
|
* Applies severity customizations to a warning.
|
|
20
48
|
*/
|
|
21
|
-
function applySeverityCustomization(warning,
|
|
22
|
-
if (!
|
|
49
|
+
function applySeverityCustomization(warning, compiledCustomizations, logger) {
|
|
50
|
+
if (!compiledCustomizations || compiledCustomizations.length === 0) {
|
|
23
51
|
// No customizations, use original severity.
|
|
24
52
|
return DiagnosticSeverity[warning.severity === 'warning' ? 'Warning' : 'Error'];
|
|
25
53
|
}
|
|
26
54
|
// Find matching customization. Process rules in reverse order so that
|
|
27
55
|
// subsequent rules have priority over previous ones.
|
|
28
56
|
let customization;
|
|
29
|
-
for (let i =
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const actualPattern = isNegated ? pattern.slice(1) : pattern;
|
|
35
|
-
let matches = false;
|
|
36
|
-
// Simple pattern matching, exact match or glob-like matching.
|
|
37
|
-
if (actualPattern === warning.rule) {
|
|
38
|
-
matches = true;
|
|
39
|
-
}
|
|
40
|
-
// Basic wildcard support for patterns like "color-*" or "*-block-*".
|
|
41
|
-
else if (actualPattern.includes('*')) {
|
|
42
|
-
const regexPattern = actualPattern
|
|
43
|
-
.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // Escape special regex chars.
|
|
44
|
-
.replace(/\\\*/g, '.*'); // Replace escaped \* with .*
|
|
45
|
-
const regex = new RegExp(`^${regexPattern}$`);
|
|
46
|
-
matches = regex.test(warning.rule);
|
|
47
|
-
}
|
|
57
|
+
for (let i = compiledCustomizations.length - 1; i >= 0; i--) {
|
|
58
|
+
const compiled = compiledCustomizations[i];
|
|
59
|
+
const matches = compiled.exactMatch !== undefined
|
|
60
|
+
? compiled.exactMatch === warning.rule
|
|
61
|
+
: compiled.pattern.test(warning.rule);
|
|
48
62
|
// For negated patterns, invert the match result.
|
|
49
|
-
if (
|
|
50
|
-
customization =
|
|
63
|
+
if (compiled.negated ? !matches : matches) {
|
|
64
|
+
customization = compiled;
|
|
51
65
|
break;
|
|
52
66
|
}
|
|
53
67
|
}
|
|
@@ -123,8 +137,8 @@ function applySeverityCustomization(warning, ruleCustomizations, logger) {
|
|
|
123
137
|
* @param ruleMetadata Available Stylelint rules.
|
|
124
138
|
* @param ruleCustomizations Optional rule customizations for severity overrides.
|
|
125
139
|
*/
|
|
126
|
-
export function warningToDiagnostic(warning, logger, ruleMetadata,
|
|
127
|
-
const severity = applySeverityCustomization(warning,
|
|
140
|
+
export function warningToDiagnostic(warning, logger, ruleMetadata, compiledCustomizations) {
|
|
141
|
+
const severity = applySeverityCustomization(warning, compiledCustomizations, logger);
|
|
128
142
|
// If severity is null, the diagnostic should be suppressed.
|
|
129
143
|
if (severity === null) {
|
|
130
144
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warning-to-diagnostic.js","sourceRoot":"","sources":["../../../src/server/stylelint/warning-to-diagnostic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"warning-to-diagnostic.js","sourceRoot":"","sources":["../../../src/server/stylelint/warning-to-diagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE;;GAEG;AACH,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACpB,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,4DAA+C,CAAA;AAChD,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,qBAAqB,EAAE,GAAG,gBAAgB,CAAC,YAAY,YAAY;CACnE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE;;GAEG;AACH,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACpB,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,4DAA+C,CAAA;AAChD,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,qBAAqB,EAAE,GAAG,gBAAgB,CAAC,YAAY,YAAY;CACnE,CAAC;AAkEF;;;GAGG;AACH,MAAM,CAAN,IAAY,MAOX;AAPD,WAAY,MAAM;IACjB,oCAAoC;IACpC,+BAAM,CAAA;IACN,+BAA+B;IAC/B,mCAAQ,CAAA;IACR,+BAA+B;IAC/B,qCAAS,CAAA;AACV,CAAC,EAPW,MAAM,KAAN,MAAM,QAOjB;AAUD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,gBAAgB,CAAe,kBAAkB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-disable-type.js","sourceRoot":"","sources":["../../../../src/server/utils/documents/get-disable-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-disable-type.js","sourceRoot":"","sources":["../../../../src/server/utils/documents/get-disable-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AASvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAC7B,QAAsB,EACtB,QAAkB;IAElB,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,MAAM;SACxB,KAAK,CAAC,gEAAgE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,EAAE,WAAW,EAAE,CAAC;IAEjB,OAAO,WAAW,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,WAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;AACnG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAwC,MAAS;IAC/E;;;;OAIG;IACH,MAAM,cAAc,GAAG,CACtB,GAAW,EACX,OAAiC,EACxB,EAAE;QACX,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,GAAwB,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Gets the log function for the given log level for the given remote console.
|
|
3
3
|
*/
|
|
4
4
|
export const getLogFunction = (remoteConsole, level) => {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method -- callers re-bind `this` via .call() before invoking
|
|
5
6
|
const logFunction = remoteConsole[level];
|
|
6
7
|
if (typeof logFunction === 'function') {
|
|
7
8
|
return logFunction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-log-function.js","sourceRoot":"","sources":["../../../../src/server/utils/logging/get-log-function.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,aAA4B,EAC5B,KAAa,EAC2B,EAAE;IAC1C,MAAM,WAAW,GAAG,aAAa,CAAC,KAA+B,CAAC,CAAC;IAEnE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"get-log-function.js","sourceRoot":"","sources":["../../../../src/server/utils/logging/get-log-function.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,aAA4B,EAC5B,KAAa,EAC2B,EAAE;IAC1C,mHAAmH;IACnH,MAAM,WAAW,GAAG,aAAa,CAAC,KAA+B,CAAC,CAAC;IAEnE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/utils/lsp/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/utils/lsp/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { LSPErrorCodes, ResponseError, } from 'vscode-languageserver-protocol';
|
|
2
|
+
/**
|
|
3
|
+
* Throws a {@link ResponseError} with {@link LSPErrorCodes.RequestCancelled} if
|
|
4
|
+
* the token is cancelled.
|
|
5
|
+
*/
|
|
6
|
+
export function throwIfCancelled(token) {
|
|
7
|
+
if (token.isCancellationRequested) {
|
|
8
|
+
throw new ResponseError(LSPErrorCodes.RequestCancelled, 'Request cancelled');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=throw-if-cancelled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throw-if-cancelled.js","sourceRoot":"","sources":["../../../../src/server/utils/lsp/throw-if-cancelled.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,aAAa,GAEb,MAAM,gCAAgC,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACxD,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACnC,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IAC9E,CAAC;AACF,CAAC"}
|