Автоматический импорт VSCode не распознает псевдоним eslint / пути разрешения веб-пакетов / пути tsconfig - PullRequest
1 голос
/ 21 февраля 2020

У меня есть модуль узла, для которого я хочу создать псевдоним.

У меня есть следующие конфигурации:

// tsconfig.json
{
    "compilerOptions": {
        ...
        "allowJs": true,
        "module": "commonjs",
        "target": "es6",
        "jsx": "react",
        "esModuleInterop": true,
        "experimentalDecorators": true,
        "baseUrl": "./",
        "moduleResolution": "node",
        "paths": {
            "@my-lib/*": [
                "node_modules/my-lib/src/Components/*"
            ]
        }
    },
    "exclude": ["node_modules"]
}


// webpack.config.js
resolve: {
        extensions: ['.js', '.jsx', '.tsx', '.ts'],
        alias: {
            '@my-lib': path.resolve(
                './node_modules/my-lib/src/Components'
            ),
        }
    },

// eslintrc.json
"settings": {
        "import/parsers": {
            "@typescript-eslint/parser": [".ts", ".tsx"]
        },
        "import/resolver": {
            "typescript": {},
            "alias": {
                "map": [
                    [
                        "@my-lib",
                        "./node_modules/my-lib/src/Components"
                    ]
                ],
                "extensions": [".js", ".jsx", ".ts", ".tsx"]
            }
        }

Но при импорте модуля из my-lib vscode auto import разрешает его так: my-lib/src/Components/...

Другая конфигурация, которая у меня есть: "typescript.preferences.importModuleSpecifier": "relative", (хотя я пробовал авто и не относительно)

Я попробовал почти все комбинации baseUrl и paths.
Цените любую помощь!

...