Локальные утилиты (references/utilities.md)
Источник:
ds-skills/core-ui-development-skills/src/skills/build-core-ui-components/references/utilities.md— справочник скилла build-core-ui-components
src/my-widget/utils/
├── index.ts
└── calculate-this-date/
├── calculate-this-date.ts
├── calculate-this-date.test.ts
└── index.ts
- Размещать каждую нетривиальную утилиту в отдельной директории.
- Называть директорию и основной файл в kebab-case (
calculate-this-date), функцию — lowerCamelCase (calculateThisDate). - Создавать
index.tsвнутри директории утилиты и агрегирующийutils/index.ts. - Импортировать утилиты через ближайший barrel-файл; не экспортировать их из публичного
src/my-widget/index.ts. - Создавать отдельный unit-тест для каждой утилиты рядом с реализацией.
- Проверять основной сценарий, границы, разрешённые пустые или ошибочные данные и неизменность входа для чистых преобразований.
- Делать утилиту чистой, если побочный эффект не является частью её назначения.
- Не переносить утилиту в общее место автоматически. Если она нужна сестринским компонентам, применить классификацию из
change-boundaries.md.
// utils/calculate-this-date/index.ts
export { calculateThisDate } from "./calculate-this-date";
// utils/index.ts
export { calculateThisDate } from "./calculate-this-date";