Skip to content

Use standalone @likec4/lsp package for language server#86

Merged
davydkov merged 3 commits into
mainfrom
use-likec4-lsp-package
Apr 10, 2026
Merged

Use standalone @likec4/lsp package for language server#86
davydkov merged 3 commits into
mainfrom
use-likec4-lsp-package

Conversation

@davydkov

@davydkov davydkov commented Apr 7, 2026

Copy link
Copy Markdown
Member

Summary

Switch from npx likec4 lsp (full CLI package) to npx @likec4/lsp --yes — the new standalone, zero-dependency LSP binary introduced in likec4/likec4#2843. The installer now checks for npx availability and offers to pre-install @likec4/lsp globally as a cache optimization.

Changes

  • LikeC4LspServerDescriptor: Launch command changed to npx @likec4/lsp --yes --stdio, removed NODE_ENV=development and legacy CLI flags (--no-color, --log-level=error)
  • LikeC4LanguageServerInstaller: Now checks for npx instead of likec4, updated install command and notification text

Test plan

  • Open a .c4 file and verify LSP starts and provides completions/diagnostics
  • Verify notification appears correctly when Node.js is not installed
  • Verify "Install with npm" action runs npm install -g @likec4/lsp

🤖 Generated with Claude Code

Switch from `npx likec4 lsp` (full CLI) to `npx @likec4/lsp --yes` (standalone,
zero-dependency LSP binary). The installer now checks for `npx` availability
and offers to pre-install @likec4/lsp globally.

See: likec4/likec4#2843

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

Qodana Community for JVM

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked

View the detailed Qodana report

To be able to view the detailed Qodana report, you can either:

To get *.log files or any other Qodana artifacts, run the action with upload-result option set to true,
so that the action will upload the files as the job artifacts:

      - name: 'Qodana Scan'
        uses: JetBrains/qodana-action@v2025.3.2
        with:
          upload-result: true
Contact Qodana team

Contact us at qodana-support@jetbrains.com

@davydkov davydkov marked this pull request as ready for review April 10, 2026 10:21
@davydkov davydkov merged commit 490351e into main Apr 10, 2026
4 of 5 checks passed
@davydkov davydkov deleted the use-likec4-lsp-package branch April 10, 2026 10:21
@coderabbitai

coderabbitai Bot commented Apr 10, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4c58a061-898a-462d-98e9-4242988f2fe6

📥 Commits

Reviewing files that changed from the base of the PR and between 7b8343a and e2cdda7.

📒 Files selected for processing (6)
  • .github/workflows/build.yml
  • CHANGELOG.md
  • gradle.properties
  • gradle/libs.versions.toml
  • src/main/kotlin/likec4/plugin/lsp/LikeC4LanguageServerInstaller.kt
  • src/main/kotlin/likec4/plugin/lsp/LikeC4LspServerDescriptor.kt

📝 Walkthrough

Walkthrough

The PR transitions the LikeC4 LSP server from a CLI-based approach to an npm package (@likec4/lsp), updates plugin and dependency versions, disables the GitHub Actions test job, and modifies the installer and descriptor to detect Node.js and invoke the server via npx.

Changes

Cohort / File(s) Summary
CI/Workflow Changes
.github/workflows/build.yml
Disabled the entire test job (including Java/Gradle setup, test execution, and artifact uploads) and removed test from the releaseDraft job dependencies.
Version Updates
gradle.properties, gradle/libs.versions.toml, CHANGELOG.md
Bumped plugin version from 1.0.0 to 1.1.0, Gradle tooling from 9.3.1 to 9.4.0, IntelliJ Platform from 2.11.0 to 2.14.0, and updated changelog entry to reflect the new @likec4/lsp package integration.
LSP Server Integration
src/main/kotlin/likec4/plugin/lsp/LikeC4LanguageServerInstaller.kt, src/main/kotlin/likec4/plugin/lsp/LikeC4LspServerDescriptor.kt
Migrated from invoking likec4 CLI to using npm package @likec4/lsp. Updated installer to detect Node.js and install via npm install -g @likec4/lsp``, and descriptor to invoke server via npx @likec4/lsp` --yes --stdio` with updated notifications.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch use-likec4-lsp-package

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant