prettier-plugin-import-sections weekly downloads statistics
By pozib-hub · npm · Prettier plugins
Prettier plugin for automatic import sorting by sections (Api, Components, Constants, Helpers, Hooks, Types, Styles)
prettier-plugin-import-sections has 1 recorded weekly downloads on npm, a decrease of 88.9% over the past 30 days.
It ranks #2199 of 2,251 tracked npm listings by weekly downloads.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About prettier-plugin-import-sections
prettier-plugin-import-sections
Prettier-плагин для автоматической сортировки импортов по секциям.
Плагин переиспользуемый — не содержит проект-специфичных хардкодов. Все настройки проекта задаются через .prettierrc или внешний конфиг-файл.
Быстрый старт
1. Установка
2. Подключение в .prettierrc
2. Использование
Секции импортов
Импорты сортируются в следующем порядке:
Пример
Конфигурация (importSectionsConfig)
Все проект-специфичные настройки задаются через importSectionsConfig в .prettierrc:
| Ключ | Тип | Описание |
| sectionOrder | string[] | Порядок секций (переупорядочивает дефолт) | | sectionAliases | object | Переименование секций ({"Api": "Backend"}) | | extraSections | object | Дополнительные секции с path-based правилами | | defaultSection | string | Дефолтная секция если ничего не совпало | | componentHocs | string[] | HOC-обёртки компонентов (typedMemo, styled, observer...) | | constantPrefixes | string[] | Префиксы констант (INITIAL_, DEFAULT_, TIME_...) | | constantSuffixes | string[] | Суффиксы констант (_ROLES, _COLUMNS, _CONSTANTS...) | | componentSuffixes | string[] | Суффиксы компонентов (Page, Modal, Table, Form...) | | helperFilenames | string[] | Имена файлов-утилит (utils, helpers, config...) | | knownTypeNames | string[] | Дополнительные имена типов (merges с автодетектом) | | projectAliases | object | Алиасы проекта (перезаписывает автодетект из tsconfig) | | apiPaths | string[] | Пути для секции Api | | helperPaths | string[] | Пути для секции Helpers | | componentPaths | string[] | Пути для секции Components | | constantsPaths | string[] | Пути для секции Constants | | uiLibraries | string[] | npm UI-библиотеки | | helperLibraries | string[] | npm утилиты |
Автодетект
Плагин автоматически определяет:
• PROJECT_ALIASES — из tsconfig.json compilerOptions.paths + сканирование src/ • API_PATHS, HELPER_PATHS, COMPONENT_PATHS, CONSTANTS_PATHS — по структуре src/ директорий • UI_LIBRARIES, HELPER_LIBRARIES — из package.json dependencies (react-* → UI, остальные → helpers) • KNOWN_TYPE_NAMES — из @types/react, react-query, react-hook-form
Если значение задано в importSectionsConfig, оно merges с автодетектом (для knownTypeNames) или перезаписывает его (для остальных).
Конфигурируемые секции
Переименование секций
Результат:
Порядок секций
Дополнительные секции
Можно добавить свои секции с path-based правилами:
Импорты из указанных путей попадут в новую секцию.
Дефолтная секция
Импорты, которые не совпали ни с одним правилом, попадут в указанную секцию.
Внешний конфиг-файл
Можно вынести конфиг в отдельный файл:
Определение секции
Скрипт определяет секцию импорта по правилам (приоритет сверху вниз):
1. Явные указатели
| Паттерн | Секция |
| import type { ... } | Types | | import 'foo.css' / import 'foo.scss' | Styles | | import cn from 'classnames/bind' | Styles | | const cx = cn.bind(styles) | Styles |
2. Пути файлов
| Путь | Секция |
| api/points/*, api/instances | Api | | shared/contexts/* (Provider/Context) | Components | | shared/contexts/* (use*) | Hooks | | shared/helpers/* | Helpers | | shared/constants/* | Constants | | uikit/*, features/*, pages/* | Components | | */libs/* (внутри uikit/features/pages) | Helpers | | Путь заканчивается на /types | Types |
3. Имена импортов
| Паттерн | Секция |
| Имя начинается с use* (кроме api/points) | Hooks | | Все имена в KNOWN_TYPE_NAMES | Types | | IXxx / TXxx (кроме компонентов/констант) | Types | | ALL_CAPS, суффиксы/префиксы из конфига | Constants |
4. npm-пакеты
| Пакет | Секция |
| react (use*) | Hooks | | react (компоненты) | Components | | react-router-dom (use*) | Hooks | | react-hook-form | Hooks | | react-query (use*) | Hooks | | UI-библиотеки из конфига | Components | | Helper-библиотеки из конфига | Helpers |
5. Content-based проверка
Если ни одно правило не подошло, скрипт читает файл-источник:
• Компоненты: export function Name(): JSX.Element, export const Name = (...) => , export const Name = forwardRef(...), export const Name = memo(...), export const Name = (...), export const Name: FC, export default Name • Типы: export interface Name, export type Name (без экспорта как значение)
Исправление import type
Если import type { Name } импортирует компонент или значение (enum/const):
1. Убирает type из импорта 2. Классифицирует по обычным правилам
Структура модулей
Зависимости модулей
Исключения
• .d.ts файлы — пропускаются • .test. / .spec. файлы — пропускаются • declare module блоки — импорты внутри не трогаются • Только .ts и .tsx — другие расширения не обрабатываются • Markdown — содержит markdown-синтаксис → пропускается
Добавление в новый проект
1. Установите пакет: 2. Добавьте в .prettierrc: 3. Плагин автоматически определит алиасы из tsconfig.json и структуру src/
Description from the npm listing.
- prettier
- prettier-plugin
- import-sorting
- import-sections
- import-order
- code-formatting
- react
- typescript
- eslint-plugin-import
Where prettier-plugin-import-sections sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (121)Similar npm Prettier plugins plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/prettier-plugin-import-sections. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.