Монорепозиторий с поддержкой Vite, TS, ESM и абсолютных импортов без расширений с использованием «subpath imports»
alexicum 12 минут назад Монорепозиторий с поддержкой Vite, TS, ESM и абсолютных импортов без расширений с использованием «subpath imports» Средний 12 мин 332 TypeScript * JavaScript * ReactJS * Node.JS * Системы сборки...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. alexicum 12 минут назад Монорепозиторий с поддержкой Vite, TS, ESM и абсолютных импортов без расширений с использованием «subpath imports» Средний 12 мин 332 TypeScript * JavaScript * ReactJS * Node. JS * Системы сборки * Туториал Из песочницы ЦелиНастройка абсолютных импортов без расширений для внутренних модулей пакета с использованием Node. js subpath imports, как единого источника псевдонимов: без дублирования в tsconfig path aliases;с поддержкой VSCode IntelliSense - автоимпорт, автодополнение и всплывающие подсказки импортов.
Настройка conditional exports - маппинг на исходный код внутренней библиотеки в dev-режиме, для работы Vite(HMR) и VSCode(IntelliSense) с живым кодом без пересборки. Настройка приоритета для автоимпорта публичного API модуля (index. ts) через subpath imports.
Технические детали
ПримерАбсолютные импорты без расширений (package. json + подсказка импорта). СодержаниеЦелиКраткий итогВступлениеТерминологияИспользуемые технологииСостав монорепозиторияОсобенности инструментов и реализацииОбщие настройки ViteTypeScriptVSCode IntelliSenseНастройка conditional subpath exports внутренних пакетов/библиотек Настройки JIT пакетовНастройки компилируемых пакетовНастройка абсолютных импортов с использованием conditional subpath imports Особенности работы TSServer при использовании шаблонов (subpath patterns)Приоритет автоимпорта публичного API модуля (index.
ts) через subpath importsПроверка tsc перед сборкойПримечанияЗаключениеСсылки ДокументацияСтатьиКраткий итогКонфликт между настройками subpath imports для Vite и TypeScript решается добавлением customConditions с fallbacks array для TS. Vite читает default настройки. Автоимпорт (TSServer.
Исправлено в tsgo) добавляет type в импорт значений, решается: отключением опции VSCode js/ts. preferTypeOnlyAutoImportsи заменой verbatimModuleSyntax на правила ESLint в dev-режиме. Автоимпорт публичного API модуля (index.
Отраслевые последствия
ts) работает только в extensionless конфигурации. ВступлениеВ статье рассмотрены методы решения конфликтов возникающих между инструментами при настройке абсолютных импортов без расширений в режиме ESM. Изначально весомых аргументов в пользу использования импортов без расширений не было.
Планировал проверить техническую возможность вместе с абсолютными импортами. В процессе обнаружил, как получить практическую ценность extensionless конфигурации: настроить приоритет автоимпорта на использование публичного API модуля (index. Сравнение абсолютных и относительных импортов есть в статьях Максима Земскова и Виталия Потапова.
Не упомянутые настройки: pnpm monorepo, наследуемые конфигурации ESLint и TypeScript, Prettier - можно посмотреть в исходном коде. ТерминологияСпецификатор модуля - это строка с путем к файлу или имя пакета в import/re-export после ключевого слова from или аргумент для функции динамического импорта: import(). Спецификатор импорта - спецификатор модуля в инструкции import.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






