Как подсветить импорты из кастомного ES модуля в Intellij IDEA?
Для будущего сопровождения кода, необходимо сделать так, чтобы среда(в моём случае intellij idea 2021.1.3) подсвечивала импорты из кастомных модулей внутреннего рабочего репозитория. В проекте используется модуль пропущенный через Babel представляющий из себя набор экспортируемых функций, который загружается из репозитория в node_modules, путь к файлу выглядит вот так:
project_name/node_modules/@modules/my-custom-module/dist/module.js
Пример импорта в проекте:
import { First, Second, Third } from '@modules/my-custom-module'
Это собирается и работает нормально, но идея не видит сами функции и автокомплит не работает... Сначала я подумал, что что-то не так со сборщиком, т.к. в сыром виде код импортируется нормально и функции подсвечиваются, возможно в этом и есть проблема. Долгие поиски привели меня к alias'ам, они могут настраиваться в webpack, babel, package.json и можно создать корневой файл jsconfig.json. Вариант с вебпаком не подошёл, т.к. на видимость средой это никак не повлияло, по сути обычная кастомизация путей, для удобного восприятия. Сейчас пробую jsconfig.json:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"modules/*": ["./node_modules/@modules/my-custom-module/dist/*"]
}
}
}
Идея никак не реагирует, либо я неправильно указываю путь, либо занимаюсь фигней, мб кто-то уже сталкивался с подобной задачей?
Ответы (1 шт):
Разобрался только после того, как я создал свой модуль и залил его на гитхаб, оказывается, что модули собираются вместе с исходниками, которые мои коллеги не добавили в репозиторий! Таким образом, IDE прекрасно подтягивает импорты, а после сборки транспилированный код находится в папке dist. Какая глупая ситуация!
pacakge.json
{
"name": "@modules/my-custom-module",
"main": "dist/module.js",
"esnext": "src"
"files": [
"README.md",
"dist",
"src"
],
}