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

[Vue TS Plugin] False expression: Script kind should match provided is thrown when different script kinds are given for the same file name. #57631

Closed
1 task done
johnsoncodehk opened this issue Mar 4, 2024 · 0 comments · Fixed by #57641
Assignees
Labels
Bug A bug in TypeScript

Comments

@johnsoncodehk
Copy link

Acknowledgement

  • I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment

Vue TS Plugin determines the script kind of the script based on the lang attr of the script tag. For <script lang="js"> the script kind is JS, and for <script lang="ts"> the script kind is TS. When the user changes the script tag lang attr from js to ts, the return value of Vue TS Plugin in getScriptKind will also change, which causes tsserver to throw: Debug Failure. False expression: Script kind should match provided ScriptKind: 3 and sourceFile.scriptKind: 1, !entry: false

Steps to reproduce

  1. Clone johnsoncodehk/volar-starter
  2. Open the repo in VSCode, install marketplace.visualstudio.com/items?itemName=Vue.volar 2.0.4 and open src/components/HelloWorld.vue
  3. Modify <script lang="ts" to <script lang="js"
  4. Execute TypeScript: Open TS Server log command, then following error should be show:
        Debug Failure. False expression: Script kind should match provided ScriptKind:3 and sourceFile.scriptKind: 1, !entry: false
    
    Error: Debug Failure. False expression: Script kind should match provided ScriptKind:3 and sourceFile.scriptKind: 1, !entry: false
        at getDocumentRegistryEntry (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:135877:11)
        at acquireOrUpdateDocument (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:135907:32)
        at Object.updateDocumentWithKey (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:135862:12)
        at getOrCreateSourceFileByPath (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:144965:37)
        at Object.getOrCreateSourceFile (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:144951:14)
        at /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:144875:42
        at Object.getSourceFileWithCache [as getSourceFile] (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:120530:24)
        at findSourceFileWorker (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122956:23)
        at findSourceFile (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122876:20)
        at processImportedModules (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:123299:11)
        at findSourceFileWorker (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:123011:7)
        at findSourceFile (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122876:20)
        at processImportedModules (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:123299:11)
        at findSourceFileWorker (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:123011:7)
        at findSourceFile (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122876:20)
        at /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122825:22
        at getSourceFileFromReferenceWorker (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122794:26)
        at processSourceFile (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122823:5)
        at processRootFile (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:122620:5)
        at /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:121354:41
        at forEach (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:2349:22)
        at createProgram (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:121354:5)
        at synchronizeHostData (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:144906:15)
        at Object.getProgram (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:144980:5)
        at proxy.<computed> [as getProgram] (/Users/johnsonchu/.vscode/extensions/mxsdev.typescript-explorer-0.4.2/node_modules/@ts-type-explorer/typescript-plugin/dist/index.js:15:15)
        at ConfiguredProject2.updateGraphWorker (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:177382:41)
        at ConfiguredProject2.updateGraph (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:177233:32)
        at ConfiguredProject2.updateGraph (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:178485:24)
        at updateProjectIfDirty (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:178944:35)
        at ConfiguredProject2.getLanguageService (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:176844:7)
        at IpcIOSession.getEncodedSemanticClassifications (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:183735:20)
        at encodedSemanticClassifications-full (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:183038:43)
        at /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:185377:69
        at IpcIOSession.executeWithRequestId (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:185369:14)
        at IpcIOSession.executeCommand (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:185377:29)
        at IpcIOSession.onMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:185419:51)
        at process.<anonymous> (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js:187001:14)
        at process.emit (node:events:514:28)
        at emit (node:internal/child_process:937:14)
        at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
    
@RyanCavanaugh RyanCavanaugh added the Needs Investigation This issue needs a team member to investigate its status. label Mar 4, 2024
sheetalkamat added a commit that referenced this issue Mar 4, 2024
…is same

This is needed esp with externalFiles since they may not use actual scriptInfo and text at all
Fixes #57631
sheetalkamat added a commit that referenced this issue Mar 4, 2024
…is same

This is needed esp with externalFiles since they may not use actual scriptInfo and text at all
Fixes #57631
sheetalkamat added a commit that referenced this issue Mar 4, 2024
…is same

This is needed esp with externalFiles since they may not use actual scriptInfo and text at all
Fixes #57631
@sheetalkamat sheetalkamat added Bug A bug in TypeScript and removed Needs Investigation This issue needs a team member to investigate its status. labels Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug A bug in TypeScript
Projects
None yet
3 participants