@stylelint/language-server 1.0.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/LICENSE +22 -0
- package/README.md +39 -0
- package/bin/stylelint-language-server.mjs +25 -0
- package/build/di/container.d.ts +12 -0
- package/build/di/container.js +76 -0
- package/build/di/container.js.map +1 -0
- package/build/di/hooks.d.ts +16 -0
- package/build/di/hooks.js +25 -0
- package/build/di/hooks.js.map +1 -0
- package/build/di/index.d.ts +7 -0
- package/build/di/index.js +8 -0
- package/build/di/index.js.map +1 -0
- package/build/di/inject.d.ts +48 -0
- package/build/di/inject.js +55 -0
- package/build/di/inject.js.map +1 -0
- package/build/di/module.d.ts +51 -0
- package/build/di/module.js +93 -0
- package/build/di/module.js.map +1 -0
- package/build/di/runtime/application.d.ts +17 -0
- package/build/di/runtime/application.js +209 -0
- package/build/di/runtime/application.js.map +1 -0
- package/build/di/runtime/decorators.d.ts +14 -0
- package/build/di/runtime/decorators.js +26 -0
- package/build/di/runtime/decorators.js.map +1 -0
- package/build/di/runtime/index.d.ts +3 -0
- package/build/di/runtime/index.js +4 -0
- package/build/di/runtime/index.js.map +1 -0
- package/build/di/runtime/symbols.d.ts +1 -0
- package/build/di/runtime/symbols.js +2 -0
- package/build/di/runtime/symbols.js.map +1 -0
- package/build/di/runtime/types.d.ts +20 -0
- package/build/di/runtime/types.js +2 -0
- package/build/di/runtime/types.js.map +1 -0
- package/build/di/tokens.d.ts +8 -0
- package/build/di/tokens.js +7 -0
- package/build/di/tokens.js.map +1 -0
- package/build/di/types.d.ts +16 -0
- package/build/di/types.js +2 -0
- package/build/di/types.js.map +1 -0
- package/build/server/config/default-options.d.ts +2 -0
- package/build/server/config/default-options.js +29 -0
- package/build/server/config/default-options.js.map +1 -0
- package/build/server/decorators.d.ts +121 -0
- package/build/server/decorators.js +272 -0
- package/build/server/decorators.js.map +1 -0
- package/build/server/index.d.ts +2 -0
- package/build/server/index.js +3 -0
- package/build/server/index.js.map +1 -0
- package/build/server/modules/documents.module.d.ts +1 -0
- package/build/server/modules/documents.module.js +12 -0
- package/build/server/modules/documents.module.js.map +1 -0
- package/build/server/modules/index.d.ts +6 -0
- package/build/server/modules/index.js +7 -0
- package/build/server/modules/index.js.map +1 -0
- package/build/server/modules/infrastructure.module.d.ts +1 -0
- package/build/server/modules/infrastructure.module.js +7 -0
- package/build/server/modules/infrastructure.module.js.map +1 -0
- package/build/server/modules/lsp.module.d.ts +1 -0
- package/build/server/modules/lsp.module.js +18 -0
- package/build/server/modules/lsp.module.js.map +1 -0
- package/build/server/modules/platform.module.d.ts +4 -0
- package/build/server/modules/platform.module.js +33 -0
- package/build/server/modules/platform.module.js.map +1 -0
- package/build/server/modules/stylelint-runtime.module.d.ts +1 -0
- package/build/server/modules/stylelint-runtime.module.js +19 -0
- package/build/server/modules/stylelint-runtime.module.js.map +1 -0
- package/build/server/modules/workspace.module.d.ts +1 -0
- package/build/server/modules/workspace.module.js +7 -0
- package/build/server/modules/workspace.module.js.map +1 -0
- package/build/server/runtime/application.d.ts +19 -0
- package/build/server/runtime/application.js +22 -0
- package/build/server/runtime/application.js.map +1 -0
- package/build/server/runtime/language-server-feature.d.ts +13 -0
- package/build/server/runtime/language-server-feature.js +142 -0
- package/build/server/runtime/language-server-feature.js.map +1 -0
- package/build/server/runtime/lsp-service-runtime.d.ts +15 -0
- package/build/server/runtime/lsp-service-runtime.js +133 -0
- package/build/server/runtime/lsp-service-runtime.js.map +1 -0
- package/build/server/server.d.ts +13 -0
- package/build/server/server.js +38 -0
- package/build/server/server.js.map +1 -0
- package/build/server/server.module.d.ts +1 -0
- package/build/server/server.module.js +13 -0
- package/build/server/server.module.js.map +1 -0
- package/build/server/services/documents/document-diagnostics.service.d.ts +15 -0
- package/build/server/services/documents/document-diagnostics.service.js +88 -0
- package/build/server/services/documents/document-diagnostics.service.js.map +1 -0
- package/build/server/services/documents/document-fixes.service.d.ts +14 -0
- package/build/server/services/documents/document-fixes.service.js +94 -0
- package/build/server/services/documents/document-fixes.service.js.map +1 -0
- package/build/server/services/documents/index.d.ts +2 -0
- package/build/server/services/documents/index.js +3 -0
- package/build/server/services/documents/index.js.map +1 -0
- package/build/server/services/index.d.ts +5 -0
- package/build/server/services/index.js +6 -0
- package/build/server/services/index.js.map +1 -0
- package/build/server/services/infrastructure/command.service.d.ts +22 -0
- package/build/server/services/infrastructure/command.service.js +151 -0
- package/build/server/services/infrastructure/command.service.js.map +1 -0
- package/build/server/services/infrastructure/index.d.ts +4 -0
- package/build/server/services/infrastructure/index.js +5 -0
- package/build/server/services/infrastructure/index.js.map +1 -0
- package/build/server/services/infrastructure/logging.service.d.ts +6 -0
- package/build/server/services/infrastructure/logging.service.js +4 -0
- package/build/server/services/infrastructure/logging.service.js.map +1 -0
- package/build/server/services/infrastructure/notification.service.d.ts +24 -0
- package/build/server/services/infrastructure/notification.service.js +142 -0
- package/build/server/services/infrastructure/notification.service.js.map +1 -0
- package/build/server/services/infrastructure/winston-logging.service.d.ts +10 -0
- package/build/server/services/infrastructure/winston-logging.service.js +48 -0
- package/build/server/services/infrastructure/winston-logging.service.js.map +1 -0
- package/build/server/services/lsp/auto-fix.service.d.ts +15 -0
- package/build/server/services/lsp/auto-fix.service.js +142 -0
- package/build/server/services/lsp/auto-fix.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/code-action.service.d.ts +18 -0
- package/build/server/services/lsp/code-actions/code-action.service.js +288 -0
- package/build/server/services/lsp/code-actions/code-action.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.d.ts +11 -0
- package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.js +72 -0
- package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.d.ts +12 -0
- package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.js +80 -0
- package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/index.d.ts +3 -0
- package/build/server/services/lsp/code-actions/index.js +4 -0
- package/build/server/services/lsp/code-actions/index.js.map +1 -0
- package/build/server/services/lsp/completion.service.d.ts +12 -0
- package/build/server/services/lsp/completion.service.js +183 -0
- package/build/server/services/lsp/completion.service.js.map +1 -0
- package/build/server/services/lsp/empty-config-warning.service.d.ts +17 -0
- package/build/server/services/lsp/empty-config-warning.service.js +149 -0
- package/build/server/services/lsp/empty-config-warning.service.js.map +1 -0
- package/build/server/services/lsp/formatter.service.d.ts +16 -0
- package/build/server/services/lsp/formatter.service.js +215 -0
- package/build/server/services/lsp/formatter.service.js.map +1 -0
- package/build/server/services/lsp/index.d.ts +8 -0
- package/build/server/services/lsp/index.js +9 -0
- package/build/server/services/lsp/index.js.map +1 -0
- package/build/server/services/lsp/old-stylelint-warning.service.d.ts +13 -0
- package/build/server/services/lsp/old-stylelint-warning.service.js +186 -0
- package/build/server/services/lsp/old-stylelint-warning.service.js.map +1 -0
- package/build/server/services/lsp/validator.service.d.ts +19 -0
- package/build/server/services/lsp/validator.service.js +273 -0
- package/build/server/services/lsp/validator.service.js.map +1 -0
- package/build/server/services/lsp/workspace-activity.service.d.ts +10 -0
- package/build/server/services/lsp/workspace-activity.service.js +76 -0
- package/build/server/services/lsp/workspace-activity.service.js.map +1 -0
- package/build/server/services/services.module.d.ts +1 -0
- package/build/server/services/services.module.js +19 -0
- package/build/server/services/services.module.js.map +1 -0
- package/build/server/services/stylelint-runtime/global-path-resolver.service.d.ts +38 -0
- package/build/server/services/stylelint-runtime/global-path-resolver.service.js +223 -0
- package/build/server/services/stylelint-runtime/global-path-resolver.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/index.d.ts +11 -0
- package/build/server/services/stylelint-runtime/index.js +12 -0
- package/build/server/services/stylelint-runtime/index.js.map +1 -0
- package/build/server/services/stylelint-runtime/package-root-cache.service.d.ts +9 -0
- package/build/server/services/stylelint-runtime/package-root-cache.service.js +141 -0
- package/build/server/services/stylelint-runtime/package-root-cache.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/package-root.service.d.ts +8 -0
- package/build/server/services/stylelint-runtime/package-root.service.js +119 -0
- package/build/server/services/stylelint-runtime/package-root.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.d.ts +16 -0
- package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.js +195 -0
- package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/process-runner.service.d.ts +30 -0
- package/build/server/services/stylelint-runtime/process-runner.service.js +149 -0
- package/build/server/services/stylelint-runtime/process-runner.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/stylelint-options.service.d.ts +12 -0
- package/build/server/services/stylelint-runtime/stylelint-options.service.js +185 -0
- package/build/server/services/stylelint-runtime/stylelint-options.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/stylelint-runner.service.d.ts +42 -0
- package/build/server/services/stylelint-runtime/stylelint-runner.service.js +478 -0
- package/build/server/services/stylelint-runtime/stylelint-runner.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.d.ts +17 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.js +135 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/worker-process.service.d.ts +8 -0
- package/build/server/services/stylelint-runtime/worker-process.service.js +66 -0
- package/build/server/services/stylelint-runtime/worker-process.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/worker-registry.service.d.ts +19 -0
- package/build/server/services/stylelint-runtime/worker-registry.service.js +289 -0
- package/build/server/services/stylelint-runtime/worker-registry.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.d.ts +37 -0
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.js +185 -0
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.js.map +1 -0
- package/build/server/services/workspace/index.d.ts +2 -0
- package/build/server/services/workspace/index.js +3 -0
- package/build/server/services/workspace/index.js.map +1 -0
- package/build/server/services/workspace/workspace-folder.service.d.ts +18 -0
- package/build/server/services/workspace/workspace-folder.service.js +101 -0
- package/build/server/services/workspace/workspace-folder.service.js.map +1 -0
- package/build/server/services/workspace/workspace-options.service.d.ts +12 -0
- package/build/server/services/workspace/workspace-options.service.js +125 -0
- package/build/server/services/workspace/workspace-options.service.js.map +1 -0
- package/build/server/stylelint/disable-metadata-lookup-table.d.ts +20 -0
- package/build/server/stylelint/disable-metadata-lookup-table.js +68 -0
- package/build/server/stylelint/disable-metadata-lookup-table.js.map +1 -0
- package/build/server/stylelint/formatting-options-to-rules.d.ts +12 -0
- package/build/server/stylelint/formatting-options-to-rules.js +19 -0
- package/build/server/stylelint/formatting-options-to-rules.js.map +1 -0
- package/build/server/stylelint/get-disable-diagnostic-rule.d.ts +7 -0
- package/build/server/stylelint/get-disable-diagnostic-rule.js +22 -0
- package/build/server/stylelint/get-disable-diagnostic-rule.js.map +1 -0
- package/build/server/stylelint/index.d.ts +7 -0
- package/build/server/stylelint/index.js +8 -0
- package/build/server/stylelint/index.js.map +1 -0
- package/build/server/stylelint/is-disable-report-rule.d.ts +6 -0
- package/build/server/stylelint/is-disable-report-rule.js +17 -0
- package/build/server/stylelint/is-disable-report-rule.js.map +1 -0
- package/build/server/stylelint/load-stylelint.d.ts +23 -0
- package/build/server/stylelint/load-stylelint.js +173 -0
- package/build/server/stylelint/load-stylelint.js.map +1 -0
- package/build/server/stylelint/process-linter-result.d.ts +32 -0
- package/build/server/stylelint/process-linter-result.js +129 -0
- package/build/server/stylelint/process-linter-result.js.map +1 -0
- package/build/server/stylelint/types.d.ts +143 -0
- package/build/server/stylelint/types.js +47 -0
- package/build/server/stylelint/types.js.map +1 -0
- package/build/server/stylelint/warning-to-diagnostic.d.ts +46 -0
- package/build/server/stylelint/warning-to-diagnostic.js +143 -0
- package/build/server/stylelint/warning-to-diagnostic.js.map +1 -0
- package/build/server/tokens.d.ts +20 -0
- package/build/server/tokens.js +16 -0
- package/build/server/tokens.js.map +1 -0
- package/build/server/types.d.ts +74 -0
- package/build/server/types.js +18 -0
- package/build/server/types.js.map +1 -0
- package/build/server/utils/documents/create-text-edits.d.ts +10 -0
- package/build/server/utils/documents/create-text-edits.js +31 -0
- package/build/server/utils/documents/create-text-edits.js.map +1 -0
- package/build/server/utils/documents/get-disable-type.d.ts +26 -0
- package/build/server/utils/documents/get-disable-type.js +32 -0
- package/build/server/utils/documents/get-disable-type.js.map +1 -0
- package/build/server/utils/documents/get-edit-info.d.ts +14 -0
- package/build/server/utils/documents/get-edit-info.js +31 -0
- package/build/server/utils/documents/get-edit-info.js.map +1 -0
- package/build/server/utils/documents/get-fixes.d.ts +12 -0
- package/build/server/utils/documents/get-fixes.js +18 -0
- package/build/server/utils/documents/get-fixes.js.map +1 -0
- package/build/server/utils/documents/index.d.ts +4 -0
- package/build/server/utils/documents/index.js +5 -0
- package/build/server/utils/documents/index.js.map +1 -0
- package/build/server/utils/errors.d.ts +10 -0
- package/build/server/utils/errors.js +89 -0
- package/build/server/utils/errors.js.map +1 -0
- package/build/server/utils/fs.d.ts +4 -0
- package/build/server/utils/fs.js +11 -0
- package/build/server/utils/fs.js.map +1 -0
- package/build/server/utils/functions/get-first-return-value.d.ts +11 -0
- package/build/server/utils/functions/get-first-return-value.js +28 -0
- package/build/server/utils/functions/get-first-return-value.js.map +1 -0
- package/build/server/utils/functions/index.d.ts +2 -0
- package/build/server/utils/functions/index.js +3 -0
- package/build/server/utils/functions/index.js.map +1 -0
- package/build/server/utils/functions/lazy-call.d.ts +12 -0
- package/build/server/utils/functions/lazy-call.js +33 -0
- package/build/server/utils/functions/lazy-call.js.map +1 -0
- package/build/server/utils/index.d.ts +11 -0
- package/build/server/utils/index.js +12 -0
- package/build/server/utils/index.js.map +1 -0
- package/build/server/utils/iterables.d.ts +8 -0
- package/build/server/utils/iterables.js +15 -0
- package/build/server/utils/iterables.js.map +1 -0
- package/build/server/utils/logging/error-formatter.d.ts +7 -0
- package/build/server/utils/logging/error-formatter.js +14 -0
- package/build/server/utils/logging/error-formatter.js.map +1 -0
- package/build/server/utils/logging/get-log-function.d.ts +8 -0
- package/build/server/utils/logging/get-log-function.js +11 -0
- package/build/server/utils/logging/get-log-function.js.map +1 -0
- package/build/server/utils/logging/index.d.ts +4 -0
- package/build/server/utils/logging/index.js +5 -0
- package/build/server/utils/logging/index.js.map +1 -0
- package/build/server/utils/logging/language-server-formatter.d.ts +19 -0
- package/build/server/utils/logging/language-server-formatter.js +55 -0
- package/build/server/utils/logging/language-server-formatter.js.map +1 -0
- package/build/server/utils/logging/language-server-transport.d.ts +19 -0
- package/build/server/utils/logging/language-server-transport.js +39 -0
- package/build/server/utils/logging/language-server-transport.js.map +1 -0
- package/build/server/utils/lsp/create-disable-completion-item.d.ts +7 -0
- package/build/server/utils/lsp/create-disable-completion-item.js +32 -0
- package/build/server/utils/lsp/create-disable-completion-item.js.map +1 -0
- package/build/server/utils/lsp/display-error.d.ts +7 -0
- package/build/server/utils/lsp/display-error.js +24 -0
- package/build/server/utils/lsp/display-error.js.map +1 -0
- package/build/server/utils/lsp/index.d.ts +4 -0
- package/build/server/utils/lsp/index.js +5 -0
- package/build/server/utils/lsp/index.js.map +1 -0
- package/build/server/utils/lsp/rule-code-actions-collection.d.ts +29 -0
- package/build/server/utils/lsp/rule-code-actions-collection.js +61 -0
- package/build/server/utils/lsp/rule-code-actions-collection.js.map +1 -0
- package/build/server/utils/lsp/types.d.ts +22 -0
- package/build/server/utils/lsp/types.js +2 -0
- package/build/server/utils/lsp/types.js.map +1 -0
- package/build/server/utils/objects/index.d.ts +3 -0
- package/build/server/utils/objects/index.js +4 -0
- package/build/server/utils/objects/index.js.map +1 -0
- package/build/server/utils/objects/is-object.d.ts +8 -0
- package/build/server/utils/objects/is-object.js +13 -0
- package/build/server/utils/objects/is-object.js.map +1 -0
- package/build/server/utils/objects/merge-assign.d.ts +8 -0
- package/build/server/utils/objects/merge-assign.js +38 -0
- package/build/server/utils/objects/merge-assign.js.map +1 -0
- package/build/server/utils/objects/merge-options-with-defaults.d.ts +5 -0
- package/build/server/utils/objects/merge-options-with-defaults.js +56 -0
- package/build/server/utils/objects/merge-options-with-defaults.js.map +1 -0
- package/build/server/utils/sets.d.ts +6 -0
- package/build/server/utils/sets.js +22 -0
- package/build/server/utils/sets.js.map +1 -0
- package/build/server/utils/strings.d.ts +12 -0
- package/build/server/utils/strings.js +20 -0
- package/build/server/utils/strings.js.map +1 -0
- package/build/server/utils/types.d.ts +27 -0
- package/build/server/utils/types.js +2 -0
- package/build/server/utils/types.js.map +1 -0
- package/build/server/worker/types.d.ts +63 -0
- package/build/server/worker/types.js +2 -0
- package/build/server/worker/types.js.map +1 -0
- package/build/server/worker/worker-entry.d.ts +1 -0
- package/build/server/worker/worker-entry.js +320 -0
- package/build/server/worker/worker-entry.js.map +1 -0
- package/build/server/worker/worker-logging.service.d.ts +18 -0
- package/build/server/worker/worker-logging.service.js +61 -0
- package/build/server/worker/worker-logging.service.js.map +1 -0
- package/build/server/worker/worker-process.d.ts +54 -0
- package/build/server/worker/worker-process.js +266 -0
- package/build/server/worker/worker-process.js.map +1 -0
- package/build/shared/log-level.d.ts +5 -0
- package/build/shared/log-level.js +11 -0
- package/build/shared/log-level.js.map +1 -0
- package/build/shared/types.d.ts +9 -0
- package/build/shared/types.js +3 -0
- package/build/shared/types.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { Diagnostic, DiagnosticSeverity, Position, Range } from 'vscode-languageserver-types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a severity override value to LSP DiagnosticSeverity. Internal method
|
|
4
|
+
* that only handles direct overrides, not 'upgrade' or 'downgrade'.
|
|
5
|
+
*/
|
|
6
|
+
function severityOverrideToLSPSeverity(override) {
|
|
7
|
+
switch (override) {
|
|
8
|
+
case 'error':
|
|
9
|
+
return DiagnosticSeverity.Error;
|
|
10
|
+
case 'warn':
|
|
11
|
+
return DiagnosticSeverity.Warning;
|
|
12
|
+
case 'info':
|
|
13
|
+
return DiagnosticSeverity.Information;
|
|
14
|
+
case 'off':
|
|
15
|
+
return null; // null means diagnostic should be suppressed.
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Applies severity customizations to a warning.
|
|
20
|
+
*/
|
|
21
|
+
function applySeverityCustomization(warning, ruleCustomizations, logger) {
|
|
22
|
+
if (!ruleCustomizations || ruleCustomizations.length === 0) {
|
|
23
|
+
// No customizations, use original severity.
|
|
24
|
+
return DiagnosticSeverity[warning.severity === 'warning' ? 'Warning' : 'Error'];
|
|
25
|
+
}
|
|
26
|
+
// Find matching customization. Process rules in reverse order so that
|
|
27
|
+
// subsequent rules have priority over previous ones.
|
|
28
|
+
let customization;
|
|
29
|
+
for (let i = ruleCustomizations.length - 1; i >= 0; i--) {
|
|
30
|
+
const custom = ruleCustomizations[i];
|
|
31
|
+
const pattern = custom.rule;
|
|
32
|
+
// Check for negation pattern.
|
|
33
|
+
const isNegated = pattern.startsWith('!');
|
|
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
|
+
}
|
|
48
|
+
// For negated patterns, invert the match result.
|
|
49
|
+
if (isNegated ? !matches : matches) {
|
|
50
|
+
customization = custom;
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (!customization) {
|
|
55
|
+
// No matching customization, use original severity.
|
|
56
|
+
return DiagnosticSeverity[warning.severity === 'warning' ? 'Warning' : 'Error'];
|
|
57
|
+
}
|
|
58
|
+
const override = customization.severity;
|
|
59
|
+
const originalSeverity = DiagnosticSeverity[warning.severity === 'warning' ? 'Warning' : 'Error'];
|
|
60
|
+
// Handle special override types.
|
|
61
|
+
switch (override) {
|
|
62
|
+
case 'downgrade':
|
|
63
|
+
return originalSeverity === DiagnosticSeverity.Error
|
|
64
|
+
? DiagnosticSeverity.Warning
|
|
65
|
+
: DiagnosticSeverity.Information;
|
|
66
|
+
case 'upgrade':
|
|
67
|
+
// Convert warning to error, error stays error.
|
|
68
|
+
return originalSeverity === DiagnosticSeverity.Warning
|
|
69
|
+
? DiagnosticSeverity.Error
|
|
70
|
+
: originalSeverity;
|
|
71
|
+
case 'default':
|
|
72
|
+
// Use the original severity from Stylelint.
|
|
73
|
+
return originalSeverity;
|
|
74
|
+
case 'off':
|
|
75
|
+
case 'warn':
|
|
76
|
+
case 'info':
|
|
77
|
+
case 'error':
|
|
78
|
+
// Direct severity mapping.
|
|
79
|
+
return severityOverrideToLSPSeverity(override);
|
|
80
|
+
default:
|
|
81
|
+
// If we reach this branch, the override is not recognized.
|
|
82
|
+
logger.warn(`Unknown severity override: ${String(override)}`);
|
|
83
|
+
return originalSeverity; // Fallback to original severity.
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Converts a Stylelint warning to an LSP Diagnostic.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```js
|
|
91
|
+
* const [result] = await stylelint.lint({
|
|
92
|
+
* code: 'a { color: red; }',
|
|
93
|
+
* config: { rules: { 'color-named': 'never' } }
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* const [warning] = result.warnings;
|
|
97
|
+
* // {
|
|
98
|
+
* // rule: 'color-named',
|
|
99
|
+
* // text: 'Unexpected named color "red" (color-named)',
|
|
100
|
+
* // severity: 'error',
|
|
101
|
+
* // line: 1,
|
|
102
|
+
* // column: 12
|
|
103
|
+
* // }
|
|
104
|
+
*
|
|
105
|
+
* const diagnostic = warningToDiagnostic(warning);
|
|
106
|
+
* // {
|
|
107
|
+
* // message: 'Unexpected named color "red" (color-named)',
|
|
108
|
+
* // severity: 1,
|
|
109
|
+
* // source: 'Stylelint',
|
|
110
|
+
* // range: {
|
|
111
|
+
* // start: {
|
|
112
|
+
* // line: 0,
|
|
113
|
+
* // character: 11
|
|
114
|
+
* // },
|
|
115
|
+
* // end: {
|
|
116
|
+
* // line: 0,
|
|
117
|
+
* // character: 11
|
|
118
|
+
* // }
|
|
119
|
+
* // }
|
|
120
|
+
* // }
|
|
121
|
+
* ```
|
|
122
|
+
* @param warning The warning to convert.
|
|
123
|
+
* @param ruleMetadata Available Stylelint rules.
|
|
124
|
+
* @param ruleCustomizations Optional rule customizations for severity overrides.
|
|
125
|
+
*/
|
|
126
|
+
export function warningToDiagnostic(warning, logger, ruleMetadata, ruleCustomizations) {
|
|
127
|
+
const severity = applySeverityCustomization(warning, ruleCustomizations, logger);
|
|
128
|
+
// If severity is null, the diagnostic should be suppressed.
|
|
129
|
+
if (severity === null) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const start = Position.create(warning.line - 1, warning.column - 1);
|
|
133
|
+
const end = typeof warning.endLine === 'number' && typeof warning.endColumn === 'number'
|
|
134
|
+
? Position.create(warning.endLine - 1, warning.endColumn - 1)
|
|
135
|
+
: Position.create(warning.line - 1, warning.column);
|
|
136
|
+
const ruleDocUrl = warning.url ?? ruleMetadata?.[warning.rule]?.url;
|
|
137
|
+
const diagnostic = Diagnostic.create(Range.create(start, end), warning.text, severity, warning.rule, 'Stylelint');
|
|
138
|
+
if (ruleDocUrl) {
|
|
139
|
+
diagnostic.codeDescription = { href: ruleDocUrl };
|
|
140
|
+
}
|
|
141
|
+
return diagnostic;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=warning-to-diagnostic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warning-to-diagnostic.js","sourceRoot":"","sources":["../../../src/server/stylelint/warning-to-diagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type pathIsInside from 'path-is-inside';
|
|
2
|
+
import type { Connection, TextDocuments } from 'vscode-languageserver';
|
|
3
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
4
|
+
import type { URI } from 'vscode-uri';
|
|
5
|
+
import type winston from 'winston';
|
|
6
|
+
import type { normalizeFsPath } from './utils/index.js';
|
|
7
|
+
import type { WorkspaceStylelintService } from './services/stylelint-runtime/workspace-stylelint.service.js';
|
|
8
|
+
export declare const FsPromisesModuleToken: import("../di/tokens.js").Token<typeof import("node:fs/promises")>;
|
|
9
|
+
export declare const PathModuleToken: import("../di/tokens.js").Token<import("path").PlatformPath>;
|
|
10
|
+
export declare const OsModuleToken: import("../di/tokens.js").Token<typeof import("node:os")>;
|
|
11
|
+
export declare const ChildProcessModuleToken: import("../di/tokens.js").Token<typeof import("node:child_process")>;
|
|
12
|
+
export declare const ReadlineModuleToken: import("../di/tokens.js").Token<typeof import("node:readline")>;
|
|
13
|
+
export declare const UriModuleToken: import("../di/tokens.js").Token<typeof URI>;
|
|
14
|
+
export declare const PathIsInsideToken: import("../di/tokens.js").Token<typeof pathIsInside>;
|
|
15
|
+
export declare const NormalizeFsPathToken: import("../di/tokens.js").Token<typeof normalizeFsPath>;
|
|
16
|
+
export declare const textDocumentsToken: import("../di/tokens.js").Token<TextDocuments<TextDocument>>;
|
|
17
|
+
export declare const lspConnectionToken: import("../di/tokens.js").Token<Connection>;
|
|
18
|
+
type WorkspaceStylelintServiceFactory = (logger?: winston.Logger) => WorkspaceStylelintService;
|
|
19
|
+
export declare const WorkspaceStylelintServiceFactoryToken: import("../di/tokens.js").Token<WorkspaceStylelintServiceFactory>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @no-unit-test -- No logic, just DI token definitions.
|
|
2
|
+
import { createToken } from '../di/tokens.js';
|
|
3
|
+
// Node.js modules
|
|
4
|
+
export const FsPromisesModuleToken = createToken('FileSystem');
|
|
5
|
+
export const PathModuleToken = createToken('PathModule');
|
|
6
|
+
export const OsModuleToken = createToken('OsModule');
|
|
7
|
+
export const ChildProcessModuleToken = createToken('ChildProcessModule');
|
|
8
|
+
export const ReadlineModuleToken = createToken('ReadlineModule');
|
|
9
|
+
export const UriModuleToken = createToken('UriModule');
|
|
10
|
+
// 3rd-party modules
|
|
11
|
+
export const PathIsInsideToken = createToken('PathIsInside');
|
|
12
|
+
export const NormalizeFsPathToken = createToken('NormalizeFsPath');
|
|
13
|
+
export const textDocumentsToken = createToken('TextDocuments');
|
|
14
|
+
export const lspConnectionToken = createToken('LspConnection');
|
|
15
|
+
export const WorkspaceStylelintServiceFactoryToken = createToken('WorkspaceStylelintServiceFactory');
|
|
16
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/server/tokens.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAOxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,kBAAkB;AAElB,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAoC,YAAY,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAA6B,YAAY,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAA2B,UAAU,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GACnC,WAAW,CAAsC,oBAAoB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAiC,gBAAgB,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAa,WAAW,CAAC,CAAC;AAEnE,oBAAoB;AAEpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAsB,cAAc,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAyB,iBAAiB,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAA8B,eAAe,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAa,eAAe,CAAC,CAAC;AAI3E,MAAM,CAAC,MAAM,qCAAqC,GAAG,WAAW,CAC/D,kCAAkC,CAClC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type stylelint from 'stylelint';
|
|
2
|
+
import type { PackageManager } from './stylelint/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Command IDs
|
|
5
|
+
*/
|
|
6
|
+
export declare enum CommandId {
|
|
7
|
+
ApplyAutoFix = "stylelint.applyAutoFix",
|
|
8
|
+
OpenRuleDoc = "stylelint.openRuleDoc",
|
|
9
|
+
LintFiles = "stylelint.lintFiles",
|
|
10
|
+
ClearAllProblems = "stylelint.clearAllProblems"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Code action kinds
|
|
14
|
+
*/
|
|
15
|
+
export declare const CodeActionKind: {
|
|
16
|
+
StylelintSourceFixAll: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Severity override types.
|
|
20
|
+
*/
|
|
21
|
+
export type SeverityOverride = 'downgrade' | 'upgrade' | 'error' | 'warn' | 'info' | 'off' | 'default';
|
|
22
|
+
/**
|
|
23
|
+
* Rule customization for severity overrides.
|
|
24
|
+
*/
|
|
25
|
+
export type RuleCustomization = {
|
|
26
|
+
/**
|
|
27
|
+
* Rule name pattern to match. Use `*` to match all rules.
|
|
28
|
+
*/
|
|
29
|
+
rule: string;
|
|
30
|
+
/**
|
|
31
|
+
* Severity override. `downgrade` converts errors to warnings, `upgrade` converts warnings to errors,
|
|
32
|
+
* or specify exact severity.
|
|
33
|
+
*/
|
|
34
|
+
severity: SeverityOverride;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Run mode for the linter. `onType` lints as you type, while `onSave` only
|
|
38
|
+
* lints after saving a document.
|
|
39
|
+
*/
|
|
40
|
+
export type RunMode = 'onSave' | 'onType';
|
|
41
|
+
/**
|
|
42
|
+
* Language server options.
|
|
43
|
+
*/
|
|
44
|
+
export type LanguageServerOptions = {
|
|
45
|
+
codeAction: {
|
|
46
|
+
disableRuleComment: {
|
|
47
|
+
location: 'separateLine' | 'sameLine';
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
config?: stylelint.Config | null;
|
|
51
|
+
configBasedir?: string;
|
|
52
|
+
configFile?: string;
|
|
53
|
+
customSyntax?: string;
|
|
54
|
+
ignoreDisables?: boolean;
|
|
55
|
+
ignorePath?: string;
|
|
56
|
+
packageManager: PackageManager;
|
|
57
|
+
reportDescriptionlessDisables?: boolean;
|
|
58
|
+
reportInvalidScopeDisables?: boolean;
|
|
59
|
+
reportNeedlessDisables?: boolean;
|
|
60
|
+
run: RunMode;
|
|
61
|
+
rules?: {
|
|
62
|
+
customizations?: RuleCustomization[];
|
|
63
|
+
};
|
|
64
|
+
snippet: string[];
|
|
65
|
+
stylelintPath?: string;
|
|
66
|
+
validate: string[];
|
|
67
|
+
lintFiles: {
|
|
68
|
+
glob: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export interface PnPConfiguration {
|
|
72
|
+
registerPath: string;
|
|
73
|
+
loaderPath?: string;
|
|
74
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CodeActionKind as VSCodeActionKind } from 'vscode-languageserver-types';
|
|
2
|
+
/**
|
|
3
|
+
* Command IDs
|
|
4
|
+
*/
|
|
5
|
+
export var CommandId;
|
|
6
|
+
(function (CommandId) {
|
|
7
|
+
CommandId["ApplyAutoFix"] = "stylelint.applyAutoFix";
|
|
8
|
+
CommandId["OpenRuleDoc"] = "stylelint.openRuleDoc";
|
|
9
|
+
CommandId["LintFiles"] = "stylelint.lintFiles";
|
|
10
|
+
CommandId["ClearAllProblems"] = "stylelint.clearAllProblems";
|
|
11
|
+
})(CommandId || (CommandId = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Code action kinds
|
|
14
|
+
*/
|
|
15
|
+
export const CodeActionKind = {
|
|
16
|
+
StylelintSourceFixAll: `${VSCodeActionKind.SourceFixAll}.stylelint`,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +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;AAIjF;;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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TextEdit } from 'vscode-languageserver-types';
|
|
2
|
+
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
3
|
+
/**
|
|
4
|
+
* Creates text edits for a document given updated contents. Allows for
|
|
5
|
+
* retaining the cursor position when the document is updated.
|
|
6
|
+
* @param document The document to create text edits for.
|
|
7
|
+
* @param newContents The new contents of the document.
|
|
8
|
+
* @returns The text edits to apply to the document.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTextEdits(document: TextDocument, newContents: string): TextEdit[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import diff from 'fast-diff';
|
|
2
|
+
import { Range, TextEdit } from 'vscode-languageserver-types';
|
|
3
|
+
/**
|
|
4
|
+
* Creates text edits for a document given updated contents. Allows for
|
|
5
|
+
* retaining the cursor position when the document is updated.
|
|
6
|
+
* @param document The document to create text edits for.
|
|
7
|
+
* @param newContents The new contents of the document.
|
|
8
|
+
* @returns The text edits to apply to the document.
|
|
9
|
+
*/
|
|
10
|
+
export function createTextEdits(document, newContents) {
|
|
11
|
+
const diffs = diff(document.getText(), newContents);
|
|
12
|
+
const edits = [];
|
|
13
|
+
let offset = 0;
|
|
14
|
+
for (const [op, text] of diffs) {
|
|
15
|
+
const start = offset;
|
|
16
|
+
switch (op) {
|
|
17
|
+
case diff.EQUAL:
|
|
18
|
+
offset += text.length;
|
|
19
|
+
break;
|
|
20
|
+
case diff.DELETE:
|
|
21
|
+
offset += text.length;
|
|
22
|
+
edits.push(TextEdit.del(Range.create(document.positionAt(start), document.positionAt(offset))));
|
|
23
|
+
break;
|
|
24
|
+
case diff.INSERT:
|
|
25
|
+
edits.push(TextEdit.insert(document.positionAt(start), text));
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return edits;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=create-text-edits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-text-edits.js","sourceRoot":"","sources":["../../../../src/server/utils/documents/create-text-edits.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsB,EAAE,WAAmB;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC;QAErB,QAAQ,EAAE,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,KAAK;gBACd,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;gBACtB,MAAM;YACP,KAAK,IAAI,CAAC,MAAM;gBACf,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;gBACtB,KAAK,CAAC,IAAI,CACT,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACnF,CAAC;gBACF,MAAM;YACP,KAAK,IAAI,CAAC,MAAM;gBACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9D,MAAM;QACR,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Position } from 'vscode-languageserver-types';
|
|
2
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
3
|
+
/**
|
|
4
|
+
* Disable directive comment types.
|
|
5
|
+
*/
|
|
6
|
+
export type DisableType = 'stylelint-disable' | 'stylelint-disable-line' | 'stylelint-disable-next-line';
|
|
7
|
+
/**
|
|
8
|
+
* If the given position is inside a `stylelint-disable` after the comment'
|
|
9
|
+
* type, returns the disable comment's type. Otherwise, returns `undefined`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```js
|
|
13
|
+
* const document = TextDocument.create(
|
|
14
|
+
* 'file:///path/to/file.css',
|
|
15
|
+
* 'css',
|
|
16
|
+
* 1,
|
|
17
|
+
* '/* stylelint-disable-line indentation *\/'
|
|
18
|
+
* // ^ Position is here
|
|
19
|
+
* );
|
|
20
|
+
* const position = Position.create(0, 26);
|
|
21
|
+
*
|
|
22
|
+
* getDisableType(document, position);
|
|
23
|
+
* // => 'stylelint-disable-line'
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function getDisableType(document: TextDocument, position: Position): DisableType | undefined;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Position } from 'vscode-languageserver-types';
|
|
2
|
+
/**
|
|
3
|
+
* If the given position is inside a `stylelint-disable` after the comment'
|
|
4
|
+
* type, returns the disable comment's type. Otherwise, returns `undefined`.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```js
|
|
8
|
+
* const document = TextDocument.create(
|
|
9
|
+
* 'file:///path/to/file.css',
|
|
10
|
+
* 'css',
|
|
11
|
+
* 1,
|
|
12
|
+
* '/* stylelint-disable-line indentation *\/'
|
|
13
|
+
* // ^ Position is here
|
|
14
|
+
* );
|
|
15
|
+
* const position = Position.create(0, 26);
|
|
16
|
+
*
|
|
17
|
+
* getDisableType(document, position);
|
|
18
|
+
* // => 'stylelint-disable-line'
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function getDisableType(document, position) {
|
|
22
|
+
const lineStartOffset = document.offsetAt(Position.create(position.line, 0));
|
|
23
|
+
const lineEndOffset = document.offsetAt(Position.create(position.line + 1, 0));
|
|
24
|
+
const line = document.getText().slice(lineStartOffset, lineEndOffset);
|
|
25
|
+
const before = line.slice(0, position.character);
|
|
26
|
+
const after = line.slice(position.character);
|
|
27
|
+
const disableKind = before
|
|
28
|
+
.match(/\/\*\s*(stylelint-disable(?:(?:-next)?-line)?)\s[a-z\-/\s,]*$/i)?.[1]
|
|
29
|
+
?.toLowerCase();
|
|
30
|
+
return disableKind && /^[a-z\-/\s,]*\*\//i.test(after) ? disableKind : undefined;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=get-disable-type.js.map
|
|
@@ -0,0 +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;AAWvD;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TextDocument, TextEdit } from 'vscode-languageserver-textdocument';
|
|
2
|
+
import type { LintDiagnostics } from '../../stylelint/index.js';
|
|
3
|
+
import type LSP from 'vscode-languageserver-protocol';
|
|
4
|
+
/**
|
|
5
|
+
* Get the edit info for a diagnostic.
|
|
6
|
+
* @param document The document to get edit info for.
|
|
7
|
+
* @param diagnostic The diagnostic to get edit info for.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getEditInfo(document: TextDocument, diagnostic: LSP.Diagnostic, lintResult: (LintDiagnostics & {
|
|
10
|
+
version: number;
|
|
11
|
+
}) | undefined): {
|
|
12
|
+
label: string;
|
|
13
|
+
edit: TextEdit;
|
|
14
|
+
} | undefined;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the edit info for a diagnostic.
|
|
3
|
+
* @param document The document to get edit info for.
|
|
4
|
+
* @param diagnostic The diagnostic to get edit info for.
|
|
5
|
+
*/
|
|
6
|
+
export function getEditInfo(document, diagnostic, lintResult) {
|
|
7
|
+
if (!lintResult || document.version !== lintResult.version) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const warning = lintResult.getWarning?.(diagnostic);
|
|
11
|
+
if (!warning) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
15
|
+
// @ts-ignore -- (TS2353) `fix` property is available since v16.15.
|
|
16
|
+
const edit = warning.fix;
|
|
17
|
+
if (!edit) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
label: `Fix this ${warning.rule} problem`,
|
|
22
|
+
edit: {
|
|
23
|
+
newText: edit.text,
|
|
24
|
+
range: {
|
|
25
|
+
start: document.positionAt(edit.range[0]),
|
|
26
|
+
end: document.positionAt(edit.range[1]),
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=get-edit-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-edit-info.js","sourceRoot":"","sources":["../../../../src/server/utils/documents/get-edit-info.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAC1B,QAAsB,EACtB,UAA0B,EAC1B,UAIY;IAEZ,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,mEAAmE;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO;QACN,KAAK,EAAE,YAAY,OAAO,CAAC,IAAI,UAAU;QACzC,IAAI,EAAE;YACL,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,KAAK,EAAE;gBACN,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACvC;SACD;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type stylelint from 'stylelint';
|
|
2
|
+
import type { TextDocument, TextEdit } from 'vscode-languageserver-textdocument';
|
|
3
|
+
import type { RunnerOptions } from '../../stylelint/index.js';
|
|
4
|
+
import { StylelintRunnerService } from '../../services/stylelint-runtime/stylelint-runner.service.js';
|
|
5
|
+
/**
|
|
6
|
+
* Runs Stylelint and returns fix text edits for the given document.
|
|
7
|
+
* @param runner The Stylelint runner.
|
|
8
|
+
* @param document The document to get fixes for.
|
|
9
|
+
* @param linterOptions Linter options to use.
|
|
10
|
+
* @param runnerOptions The runner options.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getFixes(runner: StylelintRunnerService, document: TextDocument, linterOptions?: stylelint.LinterOptions, runnerOptions?: RunnerOptions): Promise<TextEdit[]>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createTextEdits } from './create-text-edits.js';
|
|
2
|
+
/**
|
|
3
|
+
* Runs Stylelint and returns fix text edits for the given document.
|
|
4
|
+
* @param runner The Stylelint runner.
|
|
5
|
+
* @param document The document to get fixes for.
|
|
6
|
+
* @param linterOptions Linter options to use.
|
|
7
|
+
* @param runnerOptions The runner options.
|
|
8
|
+
*/
|
|
9
|
+
export async function getFixes(runner, document, linterOptions = {}, runnerOptions = {}) {
|
|
10
|
+
const result = await runner.lintDocument(document, { ...linterOptions, fix: true }, runnerOptions);
|
|
11
|
+
const fixedCode = typeof result.code === 'string'
|
|
12
|
+
? result.code
|
|
13
|
+
: typeof result.output === 'string' && result.output.length > 0
|
|
14
|
+
? result.output
|
|
15
|
+
: undefined;
|
|
16
|
+
return typeof fixedCode === 'string' ? createTextEdits(document, fixedCode) : [];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=get-fixes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-fixes.js","sourceRoot":"","sources":["../../../../src/server/utils/documents/get-fixes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMzD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,MAA8B,EAC9B,QAAsB,EACtB,gBAAyC,EAAE,EAC3C,gBAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CACvC,QAAQ,EACR,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAC/B,aAAa,CACb,CAAC;IAEF,MAAM,SAAS,GACd,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,SAAS,CAAC;IAEf,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/utils/documents/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes an object with errors, returning a new object in which each error has
|
|
3
|
+
* been replaced by a serializable object with the error's properties. Iterables
|
|
4
|
+
* that aren't arrays, maps, or sets are converted to arrays.
|
|
5
|
+
* @param object The object with errors.
|
|
6
|
+
* @returns The object with each error replaced by a serializable object.
|
|
7
|
+
*/
|
|
8
|
+
export declare function serializeErrors<T, R extends {
|
|
9
|
+
[K in keyof T]: T[K];
|
|
10
|
+
}>(object: T): R;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { serializeError } from 'serialize-error';
|
|
2
|
+
import { isIterable } from './iterables.js';
|
|
3
|
+
import { isObject } from './objects/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Takes an object with errors, returning a new object in which each error has
|
|
6
|
+
* been replaced by a serializable object with the error's properties. Iterables
|
|
7
|
+
* that aren't arrays, maps, or sets are converted to arrays.
|
|
8
|
+
* @param object The object with errors.
|
|
9
|
+
* @returns The object with each error replaced by a serializable object.
|
|
10
|
+
*/
|
|
11
|
+
export function serializeErrors(object) {
|
|
12
|
+
/**
|
|
13
|
+
* @param obj The object with errors.
|
|
14
|
+
* @param visited The set of objects that have already been visited.
|
|
15
|
+
* @returns The object with each error replaced by a serializable object.
|
|
16
|
+
*/
|
|
17
|
+
const serializeInner = (obj, visited) => {
|
|
18
|
+
if (!obj || typeof obj !== 'object') {
|
|
19
|
+
return obj;
|
|
20
|
+
}
|
|
21
|
+
if (visited.has(obj)) {
|
|
22
|
+
return visited.get(obj);
|
|
23
|
+
}
|
|
24
|
+
if (obj instanceof Error) {
|
|
25
|
+
const result = serializeError(obj);
|
|
26
|
+
visited.set(obj, result);
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
if (obj instanceof Map) {
|
|
30
|
+
const result = new Map();
|
|
31
|
+
visited.set(obj, result);
|
|
32
|
+
for (const [key, value] of obj) {
|
|
33
|
+
const serializedKey = serializeInner(key, visited);
|
|
34
|
+
const serializedValue = serializeInner(value, visited);
|
|
35
|
+
if (isObject(key)) {
|
|
36
|
+
visited.set(key, serializedKey);
|
|
37
|
+
}
|
|
38
|
+
if (isObject(value)) {
|
|
39
|
+
visited.set(value, serializedValue);
|
|
40
|
+
}
|
|
41
|
+
result.set(serializedKey, serializedValue);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
if (obj instanceof Set) {
|
|
46
|
+
const result = new Set();
|
|
47
|
+
visited.set(obj, result);
|
|
48
|
+
for (const value of obj) {
|
|
49
|
+
if (!isObject(value)) {
|
|
50
|
+
result.add(value);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const serializedValue = serializeInner(value, visited);
|
|
54
|
+
visited.set(value, serializedValue);
|
|
55
|
+
result.add(serializedValue);
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
if (isIterable(obj)) {
|
|
60
|
+
const result = [];
|
|
61
|
+
visited.set(obj, result);
|
|
62
|
+
for (const value of obj) {
|
|
63
|
+
result.push(serializeInner(value, visited));
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
visited.set(obj, '[Circular]');
|
|
68
|
+
const serializedObj = Object.fromEntries(Object.entries(obj).map(([key, value]) => {
|
|
69
|
+
if (!isObject(value)) {
|
|
70
|
+
return [key, value];
|
|
71
|
+
}
|
|
72
|
+
if (visited.has(value)) {
|
|
73
|
+
return [key, visited.get(value)];
|
|
74
|
+
}
|
|
75
|
+
if (value instanceof Error) {
|
|
76
|
+
const serialized = serializeError(value);
|
|
77
|
+
visited.set(value, serialized);
|
|
78
|
+
return [key, serialized];
|
|
79
|
+
}
|
|
80
|
+
const result = serializeInner(value, visited);
|
|
81
|
+
visited.set(value, result);
|
|
82
|
+
return [key, result];
|
|
83
|
+
}));
|
|
84
|
+
visited.set(obj, serializedObj);
|
|
85
|
+
return serializedObj;
|
|
86
|
+
};
|
|
87
|
+
return serializeInner(object, new WeakMap());
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes file system paths based on the operating system.
|
|
4
|
+
*/
|
|
5
|
+
export function normalizeFsPath(value, platform = process.platform) {
|
|
6
|
+
if (!value) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
return platform === 'win32' ? value.replace(/\//gu, '\\') : value;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/server/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAAyB,EACzB,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACnE,CAAC"}
|