language-tools icon indicating copy to clipboard operation
language-tools copied to clipboard

🐛 BUG: Astro VSCode extension crashing Typescript language server

Open funabab opened this issue 10 months ago • 15 comments

Describe the Bug

Unable to work with any TS project because VSCode TS server keeps crashing with the following message.

The JS/TS language service crashed 5 times in the last 5 Minutes. This may be caused by a plugin contributed by one of these extensions: astro-build.astro-vscode, nrwl.angular-console, styled-components.vscode-styled-components, Vue.volar Please try disabling these extensions before filing an issue against VS Code.

Just as the error stated, I disabled all extensions mentioned and manually enabled each one. Eventually, I discovered disabling only astro extension prevented the crash.

Steps to Reproduce

VSCode Version: 1.87.2 Typescript Version: 5.3.2 Astro VSCode Extension Version: 2.8.5 OS: Ubuntu 22.04.4

funabab avatar Apr 07 '24 11:04 funabab

Can't do much without a reproduction. Do you have a project I can check out?

Princesseuh avatar Apr 07 '24 15:04 Princesseuh

Hello @funabab. Please provide a minimal reproduction using a GitHub repository or at least sharing the file where the issue happen. Issues marked with needs repro will be closed if they have no activity within 3 days.

github-actions[bot] avatar Apr 07 '24 15:04 github-actions[bot]

Same Issue here. Here's the output from my console:

[Error - 8:57:44 PM] Server initialization failed. Message: Request initialize failed with message: Can't find typescript.js or tsserverlibrary.js in "c:/Users/.../.vscode/extensions/ms-vscode.vscode-typescript-next-5.5.20240408/node_modules/typescript/lib" Code: -32603 [Error - 8:57:44 PM] Astro Language Server client: couldn't create connection to server. Message: Request initialize failed with message: Can't find typescript.js or tsserverlibrary.js in "c:/Users/.../.vscode/extensions/ms-vscode.vscode-typescript-next-5.5.20240408/node_modules/typescript/lib" Code: -32603 [Error - 8:57:46 PM] Server process exited with code 1. [Info - 8:57:46 PM] Connection to server got closed. Server will restart. true [Error - 8:57:46 PM] Server initialization failed.

dennibl avatar Apr 09 '24 19:04 dennibl

Same Issue here. Here's the output from my console:

[Error - 8:57:44 PM] Server initialization failed. Message: Request initialize failed with message: Can't find typescript.js or tsserverlibrary.js in "c:/Users/.../.vscode/extensions/ms-vscode.vscode-typescript-next-5.5.20240408/node_modules/typescript/lib" Code: -32603 [Error - 8:57:44 PM] Astro Language Server client: couldn't create connection to server. Message: Request initialize failed with message: Can't find typescript.js or tsserverlibrary.js in "c:/Users/.../.vscode/extensions/ms-vscode.vscode-typescript-next-5.5.20240408/node_modules/typescript/lib" Code: -32603 [Error - 8:57:46 PM] Server process exited with code 1. [Info - 8:57:46 PM] Connection to server got closed. Server will restart. true [Error - 8:57:46 PM] Server initialization failed.

That's not the same error. Yours seems to be related to our extension not being able to find TypeScript when using TypeScript's nightly.

Princesseuh avatar Apr 09 '24 19:04 Princesseuh

I had the same problem. Try updating your VS Code to the latest version; this is how I solve this error.

The JS/TS language service crashed 5 times in the last 5 Minutes.

RealKendpr avatar Apr 24 '24 12:04 RealKendpr

yep im also having the same issue

amxv avatar Apr 24 '24 20:04 amxv

Same issue here. Logs:

The JS/TS language service immediately crashed 5 times. The service will not be restarted. This may be caused by a plugin contributed by one of these extensions: astro-build.astro-vscode, svelte.svelte-vscode. Please try disabling these 
extensions before filing an issue against VS Code.

xtealer avatar May 05 '24 23:05 xtealer

Same issue here. Logs:

The JS/TS language service immediately crashed 5 times. The service will not be restarted. This may be caused by a plugin contributed by one of these extensions: astro-build.astro-vscode, svelte.svelte-vscode. Please try disabling these 
extensions before filing an issue against VS Code.

