marko-js / language-server

Marko autocomplete, intellisense and editor support.
MIT License
38 stars 8 forks source link

Crash on startup #178

Closed vwong closed 1 year ago

vwong commented 1 year ago

@marko/language-server@1.0.7

Details

I'm trying to use the language server in neovim.

Expected Behavior

On the CLI: marko-language-server --stdio does not crash

Actual Behavior

It crashes within a few seconds of starting up with:

% marko-language-server --stdio
/Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/node_modules/@marko/language-tools/dist/index.js:2937
var import_strip_json_comments = __toESM(require("strip-json-comments"));
                                         ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/node_modules/strip-json-comments/index.js from /Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/node_modules/@marko/language-tools/dist/index.js not supported.
Instead change the require of /Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/node_modules/strip-json-comments/index.js in /Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/node_modules/@marko/language-tools/dist/index.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/node_modules/@marko/language-tools/dist/index.js:2937:42)
    at Object.<anonymous> (/Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/dist/index.js:28:31)
    at Object.<anonymous> (/Users/voon.wong/.asdf/installs/nodejs/18.13.0/lib/node_modules/@marko/language-server/bin.js:2:1) {
  code: 'ERR_REQUIRE_ESM'
}

Node.js v18.13.0

Possible Fix

Introduction of strip-json-comments in https://github.com/marko-js/language-server/commit/3b0262eaa029617e8b8f964a2d4b5b06793dc9b7#diff-1238398146196c4e652a4d775b225e4740198f2e59a0d4e1db9be9df69a05af0R20 seems to have broken it.

Downgrading to 1.0.6 works, but any version from 1.0.7 onwards, including up to the current version of 1.0.17 causes this crash.

Your Environment

Node.js 18.13.0, Mac OS 13.4