diff --git a/docs/dependency_maintenance.md b/docs/dependency_maintenance.md index bac3c5ae9..2ce43ecc6 100644 --- a/docs/dependency_maintenance.md +++ b/docs/dependency_maintenance.md @@ -41,6 +41,7 @@ These are the dependencies we will keep relatively current. We'd like to upgrade - **npm dependencies** - pinned in: the `package.json` files under [`tooling/lsp-clients`](../tooling/lsp-clients) and [`tooling/language-server-protocol`](../tooling/language-server-protocol) - check with: `pnpm outdated -r` from each workspace root + - after editing any of them: run `./gradlew tooling:lsp-clients:check` to regenerate all `pnpm-lock.yaml` files. Commit the pnpm-lock.yaml files. - **Cargo dependencies** - pinned in: [`lib-rust/kson/Cargo.toml`](../lib-rust/kson/Cargo.toml) and [`lib-rust/kson-sys/Cargo.toml`](../lib-rust/kson-sys/Cargo.toml) - check with: `cargo update --dry-run` in each diff --git a/docs/release_process.md b/docs/release_process.md index d75953c2a..be0fd7e1d 100644 --- a/docs/release_process.md +++ b/docs/release_process.md @@ -369,13 +369,11 @@ The Monaco editor integration is published to npm as `@kson_org/monaco-editor`. 3. Check what would be published: ```bash cd tooling/lsp-clients/monaco - npm pack --dry-run + npm pack --dry-run # should show the dist/ directory + npm pkg get dependencies # should show no dependencies ("{}") + npm pkg get devDependencies # should show links to two other kson projects (among other dev dependencies) ``` - `dist/` must be present, and the manifest must declare no `dependencies`. A `file:` dependency - here is a path that exists only on the machine that published it, so it installs as a dangling - link and breaks `npm ls` for everyone downstream. - 4. Publish to npm: ```bash npm login diff --git a/tooling/language-server-protocol/README.md b/tooling/language-server-protocol/README.md index 033c97b5b..5cb55ce70 100644 --- a/tooling/language-server-protocol/README.md +++ b/tooling/language-server-protocol/README.md @@ -14,25 +14,24 @@ each editor and ensures that features are implemented in one place, improving pe * **Document Formatting:** Automatically formats Kson files. * **Semantic Highlighting:** Provides rich, context-aware syntax highlighting. -## Getting Started +## Local development -### Prerequisites +Use gradlew (from the repository root) to build and test this LSP implementation. Gradle uses pixi-managed Node.js 24 +and pnpm. To run pnpm directly, use `./pixiw run pnpm` in this directory. -* Node.js (v20.0.0 or higher) -* pnpm (provided by the project's pixi environment) +### Build -### Installation +Run `npm_install` any time package.json is updated to regenerate the lock files. ```bash -pnpm install +./gradlew tooling:language-server-protocol:npm_install ``` -### Build +Note: this also builds the `kson` and `kson-tooling` Kotlin/JS libraries that the project depends on. To compile the TypeScript source code, run: - ```bash -pnpm run compile +./gradlew tooling:language-server-protocol:npm_run_compile ``` ### Testing @@ -40,7 +39,7 @@ pnpm run compile To run the test suite: ```bash -pnpm test +./gradlew tooling:language-server-protocol:npm_run_test ``` [1] Visual Studio Code. (2025). *Language Server Extension Guide*. Retrieved diff --git a/tooling/language-server-protocol/build.gradle.kts b/tooling/language-server-protocol/build.gradle.kts index c7ff8a6a1..61286c137 100644 --- a/tooling/language-server-protocol/build.gradle.kts +++ b/tooling/language-server-protocol/build.gradle.kts @@ -3,16 +3,18 @@ plugins { } tasks { - val npmInstall = register("npmInstall") { - // `--frozen-lockfile` gives reproducible installs from pnpm-lock.yaml; - // hoisted keeps a flat node_modules (npm-identical layout) while still - // hardlinking from pnpm's shared global store. - command=listOf("pnpm", "install", "--frozen-lockfile", "--config.node-linker=hoisted") + val npmInstall = register("npm_install") { + // updates pnpm-lock.yaml files whenever package.json changes + command=listOf("pnpm", "install", "--no-frozen-lockfile") dependsOn(":kson-lib:jsNodeProductionLibraryDistribution") dependsOn(":kson-tooling-lib:jsNodeProductionLibraryDistribution") doNotTrackState("pnpm already tracks its own state") } + register("npmInstall") { // deprecated alias to npm_install + dependsOn(npmInstall) + } + register("npm_run_compile") { command=listOf("pnpm", "run", "compile") dependsOn(npmInstall) diff --git a/tooling/language-server-protocol/package.json b/tooling/language-server-protocol/package.json index 7f01c93e3..199361ead 100644 --- a/tooling/language-server-protocol/package.json +++ b/tooling/language-server-protocol/package.json @@ -30,7 +30,7 @@ }, "scripts": { "compile": "tsc", - "test": "mocha 'out/test/**/*.test.js'" + "test": "mocha" }, "keywords": [ "kson", @@ -42,8 +42,8 @@ "node": "24.x" }, "dependencies": { - "kson": "file:../../kson-lib/build/dist/js/productionLibrary", - "kson-tooling": "file:../../kson-tooling-lib/build/dist/js/productionLibrary", + "kson": "link:../../kson-lib/build/dist/js/productionLibrary", + "kson-tooling": "link:../../kson-tooling-lib/build/dist/js/productionLibrary", "vscode-languageserver": "^9.0.1", "vscode-languageserver-textdocument": "^1.0.12", "vscode-uri": "^3.0.8" diff --git a/tooling/language-server-protocol/pnpm-lock.yaml b/tooling/language-server-protocol/pnpm-lock.yaml index 1a38aa023..f88e9a8b9 100644 --- a/tooling/language-server-protocol/pnpm-lock.yaml +++ b/tooling/language-server-protocol/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: dependencies: kson: - specifier: file:../../kson-lib/build/dist/js/productionLibrary - version: kson-kson-lib@file:../../kson-lib/build/dist/js/productionLibrary + specifier: link:../../kson-lib/build/dist/js/productionLibrary + version: link:../../kson-lib/build/dist/js/productionLibrary kson-tooling: - specifier: file:../../kson-tooling-lib/build/dist/js/productionLibrary - version: kson-kson-tooling-lib@file:../../kson-tooling-lib/build/dist/js/productionLibrary + specifier: link:../../kson-tooling-lib/build/dist/js/productionLibrary + version: link:../../kson-tooling-lib/build/dist/js/productionLibrary vscode-languageserver: specifier: ^9.0.1 version: 9.0.1 @@ -363,14 +363,6 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - kson-kson-lib@file:../../kson-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../kson-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-kson-tooling-lib@file:../../kson-tooling-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../kson-tooling-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -799,10 +791,6 @@ snapshots: dependencies: argparse: 2.0.1 - kson-kson-lib@file:../../kson-lib/build/dist/js/productionLibrary: {} - - kson-kson-tooling-lib@file:../../kson-tooling-lib/build/dist/js/productionLibrary: {} - locate-path@6.0.0: dependencies: p-locate: 5.0.0 diff --git a/tooling/language-server-protocol/pnpm-workspace.yaml b/tooling/language-server-protocol/pnpm-workspace.yaml index 5ed0b5af0..c0d702e35 100644 --- a/tooling/language-server-protocol/pnpm-workspace.yaml +++ b/tooling/language-server-protocol/pnpm-workspace.yaml @@ -1,2 +1,5 @@ allowBuilds: esbuild: true + +# Flat node_modules (npm's layout), while still hardlinking from pnpm's shared global store. +nodeLinker: hoisted diff --git a/tooling/lsp-clients/build.gradle.kts b/tooling/lsp-clients/build.gradle.kts index 0e907a285..251418a11 100644 --- a/tooling/lsp-clients/build.gradle.kts +++ b/tooling/lsp-clients/build.gradle.kts @@ -3,15 +3,17 @@ plugins { } tasks { - val npmInstall = register("npmInstall") { - // `--frozen-lockfile` gives reproducible installs from pnpm-lock.yaml; - // hoisted keeps a flat node_modules (npm-identical layout) while still - // hardlinking from pnpm's shared global store. - command=listOf("pnpm", "install", "--frozen-lockfile", "--config.node-linker=hoisted") + val npmInstall = register("npm_install") { + // updates pnpm-lock.yaml files whenever package.json changes + command=listOf("pnpm", "install", "--no-frozen-lockfile") doNotTrackState("pnpm already tracks its own state") dependsOn(":tooling:language-server-protocol:npm_run_test") } + register("npmInstall") { // deprecated alias to npm_install + dependsOn(npmInstall) + } + val playwrightInstall = register("playwrightInstall") { command=listOf("pnpm", "exec", "playwright", "install", "chromium") doNotTrackState("playwright already tracks its own state") @@ -80,8 +82,9 @@ tasks { // `--ignore-workspace` keeps each demo a standalone install so it consumes the // PACKED @kson/monaco-editor (file:), not a workspace symlink to source. + // It also skips pnpm-workspace.yaml, so the hoisted layout is repeated as a flag. val installDemoVanilla = register("npm_install_demoVanilla") { - command=listOf("pnpm", "install", "--frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") + command=listOf("pnpm", "install", "--no-frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") workingDirectory.set(demoVanillaDir) doNotTrackState("pnpm already tracks its own state") dependsOn(buildMonaco) @@ -94,7 +97,7 @@ tasks { } val installDemoIframe = register("npm_install_demoIframe") { - command=listOf("pnpm", "install", "--frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") + command=listOf("pnpm", "install", "--no-frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") workingDirectory.set(demoIframeDir) doNotTrackState("pnpm already tracks its own state") dependsOn(buildMonaco) @@ -108,7 +111,7 @@ tasks { } val installDemoReact = register("npm_install_demoReact") { - command=listOf("pnpm", "install", "--frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") + command=listOf("pnpm", "install", "--no-frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") workingDirectory.set(demoReactDir) doNotTrackState("pnpm already tracks its own state") dependsOn(buildMonaco) @@ -124,7 +127,7 @@ tasks { val demosDir = layout.projectDirectory.dir("demos") val installTestDemos = register("npm_install_testDemos") { - command=listOf("pnpm", "install", "--frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") + command=listOf("pnpm", "install", "--no-frozen-lockfile", "--ignore-workspace", "--config.node-linker=hoisted") workingDirectory.set(demosDir) doNotTrackState("pnpm already tracks its own state") dependsOn(buildMonaco) diff --git a/tooling/lsp-clients/demos/iframe/pnpm-lock.yaml b/tooling/lsp-clients/demos/iframe/pnpm-lock.yaml index a7390a4da..af58f875e 100644 --- a/tooling/lsp-clients/demos/iframe/pnpm-lock.yaml +++ b/tooling/lsp-clients/demos/iframe/pnpm-lock.yaml @@ -27,9 +27,6 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@kson/lsp-shared@file:../../shared': - resolution: {directory: ../../shared, type: directory} - '@kson_org/monaco-editor@file:../../monaco': resolution: {directory: ../../monaco, type: directory} peerDependencies: @@ -152,12 +149,6 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -179,18 +170,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../../../kson-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../../../kson-tooling-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-language-server@file:../../../language-server-protocol: - resolution: {directory: ../../../language-server-protocol, type: directory} - engines: {node: 24.x} - lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} @@ -270,10 +249,6 @@ packages: engines: {node: '>= 18'} hasBin: true - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} - monaco-editor@0.55.1: resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==} @@ -298,11 +273,6 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - semver@7.8.4: - resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} - engines: {node: '>=10'} - hasBin: true - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -357,30 +327,6 @@ packages: yaml: optional: true - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageclient@9.0.1: - resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==} - engines: {vscode: ^1.82.0} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - snapshots: '@emnapi/core@1.10.0': @@ -399,15 +345,8 @@ snapshots: tslib: 2.8.1 optional: true - '@kson/lsp-shared@file:../../shared': - dependencies: - kson-language-server: file:../../../language-server-protocol - vscode-languageclient: 9.0.1 - vscode-languageserver: 9.0.1 - '@kson_org/monaco-editor@file:../../monaco(monaco-editor@0.55.1)': dependencies: - '@kson/lsp-shared': file:../../shared monaco-editor: 0.55.1 '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': @@ -478,12 +417,6 @@ snapshots: '@types/trusted-types@2.0.7': optional: true - balanced-match@1.0.2: {} - - brace-expansion@2.1.1: - dependencies: - balanced-match: 1.0.2 - detect-libc@2.1.2: {} dompurify@3.2.7: @@ -497,18 +430,6 @@ snapshots: fsevents@2.3.3: optional: true - kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary: {} - - kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary: {} - - kson-language-server@file:../../../language-server-protocol: - dependencies: - kson: kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary - kson-tooling: kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - lightningcss-android-arm64@1.32.0: optional: true @@ -560,10 +481,6 @@ snapshots: marked@14.0.0: {} - minimatch@5.1.9: - dependencies: - brace-expansion: 2.1.1 - monaco-editor@0.55.1: dependencies: dompurify: 3.2.7 @@ -602,8 +519,6 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.3 '@rolldown/binding-win32-x64-msvc': 1.0.3 - semver@7.8.4: {} - source-map-js@1.2.1: {} tinyglobby@0.2.17: @@ -623,26 +538,3 @@ snapshots: tinyglobby: 0.2.17 optionalDependencies: fsevents: 2.3.3 - - vscode-jsonrpc@8.2.0: {} - - vscode-languageclient@9.0.1: - dependencies: - minimatch: 5.1.9 - semver: 7.8.4 - vscode-languageserver-protocol: 3.17.5 - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.17.5: {} - - vscode-languageserver@9.0.1: - dependencies: - vscode-languageserver-protocol: 3.17.5 - - vscode-uri@3.1.0: {} diff --git a/tooling/lsp-clients/demos/react/pnpm-lock.yaml b/tooling/lsp-clients/demos/react/pnpm-lock.yaml index af8298f70..5327f1356 100644 --- a/tooling/lsp-clients/demos/react/pnpm-lock.yaml +++ b/tooling/lsp-clients/demos/react/pnpm-lock.yaml @@ -51,9 +51,6 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@kson/lsp-shared@file:../../shared': - resolution: {directory: ../../shared, type: directory} - '@kson_org/monaco-editor@file:../../monaco': resolution: {directory: ../../monaco, type: directory} peerDependencies: @@ -207,12 +204,6 @@ packages: babel-plugin-react-compiler: optional: true - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -237,18 +228,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../../../kson-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../../../kson-tooling-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-language-server@file:../../../language-server-protocol: - resolution: {directory: ../../../language-server-protocol, type: directory} - engines: {node: 24.x} - lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} @@ -327,10 +306,6 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} - monaco-editor@0.52.2: resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} @@ -367,11 +342,6 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - semver@7.8.4: - resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} - engines: {node: '>=10'} - hasBin: true - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -434,30 +404,6 @@ packages: yaml: optional: true - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageclient@9.0.1: - resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==} - engines: {vscode: ^1.82.0} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - snapshots: '@emnapi/core@1.10.0': @@ -476,15 +422,8 @@ snapshots: tslib: 2.8.1 optional: true - '@kson/lsp-shared@file:../../shared': - dependencies: - kson-language-server: file:../../../language-server-protocol - vscode-languageclient: 9.0.1 - vscode-languageserver: 9.0.1 - '@kson_org/monaco-editor@file:../../monaco(monaco-editor@0.52.2)(react@18.3.1)': dependencies: - '@kson/lsp-shared': file:../../shared monaco-editor: 0.52.2 optionalDependencies: react: 18.3.1 @@ -581,12 +520,6 @@ snapshots: '@rolldown/pluginutils': 1.0.1 vite: 8.0.16 - balanced-match@1.0.2: {} - - brace-expansion@2.1.1: - dependencies: - balanced-match: 1.0.2 - csstype@3.2.3: {} detect-libc@2.1.2: {} @@ -600,18 +533,6 @@ snapshots: js-tokens@4.0.0: {} - kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary: {} - - kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary: {} - - kson-language-server@file:../../../language-server-protocol: - dependencies: - kson: kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary - kson-tooling: kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - lightningcss-android-arm64@1.32.0: optional: true @@ -665,10 +586,6 @@ snapshots: dependencies: js-tokens: 4.0.0 - minimatch@5.1.9: - dependencies: - brace-expansion: 2.1.1 - monaco-editor@0.52.2: {} nanoid@3.3.12: {} @@ -718,8 +635,6 @@ snapshots: dependencies: loose-envify: 1.4.0 - semver@7.8.4: {} - source-map-js@1.2.1: {} state-local@1.0.7: {} @@ -743,26 +658,3 @@ snapshots: tinyglobby: 0.2.17 optionalDependencies: fsevents: 2.3.3 - - vscode-jsonrpc@8.2.0: {} - - vscode-languageclient@9.0.1: - dependencies: - minimatch: 5.1.9 - semver: 7.8.4 - vscode-languageserver-protocol: 3.17.5 - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.17.5: {} - - vscode-languageserver@9.0.1: - dependencies: - vscode-languageserver-protocol: 3.17.5 - - vscode-uri@3.1.0: {} diff --git a/tooling/lsp-clients/demos/vanilla/pnpm-lock.yaml b/tooling/lsp-clients/demos/vanilla/pnpm-lock.yaml index 9123b745f..d63939320 100644 --- a/tooling/lsp-clients/demos/vanilla/pnpm-lock.yaml +++ b/tooling/lsp-clients/demos/vanilla/pnpm-lock.yaml @@ -30,9 +30,6 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@kson/lsp-shared@file:../../shared': - resolution: {directory: ../../shared, type: directory} - '@kson_org/monaco-editor@file:../../monaco': resolution: {directory: ../../monaco, type: directory} peerDependencies: @@ -152,12 +149,6 @@ packages: '@tybys/wasm-util@0.10.2': resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -176,18 +167,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../../../kson-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../../../kson-tooling-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-language-server@file:../../../language-server-protocol: - resolution: {directory: ../../../language-server-protocol, type: directory} - engines: {node: 24.x} - lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} @@ -262,10 +241,6 @@ packages: resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} engines: {node: '>= 12.0.0'} - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} - monaco-editor@0.52.2: resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} @@ -290,11 +265,6 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - semver@7.8.4: - resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} - engines: {node: '>=10'} - hasBin: true - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -349,30 +319,6 @@ packages: yaml: optional: true - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageclient@9.0.1: - resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==} - engines: {vscode: ^1.82.0} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - snapshots: '@emnapi/core@1.10.0': @@ -391,15 +337,8 @@ snapshots: tslib: 2.8.1 optional: true - '@kson/lsp-shared@file:../../shared': - dependencies: - kson-language-server: file:../../../language-server-protocol - vscode-languageclient: 9.0.1 - vscode-languageserver: 9.0.1 - '@kson_org/monaco-editor@file:../../monaco(monaco-editor@0.52.2)': dependencies: - '@kson/lsp-shared': file:../../shared monaco-editor: 0.52.2 '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': @@ -467,12 +406,6 @@ snapshots: tslib: 2.8.1 optional: true - balanced-match@1.0.2: {} - - brace-expansion@2.1.1: - dependencies: - balanced-match: 1.0.2 - detect-libc@2.1.2: {} fdir@6.5.0(picomatch@4.0.4): @@ -482,18 +415,6 @@ snapshots: fsevents@2.3.3: optional: true - kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary: {} - - kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary: {} - - kson-language-server@file:../../../language-server-protocol: - dependencies: - kson: kson-kson-lib@file:../../../../kson-lib/build/dist/js/productionLibrary - kson-tooling: kson-kson-tooling-lib@file:../../../../kson-tooling-lib/build/dist/js/productionLibrary - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - lightningcss-android-arm64@1.32.0: optional: true @@ -543,10 +464,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.32.0 lightningcss-win32-x64-msvc: 1.32.0 - minimatch@5.1.9: - dependencies: - brace-expansion: 2.1.1 - monaco-editor@0.52.2: {} nanoid@3.3.12: {} @@ -582,8 +499,6 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.3 '@rolldown/binding-win32-x64-msvc': 1.0.3 - semver@7.8.4: {} - source-map-js@1.2.1: {} tinyglobby@0.2.17: @@ -603,26 +518,3 @@ snapshots: tinyglobby: 0.2.17 optionalDependencies: fsevents: 2.3.3 - - vscode-jsonrpc@8.2.0: {} - - vscode-languageclient@9.0.1: - dependencies: - minimatch: 5.1.9 - semver: 7.8.4 - vscode-languageserver-protocol: 3.17.5 - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.17.5: {} - - vscode-languageserver@9.0.1: - dependencies: - vscode-languageserver-protocol: 3.17.5 - - vscode-uri@3.1.0: {} diff --git a/tooling/lsp-clients/monaco/package.json b/tooling/lsp-clients/monaco/package.json index 7c92caecc..36f089081 100644 --- a/tooling/lsp-clients/monaco/package.json +++ b/tooling/lsp-clients/monaco/package.json @@ -43,8 +43,8 @@ "react": { "optional": true } }, "devDependencies": { - "@kson/lsp-shared": "file:../shared", - "kson-language-server": "file:../../language-server-protocol", + "@kson/lsp-shared": "link:../shared", + "kson-language-server": "link:../../language-server-protocol", "@types/react": "^18.3.0", "happy-dom": "^20.8.4", "monaco-editor": "^0.52.0", diff --git a/tooling/lsp-clients/pnpm-lock.yaml b/tooling/lsp-clients/pnpm-lock.yaml index 3fbbd0f6b..e4a26816a 100644 --- a/tooling/lsp-clients/pnpm-lock.yaml +++ b/tooling/lsp-clients/pnpm-lock.yaml @@ -15,7 +15,7 @@ importers: monaco: devDependencies: '@kson/lsp-shared': - specifier: file:../shared + specifier: link:../shared version: link:../shared '@types/react': specifier: ^18.3.0 @@ -24,8 +24,8 @@ importers: specifier: ^20.8.4 version: 20.9.0 kson-language-server: - specifier: file:../../language-server-protocol - version: file:../language-server-protocol + specifier: link:../../language-server-protocol + version: link:../../language-server-protocol monaco-editor: specifier: ^0.52.0 version: 0.52.2 @@ -40,7 +40,7 @@ importers: version: 8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0) vite-plugin-dts: specifier: ^5.0.0 - version: 5.0.0(esbuild@0.27.7)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)) + version: 5.0.0(esbuild@0.27.7)(supports-color@8.1.1)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)) vitest: specifier: ^4.1.0 version: 4.1.5(@types/node@24.12.3)(happy-dom@20.9.0)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)) @@ -48,8 +48,8 @@ importers: shared: dependencies: kson-language-server: - specifier: file:../../language-server-protocol - version: file:../language-server-protocol + specifier: link:../../language-server-protocol + version: link:../../language-server-protocol vscode-languageclient: specifier: ^9.0.1 version: 9.0.1 @@ -70,11 +70,11 @@ importers: vscode: dependencies: '@kson/lsp-shared': - specifier: file:../shared + specifier: link:../shared version: link:../shared kson-language-server: - specifier: file:../../language-server-protocol - version: file:../language-server-protocol + specifier: link:../../language-server-protocol + version: link:../../language-server-protocol vscode-languageclient: specifier: ^9.0.1 version: 9.0.1 @@ -96,13 +96,13 @@ importers: version: 1.99.0 '@vscode/test-electron': specifier: ^3.1.0 - version: 3.1.0 + version: 3.1.0(supports-color@8.1.1) '@vscode/test-web': specifier: ^0.0.81 - version: 0.0.81 + version: 0.0.81(supports-color@8.1.1) '@vscode/vsce': specifier: ^3.6.0 - version: 3.9.1 + version: 3.9.1(supports-color@8.1.1) esbuild: specifier: ^0.25.5 version: 0.25.12 @@ -1750,18 +1750,6 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - kson-kson-lib@file:../../kson-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../kson-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-kson-tooling-lib@file:../../kson-tooling-lib/build/dist/js/productionLibrary: - resolution: {directory: ../../kson-tooling-lib/build/dist/js/productionLibrary, type: directory} - bundledDependencies: [] - - kson-language-server@file:../language-server-protocol: - resolution: {directory: ../language-server-protocol, type: directory} - engines: {node: 24.x} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -2789,9 +2777,6 @@ packages: vscode-languageserver-protocol@3.17.5: resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - vscode-languageserver-types@3.17.5: resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} @@ -3214,7 +3199,7 @@ snapshots: dependencies: vary: 1.1.2 - '@koa/router@15.7.0(koa@3.2.1)': + '@koa/router@15.7.0(koa@3.2.1)(supports-color@8.1.1)': dependencies: debug: 4.4.3(supports-color@8.1.1) http-errors: 2.0.1 @@ -3463,8 +3448,8 @@ snapshots: '@typespec/ts-http-runtime@0.3.5': dependencies: - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + http-proxy-agent: 7.0.2(supports-color@8.1.1) + https-proxy-agent: 7.0.6(supports-color@8.1.1) tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -3522,28 +3507,28 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vscode/test-electron@3.1.0': + '@vscode/test-electron@3.1.0(supports-color@8.1.1)': dependencies: - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + http-proxy-agent: 7.0.2(supports-color@8.1.1) + https-proxy-agent: 7.0.6(supports-color@8.1.1) jszip: 3.10.1 ora: 8.2.0 semver: 7.7.4 transitivePeerDependencies: - supports-color - '@vscode/test-web@0.0.81': + '@vscode/test-web@0.0.81(supports-color@8.1.1)': dependencies: '@koa/cors': 5.0.0 - '@koa/router': 15.7.0(koa@3.2.1) + '@koa/router': 15.7.0(koa@3.2.1)(supports-color@8.1.1) '@playwright/browser-chromium': 1.62.1 gunzip-maybe: 1.4.2 - http-proxy-agent: 9.1.0 - https-proxy-agent: 9.1.0 + http-proxy-agent: 9.1.0(supports-color@8.1.1) + https-proxy-agent: 9.1.0(supports-color@8.1.1) koa: 3.2.1 koa-morgan: 1.0.1 - koa-mount: 4.2.0 - koa-static: 5.0.0 + koa-mount: 4.2.0(supports-color@8.1.1) + koa-static: 5.0.0(supports-color@8.1.1) minimist: 1.2.8 playwright: 1.62.1 tar-fs: 3.1.2 @@ -3595,7 +3580,7 @@ snapshots: '@vscode/vsce-sign-win32-arm64': 2.0.6 '@vscode/vsce-sign-win32-x64': 2.0.6 - '@vscode/vsce@3.9.1': + '@vscode/vsce@3.9.1(supports-color@8.1.1)': dependencies: '@azure/identity': 4.13.1 '@secretlint/node': 10.2.2 @@ -3618,7 +3603,7 @@ snapshots: minimatch: 3.1.5 parse-semver: 1.1.1 read: 1.0.7 - secretlint: 10.2.2 + secretlint: 10.2.2(supports-color@8.1.1) semver: 7.7.4 tmp: 0.2.5 typed-rest-client: 1.8.11 @@ -4321,14 +4306,14 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2(supports-color@8.1.1): dependencies: agent-base: 7.1.4 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - http-proxy-agent@9.1.0: + http-proxy-agent@9.1.0(supports-color@8.1.1): dependencies: agent-base: 9.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -4337,14 +4322,14 @@ snapshots: - kerberos - supports-color - https-proxy-agent@7.0.6: + https-proxy-agent@7.0.6(supports-color@8.1.1): dependencies: agent-base: 7.1.4 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - https-proxy-agent@9.1.0: + https-proxy-agent@9.1.0(supports-color@8.1.1): dependencies: agent-base: 9.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -4496,14 +4481,14 @@ snapshots: transitivePeerDependencies: - supports-color - koa-mount@4.2.0: + koa-mount@4.2.0(supports-color@8.1.1): dependencies: debug: 4.4.3(supports-color@8.1.1) koa-compose: 4.1.0 transitivePeerDependencies: - supports-color - koa-send@5.0.1: + koa-send@5.0.1(supports-color@8.1.1): dependencies: debug: 4.4.3(supports-color@8.1.1) http-errors: 1.8.1 @@ -4511,10 +4496,10 @@ snapshots: transitivePeerDependencies: - supports-color - koa-static@5.0.0: + koa-static@5.0.0(supports-color@8.1.1): dependencies: debug: 3.2.7 - koa-send: 5.0.1 + koa-send: 5.0.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -4541,18 +4526,6 @@ snapshots: kolorist@1.8.0: {} - kson-kson-lib@file:../../kson-lib/build/dist/js/productionLibrary: {} - - kson-kson-tooling-lib@file:../../kson-tooling-lib/build/dist/js/productionLibrary: {} - - kson-language-server@file:../language-server-protocol: - dependencies: - kson: kson-kson-lib@file:../../kson-lib/build/dist/js/productionLibrary - kson-tooling: kson-kson-tooling-lib@file:../../kson-tooling-lib/build/dist/js/productionLibrary - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - leven@3.1.0: {} lie@3.3.0: @@ -5131,7 +5104,7 @@ snapshots: dependencies: loose-envify: 1.4.0 - secretlint@10.2.2: + secretlint@10.2.2(supports-color@8.1.1): dependencies: '@secretlint/config-creator': 10.2.2 '@secretlint/formatter': 10.2.2 @@ -5457,7 +5430,7 @@ snapshots: universalify@2.0.1: {} - unplugin-dts@1.0.0(esbuild@0.27.7)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)): + unplugin-dts@1.0.0(esbuild@0.27.7)(supports-color@8.1.1)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)): dependencies: '@rollup/pluginutils': 5.3.0 '@volar/typescript': 2.4.28 @@ -5496,9 +5469,9 @@ snapshots: version-range@4.15.0: {} - vite-plugin-dts@5.0.0(esbuild@0.27.7)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)): + vite-plugin-dts@5.0.0(esbuild@0.27.7)(supports-color@8.1.1)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)): dependencies: - unplugin-dts: 1.0.0(esbuild@0.27.7)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)) + unplugin-dts: 1.0.0(esbuild@0.27.7)(supports-color@8.1.1)(typescript@5.9.3)(vite@8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0)) optionalDependencies: vite: 8.0.11(@types/node@24.12.3)(esbuild@0.27.7)(tsx@4.21.0) transitivePeerDependencies: @@ -5564,8 +5537,6 @@ snapshots: vscode-jsonrpc: 8.2.0 vscode-languageserver-types: 3.17.5 - vscode-languageserver-textdocument@1.0.12: {} - vscode-languageserver-types@3.17.5: {} vscode-languageserver@9.0.1: diff --git a/tooling/lsp-clients/readme.md b/tooling/lsp-clients/readme.md index 945cfac14..e369ed3ed 100644 --- a/tooling/lsp-clients/readme.md +++ b/tooling/lsp-clients/readme.md @@ -38,3 +38,6 @@ and `./browser` directory for the client and server. The Monaco client only uses the [textmate grammar](./shared/extension/config/kson.tmLanguage.json) , [language configuration](./shared/extension/config/language-configuration.json), and the code to [start a server](./shared/src/connection/browserConnection.ts) for the browser runtime. + +Dependencies are managed with pnpm supplied by this project's pixi environment (`./pixiw run pnpm`). After editing any +`package.json` here, regenerate (and commit) `pnpm-lock.yaml` files by running `./gradlew tooling:lsp-clients:check`. diff --git a/tooling/lsp-clients/shared/package.json b/tooling/lsp-clients/shared/package.json index 8fc18cba4..8ea00541e 100644 --- a/tooling/lsp-clients/shared/package.json +++ b/tooling/lsp-clients/shared/package.json @@ -31,7 +31,7 @@ "shared" ], "dependencies": { - "kson-language-server": "file:../../language-server-protocol", + "kson-language-server": "link:../../language-server-protocol", "vscode-languageclient": "^9.0.1", "vscode-languageserver": "^9.0.1" }, diff --git a/tooling/lsp-clients/vscode/package.json b/tooling/lsp-clients/vscode/package.json index 43b74a140..6d7a30130 100644 --- a/tooling/lsp-clients/vscode/package.json +++ b/tooling/lsp-clients/vscode/package.json @@ -134,8 +134,8 @@ "test": "pnpm run testDesktop && pnpm run testBrowser" }, "dependencies": { - "@kson/lsp-shared": "file:../shared", - "kson-language-server": "file:../../language-server-protocol", + "@kson/lsp-shared": "link:../shared", + "kson-language-server": "link:../../language-server-protocol", "vscode-languageclient": "^9.0.1", "vscode-languageserver": "^9.0.1" },