{"id":14892,"library":"rintenki-lsp-server","title":"rintenki HTML LSP Server","description":"rintenki-lsp-server is a Language Server Protocol (LSP) implementation specifically designed for the rintenki HTML linter. It provides real-time diagnostics, code actions (including quick fixes for auto-fixable rules), and rich hover information for HTML documents. Currently at version 0.14.5, it is under active development, likely with a release cadence tied to the core rintenki linter. Key differentiators include its focus on precise HTML linting, integration with the robust rintenki ruleset, and configurability via a `.rintenkirc.json` file or editor-specific settings. While primarily consumed by editor extensions like the rintenki VS Code extension, it can be integrated with any LSP-compatible client by launching it as a standard I/O process.","status":"active","version":"0.14.5","language":"javascript","source_language":"en","source_url":"https://github.com/kzhrk/rintenki","tags":["javascript","html","linter","lsp","language-server","typescript"],"install":[{"cmd":"npm install rintenki-lsp-server","lang":"bash","label":"npm"},{"cmd":"yarn add rintenki-lsp-server","lang":"bash","label":"yarn"},{"cmd":"pnpm add rintenki-lsp-server","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Provides the core HTML linting logic and rules that the LSP server exposes.","package":"rintenki","optional":false},{"reason":"Provides the foundational framework and types for building Language Server Protocol servers in Node.js/TypeScript.","package":"vscode-languageserver","optional":false}],"imports":[{"note":"This is a TypeScript type definition for the server's configuration object, derived from `.rintenkirc.json`. It is for type-checking when developing custom tooling that interacts with server settings, not for runtime import.","symbol":"RintenkiSettings","correct":"import type { RintenkiSettings } from 'rintenki-lsp-server';"},{"note":"This is a TypeScript type definition for diagnostics specific to rintenki, typically extending standard LSP Diagnostic types. It's used for type-checking in custom integrations, not for runtime import.","symbol":"RintenkiDiagnostic","correct":"import type { RintenkiDiagnostic } from 'rintenki-lsp-server';"},{"note":"While the server is primarily designed to be launched as a standalone executable (e.g., `node lib/server.js --stdio`), this represents a plausible programmatic entry point if one were to embed or deeply integrate the server logic within another Node.js application. This is not a common use case for end-users.","symbol":"startServer","correct":"import { startServer } from 'rintenki-lsp-server/lib/server';"}],"quickstart":{"code":"npm install rintenki-lsp-server rintenki\n\n# To launch the rintenki LSP server for generic LSP clients (e.g., Neovim, Emacs):\n# Configure your LSP client to execute this command:\n# (ensure 'node' is in your PATH or specify the full path to your Node.js executable)\nnode ./node_modules/rintenki-lsp-server/lib/server.js --stdio\n\n// Example .rintenkirc.json in your project root for configuration:\n// {\n//   \"rules\": {\n//     \"no-bare-script\": \"warn\",\n//     \"self-closing-void-elements\": \"error\",\n//     \"prefer-button-type\": \"off\"\n//   }\n// }","lang":"typescript","description":"Demonstrates installation, how to launch the rintenki-lsp-server via standard I/O for a generic LSP client, and provides an example configuration file."},"warnings":[{"fix":"Before upgrading, review the release notes. After upgrading, update your `.rintenkirc.json` configuration and any editor-specific LSP client settings to match the new schema or rule names.","message":"As a package in the 0.x.x version range, breaking changes can occur between minor versions. Always consult the GitHub release notes or changelog when upgrading, especially for changes in rintenki's core rules, options, or the server's configuration schema which may require `.rintenkirc.json` updates.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Ensure a valid `.rintenkirc.json` file is present in your project's root directory. Validate its JSON syntax and ensure the rule names and options adhere to the `rintenki` linter's documentation.","message":"The effectiveness of the LSP server is highly dependent on the correct configuration of the underlying `rintenki` linter. Misconfigured, invalid, or missing `.rintenkirc.json` files can lead to the server not providing expected diagnostics or quick fixes.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Integrate by configuring your editor's LSP client to spawn `rintenki-lsp-server` as a child process, rather than attempting to import its modules directly into your application code. Refer to your LSP client's documentation for server setup instructions.","message":"rintenki-lsp-server is designed to be launched as a separate process via standard I/O (stdio) and is not intended for direct programmatic `import` and execution within browser environments or other JavaScript applications by end-users. Its primary interface is the LSP protocol.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"First, check your editor's LSP output/log panel for specific error messages. Verify the syntax and content of your `.rintenkirc.json`. Ensure `rintenki` is installed as a peer dependency (`npm install rintenki`). If logs are unavailable, try running the server manually with `node ./node_modules/rintenki-lsp-server/lib/server.js --stdio` to see direct console output.","cause":"This common error indicates a runtime issue within the `rintenki-lsp-server` process. Possible causes include an invalid `.rintenkirc.json` configuration, missing `rintenki` dependency, or an unhandled exception during server initialization or document processing.","error":"Language server exited unexpectedly. Check output for more details."},{"fix":"Confirm your editor's LSP client settings properly link HTML file types (e.g., `.html`, `.vue`, `.svelte`) to the `rintenki-lsp-server`. Ensure the server is successfully launched and connected. Review your `.rintenkirc.json` file for 'ignore' patterns or overly lenient rule severities (e.g., 'off').","cause":"The LSP client might not be correctly configured to associate HTML file types with `rintenki-lsp-server`, the server process might not be running or connected, or the `rintenki` configuration might be too permissive or exclude relevant files.","error":"No diagnostics/linting errors are showing for HTML files."}],"ecosystem":"npm"}