Skip to content

Fourslash is broken when making requests in unconfigured .js files #2621

@iisaduan

Description

@iisaduan

Error message:

--- FAIL: TestAutoImportCompletionJs (0.07s)
    c:/typescript-go/internal/fourslash/tests/autoImportCompletion_test.go:159: At marker 'd': textDocument/completion request returned error: [-32603]: no project found for URI file:///d.js
FAIL
FAIL	github.com/microsoft/typescript-go/internal/fourslash/tests	1.758s

Repro:

Fails on requests called in .js files (formatting, completions, codefixes, etc)

Example: in internal/fourslash/tests/autoImportCompletions_test.go:

func TestAutoImportCompletionJs(t *testing.T) {
	t.Parallel()
	defer testutil.RecoverAndFail(t, "Panic on fourslash test")
	const content = `// @Filename: a.js
export const someVar = 10;

// @Filename: d.js
import {someVar} from "./a";
someVar;
a/*d*/
`
	f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
	defer done()
		f.VerifyCompletions(t, "d", &fourslash.CompletionsExpectedList{
		UserPreferences: &lsutil.UserPreferences{
			IncludeCompletionsForModuleExports:    core.TSTrue,
			IncludeCompletionsForImportStatements: core.TSTrue,
		},
		IsIncomplete: false,
		ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
			CommitCharacters: &DefaultCommitCharacters,
			EditRange:        Ignored,
		},
		Items: &fourslash.CompletionsExpectedItems{
			Includes: []fourslash.CompletionsExpectedItem{"someVar", "anotherVar"},
		},
	})
}

Info:

I've traced it back to .js files not being found in a project during GetDefaultProject

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions