Closed jonsmithers closed 2 years ago
Hi,
Thanks for your report
Do you have the possibility to test a local install rather than a global one? To check if the global install is responsible for the issue or not
It does reproduce locally:
β test-dir # npm add @cucumber/language-server
...
β test-dir # node_modules/.bin/cucumber-language-server --version
Error: Cannot find module 'tree-sitter'
Require stack:
- /path/to/test-dir/node_modules/@cucumber/language-service/dist/cjs/src/tree-sitter-node/NodeParserAdapter.js
- /path/to/test-dir/node_modules/@cucumber/language-server/dist/cjs/src/node/startNodeServer.js
- /path/to/test-dir/node_modules/@cucumber/language-server/bin/cucumber-language-server.cjs
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:939:15)
at Function.Module._load (node:internal/modules/cjs/loader:780:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/path/to/test-dir/node_modules/@cucumber/language-service/src/tree-sitter-node/NodeParserAdapter.ts:2:1)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:827:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
Even just require('@cucumber/language-server')
will fail with the same error.
β test-dir # echo "require('@cucumber/language-server')" | node
node:internal/modules/cjs/loader:942
throw err;
^
Error: Cannot find module 'tree-sitter'
Require stack:
- /path/to/test-dir/node_modules/@cucumber/language-service/dist/cjs/src/tree-sitter-node/NodeParserAdapter.js
- /path/to/test-dir/node_modules/@cucumber/language-server/dist/cjs/src/node/startNodeServer.js
- /path/to/test-dir/[stdin]
at Module._resolveFilename (node:internal/modules/cjs/loader:939:15)
at Module._load (node:internal/modules/cjs/loader:780:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/path/to/test-dir/node_modules/@cucumber/language-service/dist/cjs/src/tree-sitter-node/NodeParserAdapter.js:31:34)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Module._load (node:internal/modules/cjs/loader:827:12)
at Module.require (node:internal/modules/cjs/loader:1005:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/path/to/test-dir/node_modules/@cucumber/language-service/dist/cjs/src/tree-sitter-node/NodeParserAdapter.js',
'/path/to/test-dir/node_modules/@cucumber/language-server/dist/cjs/src/node/startNodeServer.js',
'/path/to/test-dir/[stdin]'
]
}
What operating system are you on @jonsmithers?
I know what the problem is. The language-service lib doesnβt declare tree-sitter
as a dependency.
I think the easiest way to change this is to use the wasm bindings instead. Iβll create a fix for this.
π What did you see?
β What did you expect to see?
The executable installed by this module should not crash.
π¦ Which tool/library version are you using?
0.12.10
π¬ How could we reproduce it?
π Any additional context?
I'm trying to use this lsp with neovim via nvim-lspconfig.