# spark-sql-language-server

> A LSP-based language server for Apache Spark SQL

Latest version **0.3.1** (published 2026-09-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install spark-sql-language-server
pnpm add spark-sql-language-server
yarn add spark-sql-language-server
bun add spark-sql-language-server
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; large bundle; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.3.1 |
| Published | 2026-09-16 |
| First published | 2023-08-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | * |
| Dependencies | 6 |
| Unpacked size | 19.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jason Tang |
| Maintainers | simplejason, zhaoshaoting.zst |
| Keywords | Spark, Apache, LSP, Language Server, SQL Dialect |

## Links

- npm: https://www.npmjs.com/package/spark-sql-language-server
- npm.io page: https://npm.io/package/spark-sql-language-server

## Dependencies (6)

- [assert](https://npm.io/package/assert.md) ^2.0.0
- [antlr4ts](https://npm.io/package/antlr4ts.md) ^0.5.0-alpha.4
- [antlr4-c3](https://npm.io/package/antlr4-c3.md) ^2.2.1
- [sql-formatter](https://npm.io/package/sql-formatter.md) ^15.4.0
- [vscode-languageserver](https://npm.io/package/vscode-languageserver.md) ^9.0.1
- [vscode-languageserver-textdocument](https://npm.io/package/vscode-languageserver-textdocument.md) ^1.0.12

## Recent versions

- 0.3.1 (latest) — 2026-09-16
- 0.2.4-beta.3 (beta) — 2026-05-15
- 0.3.0 — 2026-09-16
- 0.2.4 — 2026-05-28
- 0.2.4-beta.2 — 2026-05-14
- 0.2.4-beta.1 — 2026-05-14
- 0.2.4-beta.0 — 2026-05-14
- 0.2.3 — 2026-05-05
- 0.2.2 — 2026-04-20
- 0.2.1 — 2026-04-20
- 0.2.0 — 2026-04-20
- 0.2.0-beta.3 — 2026-04-19
- 0.2.0-beta.2 — 2026-04-16
- 0.2.0-beta.1 — 2026-04-12
- 0.2.0-beta.0 — 2026-04-05
- … 7 more at https://npm.io/package/spark-sql-language-server/versions

## README

# SparkSQL LSP language server web extension

A SparkSQL LSP server that runs in a web extension/WebWorker.

## Functionality

This Language Server runs syntax validation while the textDocument's content is changing (turned off by default).
In addition, it supports LSP capabilities including:

- Auto-completion
- Custom commands:
  - extension.sparksql.validationOn: used to turn on/off syntax validation in language server.

## Usage

The package exports a worker JS file named "**sparksql-server-worker**". To run in a browser env, such as `monaco-editor`, 
please use it to create a `Worker` instance with the help of `monaco-languageclient`.

Use `sendRequest` API to execute custom commands:
```typescript
languageClient.sendRequest(ExecuteCommandRequest.type, {
    command: "extension.sparksql.validationOn",
    arguments: [true]
});
```

Server-side i18n can also be configured with execute commands:

```typescript
languageClient.sendRequest(ExecuteCommandRequest.method, {
    command: "extension.sparkSQL.setLocale",
    arguments: ["zh-CN"]
});

languageClient.sendRequest(ExecuteCommandRequest.method, {
    command: "extension.sparkSQL.registerI18nMessages",
    arguments: [
        "patch",
        {
            "zh-CN": {
                "lineage.node.query.resultSet.displayName": "查询结果集",
                "lineage.edge.semantic.mapping.displayName": "字段来源"
            }
        }
    ]
});
```

## Other language servers

- [flink-sql-language-server](https://www.npmjs.com/package/flink-sql-language-server)
- [mysql-language-server](https://www.npmjs.com/package/mysql-language-server)

---
_Source: https://npm.io/package/spark-sql-language-server · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
