setup tsdown
This commit is contained in:
7 files changed
+492
-20
No files matched your search
+2
-1
@@ -1,2 +1,3 @@
|
||||
node_modules
|
||||
node_modules/
|
||||
dist/
|
||||
repos/
|
||||
@@ -2,15 +2,17 @@
|
||||
|
||||
An MCP server that exposes one Language Server to agents as a headless editor.
|
||||
Effect 4 (`effect/unstable/ai` for MCP, `effect/unstable/cli` for the CLI) plus
|
||||
`vscode-languageserver-protocol` for LSP. TypeScript runs directly on Node 26
|
||||
(type stripping); there is no build step.
|
||||
`vscode-languageserver-protocol` for LSP. TypeScript is bundled for Node 26 with
|
||||
tsdown; source files can still run directly through Node's type stripping.
|
||||
|
||||
## Commands
|
||||
|
||||
- `pnpm tsc` — type-check (tsgo with the Effect language-service plugin)
|
||||
- `pnpm build` — bundle the CLI to `dist/main.mjs` with tsdown
|
||||
- `pnpm dev` — run the TypeScript source directly
|
||||
- `pnpm test` — vitest; integration tests spawn `test/fixtures/server.ts`, a real LSP server
|
||||
- `pnpm biome check --write --unsafe` — lint/format (run before committing; its rewrites are safe)
|
||||
- `node src/main.ts --help` — the CLI; smoke-test with `node src/main.ts --root <dir> -- <server> [args]`
|
||||
- `node dist/main.mjs --help` — the built CLI; smoke-test with `node dist/main.mjs --root <dir> -- <server> [args]`
|
||||
- Commit with `jj commit -m "..."`, never `git`
|
||||
|
||||
The shell may have an HTTP proxy configured; when curling the `--http` transport locally, pass `--noproxy '*'`.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
An [MCP](https://modelcontextprotocol.io/) server that exposes a single [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) server to agents as a headless editor.
|
||||
|
||||
`lsp-mcp` starts the language server you provide, keeps its document state in sync with the workspace, and exposes the language server's capabilities through MCP tools and resources. It is written in TypeScript and Effect, and runs directly on Node.js without a build step.
|
||||
`lsp-mcp` starts the language server you provide, keeps its document state in sync with the workspace, and exposes the language server's capabilities through MCP tools and resources. It is written in TypeScript and [Effect](https://effect.website).
|
||||
|
||||
## Features
|
||||
|
||||
@@ -28,16 +28,17 @@ Underlying techniques:
|
||||
|
||||
```sh
|
||||
pnpm install
|
||||
pnpm build
|
||||
```
|
||||
|
||||
The repository runs TypeScript directly. From a checkout, invoke the server with `node src/main.ts`.
|
||||
From a checkout, invoke the built server with `node dist/main.mjs`. Use `pnpm dev` to run the TypeScript source directly during development.
|
||||
|
||||
## Usage
|
||||
|
||||
The general form is:
|
||||
|
||||
```sh
|
||||
node src/main.ts [lsp-mcp options] -- <language-server> [language-server args...]
|
||||
node dist/main.mjs [lsp-mcp options] -- <language-server> [language-server args...]
|
||||
```
|
||||
|
||||
The `--` separates `lsp-mcp` options from the executable and arguments passed to the language server.
|
||||
@@ -47,7 +48,7 @@ The `--` separates `lsp-mcp` options from the executable and arguments passed to
|
||||
stdio is the default transport and is suitable for MCP clients that launch a local server process:
|
||||
|
||||
```sh
|
||||
node src/main.ts --root /path/to/project -- typescript-language-server --stdio
|
||||
node dist/main.mjs --root /path/to/project -- typescript-language-server --stdio
|
||||
```
|
||||
|
||||
For example, an MCP client configuration can point at the checkout like this:
|
||||
@@ -58,7 +59,7 @@ For example, an MCP client configuration can point at the checkout like this:
|
||||
"typescript": {
|
||||
"command": "node",
|
||||
"args": [
|
||||
"/path/to/lsp-mcp/src/main.ts",
|
||||
"/path/to/lsp-mcp/dist/main.mjs",
|
||||
"--root",
|
||||
"/path/to/project",
|
||||
"--",
|
||||
@@ -75,7 +76,7 @@ For example, an MCP client configuration can point at the checkout like this:
|
||||
Run the MCP endpoint on a local port with `--http`:
|
||||
|
||||
```sh
|
||||
node src/main.ts --http 9010 --root ./crate -- rust-analyzer
|
||||
node dist/main.mjs --http 9010 --root ./crate -- rust-analyzer
|
||||
```
|
||||
|
||||
The endpoint is available at:
|
||||
@@ -88,20 +89,20 @@ http://localhost:9010/mcp
|
||||
|
||||
```sh
|
||||
# Pass JSON initialization options to the language server.
|
||||
node src/main.ts \
|
||||
node dist/main.mjs \
|
||||
--init-options '{"typescript":{"useInferredProjectPerProjectRoot":true}}' \
|
||||
-- typescript-language-server --stdio
|
||||
|
||||
# Serve workspace/configuration and didChangeConfiguration with JSON settings.
|
||||
node src/main.ts \
|
||||
node dist/main.mjs \
|
||||
--settings '{"gopls":{"staticcheck":true}}' \
|
||||
-- gopls
|
||||
|
||||
# Add a file-extension to language-id mapping.
|
||||
node src/main.ts --language vue=vue --root ./web -- vue-language-server --stdio
|
||||
node dist/main.mjs --language vue=vue --root ./web -- vue-language-server --stdio
|
||||
|
||||
# Keep more documents open, and always restart a crashed language server.
|
||||
node src/main.ts --open-documents 64 --restart always -- clangd
|
||||
node dist/main.mjs --open-documents 64 --restart always -- clangd
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
+9
-3
@@ -1,14 +1,19 @@
|
||||
{
|
||||
"name": "lsp-mcp",
|
||||
"name": "@opticlm/lsp-mcp",
|
||||
"version": "0.1.0",
|
||||
"description": "MCP server exposing a Language Server's capabilities to agents as a headless editor",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"bin": {
|
||||
"lsp-mcp": "./src/main.ts"
|
||||
"lsp-mcp": "./dist/main.mjs"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node src/main.ts",
|
||||
"build": "tsdown",
|
||||
"start": "node dist/main.mjs",
|
||||
"dev": "node src/main.ts",
|
||||
"check": "tsc",
|
||||
"test": "vitest run",
|
||||
"lint": "biome check --write --unsafe",
|
||||
@@ -34,6 +39,7 @@
|
||||
"@effect/tsgo": "0.45.0",
|
||||
"@effect/vitest": "4.0.0-rc.115",
|
||||
"@types/node": "^26.6.1",
|
||||
"tsdown": "0.23.0",
|
||||
"typescript": "^7.0.2",
|
||||
"vitest": "^5.0.1",
|
||||
"vscode-languageserver": "^10.1.1"
|
||||
|
||||
Generated
+451
@@ -194,6 +194,9 @@ importers:
|
||||
'@types/node':
|
||||
specifier: ^26.6.1
|
||||
version: 26.6.1
|
||||
tsdown:
|
||||
specifier: 0.23.0
|
||||
version: 0.23.0(typescript@7.0.2)
|
||||
typescript:
|
||||
specifier: ^7.0.2
|
||||
version: 7.0.2
|
||||
@@ -334,6 +337,9 @@ packages:
|
||||
'@oxc-project/types@0.150.0':
|
||||
resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==}
|
||||
|
||||
'@quansync/fs@1.1.0':
|
||||
resolution: {integrity: sha512-qAPG/t3HqML1TlN7sY/pTbEjzFVAKsMjNNMGheyDosro+kT4iw2KCUoHcVdmliwWjorm4elZbgNQyU2eD97eDg==}
|
||||
|
||||
'@redis/bloom@6.2.1':
|
||||
resolution: {integrity: sha512-huQgNLaCIZfQ9SeLn4q9124uOUd8HbZDYHwwUzNcRgHqCHiHKl2dDxMqJCeWh8cMqZAoWuHR8XnWbDMIf+o7ag==}
|
||||
engines: {node: '>= 20.0.0'}
|
||||
@@ -618,10 +624,149 @@ packages:
|
||||
'@vitest/spy@5.0.1':
|
||||
resolution: {integrity: sha512-rbto/mF/SGERxEgYOek7Xm6B9b+y+mVoo+f4b2LymYO8zM1b7uB5nHuhVMTP2hxdzgxvGiZYGxGIaMvL5y180Q==}
|
||||
|
||||
'@yuku-codegen/binding-android-arm64@0.10.2':
|
||||
resolution: {integrity: sha512-Oc2KInVkPfUjEB4PeV6X0NvIoyYTzDe/WmqFrTwBqKs6YKnz4A7XwWQvJTb7M0rLz9a6WgpUUiiS5QKaCi4O/g==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@yuku-codegen/binding-darwin-arm64@0.10.2':
|
||||
resolution: {integrity: sha512-3H7eNPIHJndUJXZ4QUGBPq1zC6RGcUZfm7bymJes+/N7wTVWUn1bxZ9JcozYHpkWQNm9f23G8YWbaHD9aYH72A==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@yuku-codegen/binding-darwin-x64@0.10.2':
|
||||
resolution: {integrity: sha512-AJOUpR2s3LF9AWiiub/Uyc/UoXNTWcq8hK3cVI6fUSXtwh34dG21J6hRuNlO6JVJFTo4o3ScVvZOrh/YFfUEAA==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@yuku-codegen/binding-freebsd-x64@0.10.2':
|
||||
resolution: {integrity: sha512-ms7DcZu87u5CiK/wMwvpKAvAmtaqKjCQIXNweMLypG6qbuiaOMQf1jpbB5+j46xBcgCovo8TQMcv0bCQLKIL9w==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@yuku-codegen/binding-linux-arm-gnu@0.10.2':
|
||||
resolution: {integrity: sha512-xJDpYAsKV5+eaiBhTYl05fvT6sst4PsCeuIFMRu9b0/WCSrNQPfCDtAQ5/MS6xNpsdujdZEPR+gmfWk3ZG5i3A==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@yuku-codegen/binding-linux-arm-musl@0.10.2':
|
||||
resolution: {integrity: sha512-qfTkgd7AEx61l4K9VtXWCGTxc/fmXJ4ZheDz3i+/AAJUtg4sa0bPrc0VBxPggB/rayR8Z3+JfrBItuyanBJJ9Q==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@yuku-codegen/binding-linux-arm64-gnu@0.10.2':
|
||||
resolution: {integrity: sha512-4e6Mifm/4UdjtU3D8mATIrvgP+xEiH8xtQOjd0zpd72XKWT7ug3sdyhq2utkkZFP6BvYp7SgZrI+aR4VeIOHdw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@yuku-codegen/binding-linux-arm64-musl@0.10.2':
|
||||
resolution: {integrity: sha512-RdsJrUfDYFVV3JOmWFUWwSu31fa1APn12xDeIKxgl/YWxrabwtxsDBNjF2561c7tmcbiewdCUvngqRs8AyGVLA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@yuku-codegen/binding-linux-x64-gnu@0.10.2':
|
||||
resolution: {integrity: sha512-mVzWimEPPreaPyXIUvxsHoJzvO7ckZ5j0LgQFHz04zQIRwt9A9T2hA7K5/jYjJKkMxWG/U2VjhGNwVhtyU+uqg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@yuku-codegen/binding-linux-x64-musl@0.10.2':
|
||||
resolution: {integrity: sha512-Y77fyISurmr2mvO1yeq3u+x/WJbACgPR4w+lzEVx30ViCxZzIGrZPRN1yEdZ9xUNPNsIO5thBHIdRNG+UGUG+Q==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@yuku-codegen/binding-win32-arm64@0.10.2':
|
||||
resolution: {integrity: sha512-1+tGLyG0u5YYy0lev4ck7/0sd8xJ9SZde0dLut7qLDPZV5WVTV8x6OxNXUne/PGuHZyO1vK+txPQzzHOyXHGSw==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@yuku-codegen/binding-win32-x64@0.10.2':
|
||||
resolution: {integrity: sha512-8a2SExRohRbwC0MY4VpOF0/RSckrJ2ASZqAor5/RYSJJaeadR93n10gZzcKT6pY9ukiSOIZCRKVRD2tH73T0qA==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@yuku-parser/binding-android-arm64@0.10.2':
|
||||
resolution: {integrity: sha512-2VPBU9fRGRAQ2xPAvghnec3oou5Nrxm2Bezhf+13UMspAxQSkF/32r+ySKXSwIPA5/RivumDJDxAxc301Sgicw==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@yuku-parser/binding-darwin-arm64@0.10.2':
|
||||
resolution: {integrity: sha512-LD+PMZE51tCYTOss5HBkm3/AE39MvcMDBfWJx7A4yDcjfNbAQDnHZKtzSOuqrswx+TQHY0ws5xn6+fWOwtmfBA==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@yuku-parser/binding-darwin-x64@0.10.2':
|
||||
resolution: {integrity: sha512-mmZ8cND+AoIIMRERyMinlg5ApHxP23B9jH2B5wT7T+dliPa9rubLxneB/SUjFwyUjGaFnB5G7t4YvpfbO5zbkQ==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@yuku-parser/binding-freebsd-x64@0.10.2':
|
||||
resolution: {integrity: sha512-gVIjaaIddbRfAhHlC8N809wQWml7mxfSVnzaLtzGXObTeFTPAg/YVnQXt1UOhPM1ah5eG/8Y0RUlNpB4GVe7eQ==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@yuku-parser/binding-linux-arm-gnu@0.10.2':
|
||||
resolution: {integrity: sha512-q/XPPQQAPdlw05aPj30ygBhekmQryGOwxVraBgApjKK8yY1kNQgqq6XCYLF1WHSee+lhxclrTO7W0/bt7dR1GA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@yuku-parser/binding-linux-arm-musl@0.10.2':
|
||||
resolution: {integrity: sha512-A+Cb0I1hFF4wilTQpWs79k1aNnj4B2tkrHx3zsuUNF9BtVY2zPZ4yeQEM/zjXrS/qJlNMZVK9NrWJjwdpnTrfg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@yuku-parser/binding-linux-arm64-gnu@0.10.2':
|
||||
resolution: {integrity: sha512-aGNSzqIqqphFwAdIFwVvKIyXD1Iy3CxrEJVIZAT87Ecyi4vCmmDD2v2l9h+Gd3/wSy3JZlOI792LJbKAjyy9rQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@yuku-parser/binding-linux-arm64-musl@0.10.2':
|
||||
resolution: {integrity: sha512-Ddl1sF0rtuCXyHGSOV6dcmdx+ETv1iD+IVFqQuOjzkJZWclxJxdBWX6ZJMRtTiGqGUTbqLEKiTXxpR/Bvqk+2A==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@yuku-parser/binding-linux-x64-gnu@0.10.2':
|
||||
resolution: {integrity: sha512-/nlcpR6IF5U+0m5L9wvAIXeQa2DT+BXuvqKDsTcOTlcc0B4dHNyqE5hTXsS4hAyimpy2ZK8A1zMNF5hTrjg2cg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@yuku-parser/binding-linux-x64-musl@0.10.2':
|
||||
resolution: {integrity: sha512-GX80dxTQD/M/OryyuxJcFzFENzry3cDFPvCFTyWogNWQH3fSHfMrNfpwpl1YzMos1eV9NygK5GSDG7VArQlb4w==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@yuku-parser/binding-win32-arm64@0.10.2':
|
||||
resolution: {integrity: sha512-agePQBV4VHewiGU0ACSjscZ/hJd283f9JfAF19Gf1rI5+wy5tTgx4GS36i0b3xim15AQ4RCpDRosEvhLZ4zAOw==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@yuku-parser/binding-win32-x64@0.10.2':
|
||||
resolution: {integrity: sha512-s8//CMpgL5+y1lvDCdyh1rwGI5+ytDJywFJRe1vnhI7n0j+caxshNucurikYLLVeQ2SYFex6aPrzgQxkabBQRA==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@yuku-toolchain/types@0.10.2':
|
||||
resolution: {integrity: sha512-sSeo4SSSToiS+sSD+bwn/s94EEcaLJ7tG5LCp8gFYC1G5VzxzX7fqB6m9RU1yMD8KTpu6zdU/I1NlQf8hVBJ9Q==}
|
||||
|
||||
assertion-error@2.0.1:
|
||||
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
cac@7.0.0:
|
||||
resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==}
|
||||
engines: {node: '>=20.19.0'}
|
||||
|
||||
chai@6.2.2:
|
||||
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -630,13 +775,29 @@ packages:
|
||||
resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
defu@6.1.7:
|
||||
resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
|
||||
|
||||
detect-libc@2.1.2:
|
||||
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
dts-resolver@3.0.0:
|
||||
resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==}
|
||||
engines: {node: ^22.18.0 || >=24.0.0}
|
||||
peerDependencies:
|
||||
oxc-resolver: '>=11.0.0'
|
||||
peerDependenciesMeta:
|
||||
oxc-resolver:
|
||||
optional: true
|
||||
|
||||
effect@4.0.0-rc.115:
|
||||
resolution: {integrity: sha512-ogYulZ5ffeOzrJqQrG0XOkDO5lKn2s9KNHhoxJy/6wKUkF0i12dlVXWA9TgsgQ+zV/JzizyG0+XMPepZEQX6vw==}
|
||||
|
||||
empathic@2.0.1:
|
||||
resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
es-module-lexer@2.3.2:
|
||||
resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==}
|
||||
|
||||
@@ -661,6 +822,17 @@ packages:
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
|
||||
get-tsconfig@5.0.0-beta.6:
|
||||
resolution: {integrity: sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==}
|
||||
engines: {node: '>=20.20.0'}
|
||||
|
||||
hookable@6.1.2:
|
||||
resolution: {integrity: sha512-+abwxtiEA52GCVIsQqut3S/uKTbUwYIp4Pe/vv+6py5XiXBCqMZHg6pA6Y5qhgLSEys0/cYuPbO0z1QFj5ZCmg==}
|
||||
|
||||
import-without-cache@0.4.1:
|
||||
resolution: {integrity: sha512-vXoV9PjKHEednCUu01e98TkImxy67e3BJXbTIOmIq4Hyzw3IAwYRcuPkfeTzJzwyyts4kjuA73x+pWJLc4f86A==}
|
||||
engines: {node: ^22.18.0 || >=24.0.0}
|
||||
|
||||
lightningcss-android-arm64@1.33.0:
|
||||
resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
@@ -747,6 +919,10 @@ packages:
|
||||
resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==}
|
||||
engines: {node: '>=12.20.0'}
|
||||
|
||||
obug@3.0.0:
|
||||
resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==}
|
||||
engines: {node: '>=12.20.0'}
|
||||
|
||||
picocolors@1.1.1:
|
||||
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
||||
|
||||
@@ -758,10 +934,38 @@ packages:
|
||||
resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
quansync@1.0.0:
|
||||
resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
|
||||
|
||||
redis@6.2.1:
|
||||
resolution: {integrity: sha512-Z9VHtgYs48PiQC77X9O2Er8Hj4T+5BtFjT91/vi5Is1D04N72cA946ZslM1ImJw8ZctFBZWAVjM7S5wJNeHMpg==}
|
||||
engines: {node: '>= 20.0.0'}
|
||||
|
||||
resolve-pkg-maps@1.0.0:
|
||||
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
|
||||
|
||||
rolldown-plugin-dts@0.28.6:
|
||||
resolution: {integrity: sha512-qKrFtBfRfR2hP233m7Ic9zf3wv6MSYdZghWKMdEO6dRYZGlNfINJAa1P5ZVvyHh3mrcd7IJQvIY8L9vnm+v5rQ==}
|
||||
engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0}
|
||||
peerDependencies:
|
||||
'@typescript/native-preview': '*'
|
||||
'@volar/typescript': ~2.4.0
|
||||
'@vue/language-core': ~3.2.0 || ~3.3.0
|
||||
rolldown: ^1.2.0
|
||||
typescript: ^5.0.0 || ^6.0.0 || ~7.0.0
|
||||
vue-tsc: ~3.2.0 || ~3.3.0
|
||||
peerDependenciesMeta:
|
||||
'@typescript/native-preview':
|
||||
optional: true
|
||||
'@volar/typescript':
|
||||
optional: true
|
||||
'@vue/language-core':
|
||||
optional: true
|
||||
typescript:
|
||||
optional: true
|
||||
vue-tsc:
|
||||
optional: true
|
||||
|
||||
rolldown@1.2.9:
|
||||
resolution: {integrity: sha512-hx/Pv0N1haXRb11qkfnK5MXB/iqr7i0yjWQqmO9uHqZpBgQSqzc8UsSnEpalsh+j1I8qQ2CkXAkJC8Br3dKSlg==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
@@ -788,15 +992,60 @@ packages:
|
||||
resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
tinyexec@1.3.1:
|
||||
resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
tinyglobby@0.2.17:
|
||||
resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
tree-kill@1.2.2:
|
||||
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
|
||||
hasBin: true
|
||||
|
||||
tsdown@0.23.0:
|
||||
resolution: {integrity: sha512-BaT+ep1xnj5hdyICLd5r5SYYE+TXnI1ATePLykv9vcKpHpFTWUWRH+x1AF/E2qcu3YB6+vI8IdyxIIIffEqw5Q==}
|
||||
engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@arethetypeswrong/core': ^0.18.1
|
||||
'@tsdown/css': 0.23.0
|
||||
'@tsdown/exe': 0.23.0
|
||||
'@vitejs/devtools': '*'
|
||||
publint: ^0.3.8
|
||||
tsx: '*'
|
||||
typescript: ^5.0.0 || ^6.0.0 || ^7.0.0
|
||||
unplugin-unused: '>=0.5.0'
|
||||
unrun: '*'
|
||||
peerDependenciesMeta:
|
||||
'@arethetypeswrong/core':
|
||||
optional: true
|
||||
'@tsdown/css':
|
||||
optional: true
|
||||
'@tsdown/exe':
|
||||
optional: true
|
||||
'@vitejs/devtools':
|
||||
optional: true
|
||||
publint:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
typescript:
|
||||
optional: true
|
||||
unplugin-unused:
|
||||
optional: true
|
||||
unrun:
|
||||
optional: true
|
||||
|
||||
typescript@7.0.2:
|
||||
resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==}
|
||||
engines: {node: '>=16.20.0'}
|
||||
hasBin: true
|
||||
|
||||
unconfig-core@7.5.0:
|
||||
resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==}
|
||||
|
||||
undici-types@8.9.0:
|
||||
resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==}
|
||||
|
||||
@@ -804,6 +1053,10 @@ packages:
|
||||
resolution: {integrity: sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==}
|
||||
engines: {node: '>=22.19.0'}
|
||||
|
||||
verkit@0.4.0:
|
||||
resolution: {integrity: sha512-sXMwN6DMHeouPfCxkxWkKAmxphWKEenHYY5H1nIBzU3PmDsmJp6kBXJdshjVdpMZuWCmL9SH7KFRx29AylpP6g==}
|
||||
engines: {node: '>=18.12.0'}
|
||||
|
||||
vite@8.3.0:
|
||||
resolution: {integrity: sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
@@ -925,6 +1178,15 @@ packages:
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
|
||||
yuku-ast@0.10.2:
|
||||
resolution: {integrity: sha512-UnG9mA6giglCvSErft2/40TVFX750Sj1xgwddPLpG7J7rlr/P1wPADg9G2RK+d/1tNLtRVoLdMMOMVBB9561TQ==}
|
||||
|
||||
yuku-codegen@0.10.2:
|
||||
resolution: {integrity: sha512-hentl2dtrF6cPjiAirtkfxfFZBA6Hdm61UqRJ7cA0qrlDNMk9PZGOjw5w1mx3E0hu/6pHcJF4dJW+D0SXHPZOA==}
|
||||
|
||||
yuku-parser@0.10.2:
|
||||
resolution: {integrity: sha512-CgaU0/PPjCAIEZ3WQroosOxTY3eeKldAN3h+vk8pMNz4+jl1CZzBR4pW+K/rRPF112VooCL5FdjJoiMNjDrL2A==}
|
||||
|
||||
snapshots:
|
||||
|
||||
'@biomejs/biome@2.5.14':
|
||||
@@ -1028,6 +1290,10 @@ snapshots:
|
||||
|
||||
'@oxc-project/types@0.150.0': {}
|
||||
|
||||
'@quansync/fs@1.1.0':
|
||||
dependencies:
|
||||
quansync: 1.0.0
|
||||
|
||||
'@redis/bloom@6.2.1(@redis/client@6.2.1)':
|
||||
dependencies:
|
||||
'@redis/client': 6.2.1
|
||||
@@ -1183,16 +1449,98 @@ snapshots:
|
||||
|
||||
'@vitest/spy@5.0.1': {}
|
||||
|
||||
'@yuku-codegen/binding-android-arm64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-darwin-arm64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-darwin-x64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-freebsd-x64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-linux-arm-gnu@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-linux-arm-musl@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-linux-arm64-gnu@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-linux-arm64-musl@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-linux-x64-gnu@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-linux-x64-musl@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-win32-arm64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-codegen/binding-win32-x64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-android-arm64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-darwin-arm64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-darwin-x64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-freebsd-x64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-linux-arm-gnu@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-linux-arm-musl@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-linux-arm64-gnu@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-linux-arm64-musl@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-linux-x64-gnu@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-linux-x64-musl@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-win32-arm64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-parser/binding-win32-x64@0.10.2':
|
||||
optional: true
|
||||
|
||||
'@yuku-toolchain/types@0.10.2': {}
|
||||
|
||||
assertion-error@2.0.1: {}
|
||||
|
||||
cac@7.0.0: {}
|
||||
|
||||
chai@6.2.2: {}
|
||||
|
||||
cluster-key-slot@1.1.2: {}
|
||||
|
||||
defu@6.1.7: {}
|
||||
|
||||
detect-libc@2.1.2: {}
|
||||
|
||||
dts-resolver@3.0.0: {}
|
||||
|
||||
effect@4.0.0-rc.115: {}
|
||||
|
||||
empathic@2.0.1: {}
|
||||
|
||||
es-module-lexer@2.3.2: {}
|
||||
|
||||
estree-walker@3.0.3:
|
||||
@@ -1208,6 +1556,14 @@ snapshots:
|
||||
fsevents@2.3.3:
|
||||
optional: true
|
||||
|
||||
get-tsconfig@5.0.0-beta.6:
|
||||
dependencies:
|
||||
resolve-pkg-maps: 1.0.0
|
||||
|
||||
hookable@6.1.2: {}
|
||||
|
||||
import-without-cache@0.4.1: {}
|
||||
|
||||
lightningcss-android-arm64@1.33.0:
|
||||
optional: true
|
||||
|
||||
@@ -1265,6 +1621,8 @@ snapshots:
|
||||
|
||||
obug@2.2.1: {}
|
||||
|
||||
obug@3.0.0: {}
|
||||
|
||||
picocolors@1.1.1: {}
|
||||
|
||||
picomatch@4.0.7: {}
|
||||
@@ -1275,6 +1633,8 @@ snapshots:
|
||||
picocolors: 1.1.1
|
||||
source-map-js: 1.2.1
|
||||
|
||||
quansync@1.0.0: {}
|
||||
|
||||
redis@6.2.1:
|
||||
dependencies:
|
||||
'@redis/bloom': 6.2.1(@redis/client@6.2.1)
|
||||
@@ -1286,6 +1646,22 @@ snapshots:
|
||||
- '@node-rs/xxhash'
|
||||
- '@opentelemetry/api'
|
||||
|
||||
resolve-pkg-maps@1.0.0: {}
|
||||
|
||||
rolldown-plugin-dts@0.28.6(rolldown@1.2.9)(typescript@7.0.2):
|
||||
dependencies:
|
||||
dts-resolver: 3.0.0
|
||||
get-tsconfig: 5.0.0-beta.6
|
||||
obug: 3.0.0
|
||||
rolldown: 1.2.9
|
||||
yuku-ast: 0.10.2
|
||||
yuku-codegen: 0.10.2
|
||||
yuku-parser: 0.10.2
|
||||
optionalDependencies:
|
||||
typescript: 7.0.2
|
||||
transitivePeerDependencies:
|
||||
- oxc-resolver
|
||||
|
||||
rolldown@1.2.9:
|
||||
dependencies:
|
||||
'@oxc-project/types': 0.150.0
|
||||
@@ -1319,11 +1695,40 @@ snapshots:
|
||||
|
||||
tinyexec@1.3.0: {}
|
||||
|
||||
tinyexec@1.3.1: {}
|
||||
|
||||
tinyglobby@0.2.17:
|
||||
dependencies:
|
||||
fdir: 6.5.0(picomatch@4.0.7)
|
||||
picomatch: 4.0.7
|
||||
|
||||
tree-kill@1.2.2: {}
|
||||
|
||||
tsdown@0.23.0(typescript@7.0.2):
|
||||
dependencies:
|
||||
cac: 7.0.0
|
||||
defu: 6.1.7
|
||||
empathic: 2.0.1
|
||||
hookable: 6.1.2
|
||||
import-without-cache: 0.4.1
|
||||
obug: 2.2.1
|
||||
picomatch: 4.0.7
|
||||
rolldown: 1.2.9
|
||||
rolldown-plugin-dts: 0.28.6(rolldown@1.2.9)(typescript@7.0.2)
|
||||
tinyexec: 1.3.1
|
||||
tinyglobby: 0.2.17
|
||||
tree-kill: 1.2.2
|
||||
unconfig-core: 7.5.0
|
||||
verkit: 0.4.0
|
||||
optionalDependencies:
|
||||
typescript: 7.0.2
|
||||
transitivePeerDependencies:
|
||||
- '@typescript/native-preview'
|
||||
- '@volar/typescript'
|
||||
- '@vue/language-core'
|
||||
- oxc-resolver
|
||||
- vue-tsc
|
||||
|
||||
typescript@7.0.2:
|
||||
optionalDependencies:
|
||||
'@typescript/typescript-aix-ppc64': 7.0.2
|
||||
@@ -1347,10 +1752,17 @@ snapshots:
|
||||
'@typescript/typescript-win32-arm64': 7.0.2
|
||||
'@typescript/typescript-win32-x64': 7.0.2
|
||||
|
||||
unconfig-core@7.5.0:
|
||||
dependencies:
|
||||
'@quansync/fs': 1.1.0
|
||||
quansync: 1.0.0
|
||||
|
||||
undici-types@8.9.0: {}
|
||||
|
||||
undici@8.10.2: {}
|
||||
|
||||
verkit@0.4.0: {}
|
||||
|
||||
vite@8.3.0(@types/node@26.6.1):
|
||||
dependencies:
|
||||
lightningcss: 1.33.0
|
||||
@@ -1406,3 +1818,42 @@ snapshots:
|
||||
stackback: 0.0.2
|
||||
|
||||
ws@8.21.3: {}
|
||||
|
||||
yuku-ast@0.10.2:
|
||||
dependencies:
|
||||
'@yuku-toolchain/types': 0.10.2
|
||||
|
||||
yuku-codegen@0.10.2:
|
||||
dependencies:
|
||||
'@yuku-toolchain/types': 0.10.2
|
||||
optionalDependencies:
|
||||
'@yuku-codegen/binding-android-arm64': 0.10.2
|
||||
'@yuku-codegen/binding-darwin-arm64': 0.10.2
|
||||
'@yuku-codegen/binding-darwin-x64': 0.10.2
|
||||
'@yuku-codegen/binding-freebsd-x64': 0.10.2
|
||||
'@yuku-codegen/binding-linux-arm-gnu': 0.10.2
|
||||
'@yuku-codegen/binding-linux-arm-musl': 0.10.2
|
||||
'@yuku-codegen/binding-linux-arm64-gnu': 0.10.2
|
||||
'@yuku-codegen/binding-linux-arm64-musl': 0.10.2
|
||||
'@yuku-codegen/binding-linux-x64-gnu': 0.10.2
|
||||
'@yuku-codegen/binding-linux-x64-musl': 0.10.2
|
||||
'@yuku-codegen/binding-win32-arm64': 0.10.2
|
||||
'@yuku-codegen/binding-win32-x64': 0.10.2
|
||||
|
||||
yuku-parser@0.10.2:
|
||||
dependencies:
|
||||
'@yuku-toolchain/types': 0.10.2
|
||||
yuku-ast: 0.10.2
|
||||
optionalDependencies:
|
||||
'@yuku-parser/binding-android-arm64': 0.10.2
|
||||
'@yuku-parser/binding-darwin-arm64': 0.10.2
|
||||
'@yuku-parser/binding-darwin-x64': 0.10.2
|
||||
'@yuku-parser/binding-freebsd-x64': 0.10.2
|
||||
'@yuku-parser/binding-linux-arm-gnu': 0.10.2
|
||||
'@yuku-parser/binding-linux-arm-musl': 0.10.2
|
||||
'@yuku-parser/binding-linux-arm64-gnu': 0.10.2
|
||||
'@yuku-parser/binding-linux-arm64-musl': 0.10.2
|
||||
'@yuku-parser/binding-linux-x64-gnu': 0.10.2
|
||||
'@yuku-parser/binding-linux-x64-musl': 0.10.2
|
||||
'@yuku-parser/binding-win32-arm64': 0.10.2
|
||||
'@yuku-parser/binding-win32-x64': 0.10.2
|
||||
@@ -5,8 +5,8 @@
|
||||
"ref": "effect@4.0.0-rc.115"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/microsoft/language-server-protocol",
|
||||
"name": "lsp",
|
||||
"ref": "gh-pages"
|
||||
"url": "https://github.com/microsoft/language-server-protocol",
|
||||
"name": "lsp",
|
||||
"ref": "gh-pages"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,11 @@
|
||||
import { defineConfig } from "tsdown";
|
||||
|
||||
export default defineConfig({
|
||||
entry: "src/main.ts",
|
||||
format: "esm",
|
||||
outDir: "dist",
|
||||
|
||||
treeshake: true,
|
||||
minify: true,
|
||||
sourcemap: false,
|
||||
});
|
||||
Reference in new issue
Block a user