I Started seeing this issue after adding .svelte files with Typescript to my project. When I disable the astro extension the crash is gone. Followed the standard setup for Svelte on Astro.

xtealer avatar May 06 '24 14:05 xtealer

I still cannot do anything without a reproduction or more detailed logs. Everything seems to work fine for me, even when using Svelte and other extensions.

Princesseuh avatar May 07 '24 09:05 Princesseuh

I face the same problem when I use VS Code refactor tools. After unable the Astro plugin, the refactor tools work properly.

<semantic> TypeScript Server Error (5.4.5)
Debug Failure. False expression: No interactive refactor arguments available
Error: Debug Failure. False expression: No interactive refactor arguments available
    at Object.getRefactorEditsToMoveToFile [as getEditsForAction] (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:140862:11)
    at Object.getEditsForRefactor (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:139733:31)
    at getEditsForRefactor2 (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:147297:32)
    at e.getEditsForRefactor (c:\Users\wenwe\.vscode\extensions\astro-build.astro-vscode-2.10.2-win32-x64\node_modules\astro-ts-plugin-bundle\index.js:6:1668)
    at IpcIOSession.getEditsForRefactor (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187183:49)
    at getEditsForRefactor (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:185408:43)
    at d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187569:69
    at IpcIOSession.executeWithRequestId (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187561:14)
    at IpcIOSession.executeCommand (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187569:29)
    at IpcIOSession.onMessage (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187611:51)
    at process.<anonymous> (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:189220:14)
    at process.emit (node:events:517:28)
    at emit (node:internal/child_process:944:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

wenwei-lin avatar May 22 '24 02:05 wenwei-lin

I face the same problem when I use VS Code refactor tools. After unable the Astro plugin, the refactor tools work properly.

<semantic> TypeScript Server Error (5.4.5)
Debug Failure. False expression: No interactive refactor arguments available
Error: Debug Failure. False expression: No interactive refactor arguments available
    at Object.getRefactorEditsToMoveToFile [as getEditsForAction] (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:140862:11)
    at Object.getEditsForRefactor (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:139733:31)
    at getEditsForRefactor2 (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:147297:32)
    at e.getEditsForRefactor (c:\Users\wenwe\.vscode\extensions\astro-build.astro-vscode-2.10.2-win32-x64\node_modules\astro-ts-plugin-bundle\index.js:6:1668)
    at IpcIOSession.getEditsForRefactor (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187183:49)
    at getEditsForRefactor (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:185408:43)
    at d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187569:69
    at IpcIOSession.executeWithRequestId (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187561:14)
    at IpcIOSession.executeCommand (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187569:29)
    at IpcIOSession.onMessage (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:187611:51)
    at process.<anonymous> (d:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:189220:14)
    at process.emit (node:events:517:28)
    at emit (node:internal/child_process:944:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

This is unrelated to this issue. The issue you're encountering is this one: https://github.com/withastro/language-tools/issues/812

Princesseuh avatar May 22 '24 08:05 Princesseuh

Same issue here. Logs:

The JS/TS language service immediately crashed 5 times. The service will not be restarted. This may be caused by a plugin contributed by one of these extensions: astro-build.astro-vscode, svelte.svelte-vscode. Please try disabling these 
extensions before filing an issue against VS Code.

The latest version of Svelte extension fixes the compatibility issue with Volar-based TS plugin, please make sure you have updated it.

Refs: https://github.com/sveltejs/language-tools/pull/2317

johnsoncodehk avatar May 23 '24 10:05 johnsoncodehk

Same issue here astro Client Crashing in Neovim and VSCode on two Systems this are the lsp.log i get.

[START][2024-05-28 16:42:17] LSP logging initiated [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "panic: " [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "runtime error: index out of range [0] with length 0\n" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "\n" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "goroutine " [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "6 [running]:\n" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "github.com/withastro/compiler/internal/printer.renderTsx(" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "0x1779950" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" ", 0x159da40)\n\tgithub.com/withastro/compiler/internal/printer/print-to-tsx.go:248 +0x1b6\n" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "github.com/withastro/compiler/internal/printer.renderTsx(0x1779950, 0x1582280)\n\tgithub.com/withastro/compiler/internal/printer/print-to-tsx.go" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" ":523 +0x52f\ngithub.com/withastro/compiler/internal/printer.renderTsx(0x1779950, 0x1512a00)\n\tgithub.com/withastro/compiler/internal/printer/print-to-tsx.go:523 +0x52f\ngithub.com/withastro/compiler/internal/printer.renderTsx(0x1779950, " [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "0x1512780)\n\tgithub.com/withastro/compiler/internal/printer/print-to-tsx.go:523 +0x52f\ngithub.com/withastro/compiler/internal/printer.renderTsx(0x1779950, 0x1512280)\n\tgithub.com/withastro/compiler/internal/printer/print-to-tsx.go:147 +0xba\ngithub.com/withastro/compiler/internal/printer.PrintToTSX({0x154e000, 0x3bf9}, 0x1512280, {{0x3c3c4, 0x6}, {0x145c0a0, " [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "0x44}, {0x145c0a0, 0x44}, {0x46f38, ...}, ...}, ...)\n\tgithub.com/withastro/compiler/internal/printer/print-to-tsx.go:30 +" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "0x12\nmain.main.ConvertToTSX.func3({{}, 0x7ff8000100000015, 0x140c790}, {0x1434000, 0x2, 0x2})\n\t./astro-wasm.go:263 +0xe\nsyscall/js.handleEvent" [ERROR][2024-05-28 16:42:17] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" "()\n\tsyscall/js/func.go:100 +0x23\n" [WARN][2024-05-28 16:42:18] ...lsp/handlers.lua:625 "exit code: 2" [ERROR][2024-05-28 16:42:18] ...lsp/handlers.lua:623 "There was an error transforming /home/bastian/Development/cars-bytes/src/pages/aussteller/[id].astro to TSX. An empty file will be returned instead. Please create an issue: https://github.com/withastro/language-tools/issues\nError: TypeError: Cannot read properties of undefined (reading 'map')." [ERROR][2024-05-28 16:42:18] .../vim/lsp/rpc.lua:770 "rpc" "/home/bastian/.local/share/nvim/mason/bin/astro-ls" "stderr" '/home/bastian/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@astrojs/compiler/dist/node/sync.cjs:1\n"use strict";var P=Object.create;var y=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var O=(i,n)=>{for(var s in n)y(i,s,{get:n[s],enumerable:!0})},T=(i,n,s,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of A(n))!C.call(i,c)&&c!==s&&y(i,c,{get:()=>n[c],enumerable:!(r=I(n,c))||r.enumerable});return i};var x=(i,n,s)=>(s=i!=null?P(E(i)):{},T(n||!i||!i.__esModule?y(s,"default",{value:i,enumerable:!0}):s,i)),D=i=>T(y({},"__esModule",{value:!0}),i);var M={};O(M,{convertToTSX:()=>W,parse:()=>L,startRunningService:()=>R,transform:()=>N});module.exports=D(M);var k=()=>typeof document>"u"?new URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,w=k();var S=require("fs"),j=require("url");var v=x(require("crypto"),1),b=x(require("fs"),1),_=require("util");globalThis.fs||Object.defineProperty(globalThis,"fs",{value:b.default});globalThis.process||Object.defineProperties(globalThis,"process",{value:process});globalThis.crypto||Object.defineProperty(globalThis,"crypto",{value:v.default.webcrypto?v.default.webcrypto:{getRandomValues(i){return v.default.randomFillSync(i)}}});globalThis.performance||Object.defineProperty(globalThis,"performance",{value:{now(){let[i,n]=process.hrtime();return i1e3+n/1e6}}});var U=new _.TextEncoder("utf-8"),V=new _.TextDecoder("utf-8");var d=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{e!==0&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;let n=(e,t)=>{this.mem.setUint32(e+0,t,!0),this.mem.setUint32(e+4,Math.floor(t/4294967296),!0)},s=e=>{let t=this.mem.getUint32(e+0,!0),o=this.mem.getInt32(e+4,!0);return t+o4294967296},r=e=>{let t=this.mem.getFloat64(e,!0);if(t===0)return;if(!isNaN(t))return t;let o=this.mem.getUint32(e,!0);return this._values[o]},c=(e,t)=>{if(typeof t=="number"&&t!==0){if(isNaN(t)){this.mem.setUint32(e+4,2146959360,!0),this.mem.setUint32(e,0,!0);return}this.mem.setFloat64(e,t,!0);return}if(t===void 0){this.mem.setFloat64(e,0,!0);return}let a=this._ids.get(t);a===void 0&&(a=this._idPool.pop(),a===void 0&&(a=this._values.length),this._values[a]=t,this._goRefCounts[a]=0,this._ids.set(t,a)),this._goRefCounts[a]++;let m=0;switch(typeof t){case"object":t!==null&&(m=1);break;case"string":m=2;break;case"symbol":m=3;break;case"function":m=4;break}this.mem.setUint32(e+4,2146959360|m,!0),this.mem.setUint32(e,a,!0)},l=e=>{let t=s(e+0),o=s(e+8);return new Uint8Array(this._inst.exports.mem.buffer,t,o)},g=e=>{let t=s(e+0),o=s(e+8),a=new Array(o);for(let m=0;m<o;m++)a[m]=r(t+m*8);return a},h=e=>{let t=s(e+0),o=s(e+8);return V.decode(new DataView(this._inst.exports.mem.buffer,t,o))},u=Date.now()-performance.now();this.importObject={gojs:{"runtime.wasmExit":e=>{e>>>=0;let t=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(t)},"runtime.wasmWrite":e=>{e>>>=0;let t=s(e+8),o=s(e+16),a=this.mem.getInt32(e+24,!0);b.default.writeSync(t,new Uint8Array(this._inst.exports.mem.buffer,o,a))},"runtime.resetMemoryDataView":e=>{e>>>=0,this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":e=>{e>>>=0,n(e+8,(u+performance.now())1e6)},"runtime.walltime":e=>{e>>>=0;let t=new Date().getTime();n(e+8,t/1e3),this.mem.setInt32(e+16,t%1e31e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;let t=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(t,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(t);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},s(e+8)+1)),this.mem.setInt32(e+16,t,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;let t=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(t)),this._scheduledTimeouts.delete(t)},"runtime.getRandomData":e=>{e>>>=0,globalThis.crypto.getRandomValues(l(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;let t=this.mem.getUint32(e+8,!0);if(this._goRefCounts[t]--,this._goRefCounts[t]===0){let o=this._values[t];this._values[t]=null,this._ids.delete(o),this._idPool.push(t)}},"syscall/js.stringVal":e=>{e>>>=0,c(e+24,h(e+8))},"syscall/js.valueGet":e=>{e>>>=0;let t=Reflect.get(r(e+8),h(e+16));e=this._inst.exports.getsp()>>>0,c(e+32,t)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(r(e+8),h(e+16),r(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(r(e+8),h(e+16))},"syscall/js.valueIndex":e=>{e>>>=0,c(e+24,Reflect.get(r(e+8),s(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(r(e+8),s(e+16),r(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{let t=r(e+8),o=Reflect.get(t,h(e+16)),a=g(e+32),m=Reflect.apply(o,t,a);e=this._inst.exports.getsp()>>>0,c(e+56,m),this.mem.setUint8(e+64,1)}catch(t){e=this._inst.exports.getsp()>>>0,c(e+56,t),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{let t=r(e+8),o=g(e+16),a=Reflect.apply(t,void 0,o);e=this._inst.exports.getsp()>>>0,c(e+40,a),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,c(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{let t=r(e+8),o=g(e+16),a=Reflect.construct(t,o);e=this._inst.exports.getsp()>>>0,c(e+40,a),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,c(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":e=>{e>>>=0,n(e+16,parseInt(r(e+8).length))},"syscall/js.valuePrepareString":e=>{e>>>=0;let t=U.encode(String(r(e+8)));c(e+16,t),n(e+24,t.length)},"syscall/js.valueLoadString":e=>{e>>>=0;let t=r(e+8);l(e+16).set(t)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,r(e+8)instanceof r(e+16)?1:0)},"syscall/js.copyBytesToGo":e=>{e>>>=0;let t=l(e+8),o=r(e+32);if(!(o instanceof Uint8Array||o instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}let a=o.subarray(0,t.length);t.set(a),n(e+40,a.length),this.mem.setUint8(e+48,1)},"syscall/js.copyBytesToJS":e=>{e>>>=0;let t=r(e+8),o=l(e+16);if(!(t instanceof Uint8Array||t instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}let a=o.subarray(0,t.length);t.set(a),n(e+40,a.length),this.mem.setUint8(e+48,1)},debug:e=>{console.log(e)}}}}async run(n){if(!(n instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=n,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,globalThis,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[globalThis,5],[this,6]]),this._idPool=[],this.exited=!1;let s=4096,r=u=>{let e=s,t=U.encode(u+"\0");return new Uint8Array(this.mem.buffer,s,t.length).set(t),s+=t.length,s%8!==0&&(s+=8-s%8),e},c=this.argv.length,l=[];this.argv.forEach(u=>{l.push(r(u))}),l.push(0),Object.keys(this.env).sort().forEach(u=>{l.push(r(${u}=${this.env[u]}))}),l.push(0);let h=s;l.forEach(u=>{this.mem.setUint32(s,u,!0),this.mem.setUint32(s+4,0,!0),s+=8}),this._inst.exports.run(c,h),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(n){let s=this;return function(){let r={id:n,this:this,args:arguments};return s._pendingEvent=r,s._resume(),r.result}}};function p(){return f||(f=R()),f}var f,N=(i,n)=>p().transform(i,n),L=(i,n)=>p().parse(i,n),W=(i,n)=>p().convertToTSX(i,n);function R(){let i=new d,n=F((0,j.fileURLToPath)(new URL("../astro.wasm",w)),i.importObject);i.run(n);let s=globalThis["@astrojs/compiler"];return{transform:(r,c)=>{try{return s.transform(r,c||{})}catch(l){throw f=void 0,l}},parse:(r,c)=>{try{let l=s.parse(r,c||{});return{...l,ast:JSON.parse(l.ast)}}catch(l){throw f=void 0,l}},convertToTSX:(r,c)=>{try{let l=s.convertToTSX(r,c||{});return{...l,map:JSON.parse(l.map)}}catch(l){throw f=void 0,l}}}}function F(i,n){let s=(0,S.readFileSync)(i);return new WebAssembly.Instance(new WebAssembly.Module(s),n)}0&&(module.exports={convertToTSX,parse,startRunningService,transform});\n \n\nError: Go program has already exited\n at d._resume (/home/bastian/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@astrojs/compiler/dist/node/sync.cjs:1:7231)\n at Timeout._onTimeout (/home/bastian/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@astrojs/compiler/dist/node/sync.cjs:1:3722)\n at listOnTimeout (node:internal/timers:573:17)\n at process.processTimers (node:internal/timers:514:7)\n\nNode.js v21.2.0\n'

bastianhenneberg avatar May 28 '24 14:05 bastianhenneberg

I am having the same problem, and have isolated it down to the Astro extension. I have been able to reproduce the error in a freshly created scaffold, where the only things I have added to the empty astro template is react and tailwind.

Here is the GitHub repository

These are the only steps I have done to create this repository:

npm create astro@latest

npx astro add react

npx astro add tailwind

I then created a directory src/components/react and create a single file ReactComponent.tsx.

When I open VSCode I get the error, as well as whenever I restart the JS/TS language server.

The error disappears when I disable the Astro extension.


VSCode version information:

Version: 1.90.1 Commit: 611f9bfce64f25108829dd295f54a6894e87339d Date: 2024-06-11T21:44:54.914Z (4 days ago) Electron: 29.4.0 ElectronBuildId: 9593362 Chromium: 122.0.6261.156 Node.js: 20.9.0 V8: 12.2.281.27-electron.0 OS: Darwin arm64 23.1.0


Astro extension information:

Version: v2.10.2

@Princesseuh

ryan-saffer avatar Jun 16 '24 02:06 ryan-saffer

🎉 Issue Identified

After some digging around further, I was able to resolve this problem by telling VS Code to use the workspace version of Typescript instead of VS Code's version.

On my machine, the VS Code version is 5.1.6. When I initialised an empty Astro project using npm create astro@latest, it initialised a project with a dependency in my package.json of "typescript": "^5.4.5".

ryan-saffer avatar Jun 17 '24 02:06 ryan-saffer