-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Path completions for Node.js subpath imports #52460
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
Comments
see open issue: microsoft/TypeScript#52460
Same here, except the IDE used. Problem is somehow fixable with |
Looks like this was fixed in #55015 |
Is there a version we can try to ensure it works as expected? In the meantime, we are duplicating it inside the |
|
I believe #55015 adds auto-imports, but not path completions within the string literals. |
I can confirm in And, as @DanielRosenwasser has mentioned, there isn't any completions in import string path |
For now, it seems that adding the following to your tsconfig.json file does the trick:
|
@tonivj5 what |
@DanielRosenwasser here it's "compilerOptions": {
"baseUrl": ".",
"rootDir": ".",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"target": "es2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"moduleDetection": "force",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"verbatimModuleSyntax": true,
"allowJs": true,
"resolveJsonModule": true,
"isolatedModules": true,
"lib": ["es2022", "ESNext.Disposable", "dom", "es2023.array"],
"strict": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"importHelpers": true,
"pretty": true,
"sourceMap": true,
"composite": true,
"declaration": true,
"declarationMap": true,
"incremental": true,
"emitDeclarationOnly": false,
"noEmit": false,
"noEmitOnError": true,
"tsBuildInfoFile": "./dist/tsconfig.app.tsbuildinfo"
}, |
Sorry to necro this, but I'm still having the issue with no completions in import string path. I'm running VSCode 1.98.0 and TS 5.7.3.
"imports": {
"#ui/*": {
"types": [
"./src/*.tsx",
"./src/*.ts",
"./src/*"
],
"default": [
"./src/*"
]
}
} But not the path itself |
You could create a repro case and open a new issue about this. It's hard to investigate this given the incomplete provided information. |
Please link to the issue from here so that we can follow along |
Suggestion
Node.js for a while has a way to define import aliases (known as subpath imports) in
package.json
file. The subpath imports also work fine when I compile my code usingtsc
and inside my code editor (VSCode).However, as I type the import path in my code editor, no suggestions related to subpath imports are shown.
Given, I have the following subpath import alias inside
package.json
.I should be able to type
#controllers
and get suggestions. Infact, using an export symbol from one of the controller files should write the auto-import using the alias.tsconfig.json
Following is a trimmed down version of my
tsconfig.json
file.🔍 Search Terms
✅ Viability Checklist
⭐ Suggestion
Since, TypeScript can understand and compile subpath imports, it will be great, if they are also suggested during import autocomplete
📃 Motivating Example
Have nice experience of auto-importing files with aliases.
💻 Use Cases
Right now, I have to either manually type the complete import statement by hand. Or type the export symbol name and update the import path to use the subpath alias.
Attaching a small screen recording of the same
subpath-imports.mov
The text was updated successfully, but these errors were encountered: