Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JsDoc import - Doesnt work #999

Closed
3 tasks done
gcaseres opened this issue Nov 28, 2018 · 3 comments
Closed
3 tasks done

JsDoc import - Doesnt work #999

gcaseres opened this issue Nov 28, 2018 · 3 comments

Comments

@gcaseres
Copy link

gcaseres commented Nov 28, 2018

  • I have searched through existing issues
  • I have read through docs
  • I have read FAQ

Info

  • Platform: Linux
  • Vetur version: 0.14.2
  • VS Code version: 1.29.1

Problem

In a Javascript project, I want to import JsDoc types defined in another file.
I'm using the following syntax:

@typedef {import('route_to_imported_file').TypeDefName} TypeDefName

It looks like Vetur isnt able to resolve the imported module. Intellisense doesnt work.

But it works if I do it from a common .js file.

Reproducible Case

https://github.com/gcaseres/veturpack-json_import_issue

Intellisense works well in app.js (common js file)
But the same jsdoc import doesn't work in components/Counter.vue (vue file)

@marco-quintella
Copy link

Same here, just after the script:

/**
 * @typedef {import('../../types.js').Livro} Livro
 */

Vetur server output:

c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:4238
            throw e;
            ^

Error: Debug Failure. Found typedef tag attached to node which it should not be!
    at nameForNamelessJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12345:26)
    at getNameOfJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12353:36)
    at Object.getNameOfDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12389:24)
    at Object.hasDynamicName (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:10388:23)
    at declareSymbol (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21097:33)
    at declareModuleMember (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21231:28)
    at bindBlockScopedDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22381:25)
    at bindWorker (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22807:32)
    at bind (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22558:13)
    at bindJSDocTypedefTagIfAny (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22595:25)
[Info  - 17:50:36] Connection to server got closed. Server will restart.
Vetur initialized
c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:4238
            throw e;
            ^

Error: Debug Failure. Found typedef tag attached to node which it should not be!
    at nameForNamelessJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12345:26)
    at getNameOfJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12353:36)
    at Object.getNameOfDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12389:24)
    at Object.hasDynamicName (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:10388:23)
    at declareSymbol (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21097:33)
    at declareModuleMember (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21231:28)
    at bindBlockScopedDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22381:25)
    at bindWorker (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22807:32)
    at bind (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22558:13)
    at bindJSDocTypedefTagIfAny (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22595:25)
[Info  - 17:50:39] Connection to server got closed. Server will restart.
Vetur initialized
c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:4238
            throw e;
            ^

Error: Debug Failure. Found typedef tag attached to node which it should not be!
    at nameForNamelessJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12345:26)
    at getNameOfJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12353:36)
    at Object.getNameOfDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12389:24)
    at Object.hasDynamicName (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:10388:23)
    at declareSymbol (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21097:33)
    at declareModuleMember (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21231:28)
    at bindBlockScopedDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22381:25)
    at bindWorker (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22807:32)
    at bind (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22558:13)
    at bindJSDocTypedefTagIfAny (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22595:25)
[Info  - 17:50:42] Connection to server got closed. Server will restart.
Vetur initialized
c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:4238
            throw e;
            ^

Error: Debug Failure. Found typedef tag attached to node which it should not be!
    at nameForNamelessJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12345:26)
    at getNameOfJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12353:36)
    at Object.getNameOfDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12389:24)
    at Object.hasDynamicName (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:10388:23)
    at declareSymbol (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21097:33)
    at declareModuleMember (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21231:28)
    at bindBlockScopedDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22381:25)
    at bindWorker (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22807:32)
    at bind (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22558:13)
    at bindJSDocTypedefTagIfAny (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22595:25)
[Info  - 17:50:44] Connection to server got closed. Server will restart.
[Error - 17:50:44] Request textDocument/hover failed.
Error: Connection got disposed.
    at Object.dispose (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\main.js:876:25)
    at Object.dispose (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\client.js:71:35)
    at LanguageClient.handleConnectionClosed (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\client.js:2150:42)
    at LanguageClient.handleConnectionClosed (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\main.js:150:15)
    at closeHandler (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\client.js:2137:18)
    at CallbackList.invoke (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:62:39)
    at Emitter.fire (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:120:36)
    at closeHandler (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\main.js:226:26)
    at CallbackList.invoke (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:62:39)
    at Emitter.fire (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:120:36)
    at IPCMessageReader.fireClose (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\messageReader.js:111:27)
    at ChildProcess.constructor.eventEmitter.on (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\messageReader.js:213:45)
    at ChildProcess.emit (events.js:187:15)
    at maybeClose (internal/child_process.js:961:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
Vetur initialized
c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:4238
            throw e;
            ^

Error: Debug Failure. Found typedef tag attached to node which it should not be!
    at nameForNamelessJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12345:26)
    at getNameOfJSDocTypedef (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12353:36)
    at Object.getNameOfDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:12389:24)
    at Object.hasDynamicName (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:10388:23)
    at declareSymbol (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21097:33)
    at declareModuleMember (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:21231:28)
    at bindBlockScopedDeclaration (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22381:25)
    at bindWorker (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22807:32)
    at bind (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22558:13)
    at bindJSDocTypedefTagIfAny (c:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\server\node_modules\typescript\lib\typescript.js:22595:25)
[Error - 17:50:47] Connection to server got closed. Server will not be restarted.
[Error - 17:50:47] Request textDocument/hover failed.
Error: Connection got disposed.
    at Object.dispose (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\main.js:876:25)
    at Object.dispose (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\client.js:71:35)
    at LanguageClient.handleConnectionClosed (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\client.js:2150:42)
    at LanguageClient.handleConnectionClosed (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\main.js:150:15)
    at closeHandler (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-languageclient\lib\client.js:2137:18)
    at CallbackList.invoke (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:62:39)
    at Emitter.fire (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:120:36)
    at closeHandler (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\main.js:226:26)
    at CallbackList.invoke (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:62:39)
    at Emitter.fire (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\events.js:120:36)
    at IPCMessageReader.fireClose (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\messageReader.js:111:27)
    at ChildProcess.constructor.eventEmitter.on (C:\Users\2omma\.vscode\extensions\octref.vetur-0.16.2\node_modules\vscode-jsonrpc\lib\messageReader.js:213:45)
    at ChildProcess.emit (events.js:187:15)
    at maybeClose (internal/child_process.js:961:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)```

@octref
Copy link
Member

octref commented Mar 21, 2019

This seems to be solved in TS 3.3, which you can get by:

See #682 for details.

image

This issue will be completely gone after #1163.

@octref octref closed this as completed Mar 21, 2019
@octref octref added this to the March 2019 milestone Mar 21, 2019
@marco-quintella
Copy link

Confirming, after update it's working!

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

No branches or pull requests

3 participants