helix icon indicating copy to clipboard operation
helix copied to clipboard

Deno LSP gives no-cache-npm for npm: imports

Open kj opened this issue 1 year ago • 0 comments

Summary

The Deno LSP is giving me an error for npm: imports, which doesn't happen in VS Code. If you modify the buffer at all, e.g. add a blank line, the LSP error goes away and everything is fine.

I have the following configuration in the project's .helix/languages.toml file:

[language-server.deno-lsp]
command = 'deno'
args = ['lsp']
config = { enable = true, unstable = true }

[[language]]
name = 'javascript'
shebangs = ['deno', 'node']
roots = ['deno.json', 'package.json']
language-id = 'javascript'
language-servers = ['deno-lsp']

[[language]]
name = 'jsx'
shebangs = ['deno', 'node']
roots = ['deno.json', 'package.json']
language-id = 'javascriptreact'
language-servers = ['deno-lsp']

[[language]]
name = 'typescript'
shebangs = ['deno', 'node']
roots = ['deno.json', 'package.json', 'tsconfig.json']
language-id = 'typescript'
language-servers = ['deno-lsp']

[[language]]
name = 'tsx'
shebangs = ['deno', 'node']
roots = ['deno.json', 'package.json', 'tsconfig.json']
language-id = 'typescriptreact'
language-servers = ['deno-lsp']

I have the following imports:

import { isInSubnet } from 'npm:[email protected]';
import { parse } from 'npm:[email protected]';
import { z } from 'npm:[email protected]';

If I import from esm.sh instead, there is no problem:

import { isInSubnet } from 'https://esm.sh/[email protected]';
import { parse } from 'https://esm.sh/[email protected]';
import { z } from 'https://esm.sh/[email protected]';

Reproduction Steps

No response

Helix log

2023-05-22T03:53:44.174 helix_lsp::transport [ERROR] deno-lsp err <- "Starting Deno language server...\n"
2023-05-22T03:53:44.174 helix_lsp::transport [ERROR] deno-lsp err <- "  version: 1.33.4 (release, x86_64-unknown-linux-gnu)\n"
2023-05-22T03:53:44.174 helix_lsp::transport [ERROR] deno-lsp err <- "  executable: /home/kelsey/.local/bin/deno\n"
2023-05-22T03:53:44.174 helix_lsp::transport [ERROR] deno-lsp err <- "Connected to \"helix\" 23.05 (d3cca0f3)\n"
2023-05-22T03:53:44.347 helix_lsp::transport [ERROR] deno-lsp err <- "Error converting specifier settings: invalid type: null, expected struct SpecifierSettings\n"
2023-05-22T03:53:44.357 helix_lsp::transport [ERROR] deno-lsp err <- "Server ready.\n"
2023-05-22T03:53:44.357 helix_lsp::transport [ERROR] deno-lsp err <- "Error converting specifier settings: invalid type: null, expected struct SpecifierSettings\n"
2023-05-22T03:53:44.357 helix_lsp::transport [ERROR] deno-lsp err <- "Error converting specifier settings (file:///home/kelsey/projects/js/nebula-generate-hosts/nebula-generate-hosts): Error converting specifier settings: invalid type: null, expected struct SpecifierSettings\n"
2023-05-22T03:53:44.358 helix_lsp::transport [ERROR] deno-lsp err <- "failed to update settings: invalid type: null, expected struct WorkspaceSettings\n"

Platform

Linux

Terminal Emulator

alacritty

Helix Version

23.05-47-gd3cca0f3

kj avatar May 21 '23 15:05 kj