chore: обновить инфраструктуру Mantine и шаблоны

- добавлен алиас infra и обновлены импорты Mantine
- настроены тема, цветовая схема и CSS-переменные Mantine
- добавлен переключатель цветовой схемы на главный экран
- обновлены шаблоны бизнес- и infra-модулей под фабрики
- добавлена команда генерации Petstore API и исключён generated-код из Biome
- обновлены JSDoc-комментарии React-компонентов
This commit is contained in:
2026-05-07 22:13:26 +03:00
parent f2358da397
commit 7c0f597840
31 changed files with 402 additions and 51 deletions

View File

@@ -1 +1,5 @@
export { {{name.pascalCase}}Business } from './{{name.kebabCase}}.business'
export { {{name.camelCase}}Factory } from './{{name.kebabCase}}.factory';
export type { {{name.pascalCase}} } from './types/{{name.kebabCase}}.type';
export type { {{name.pascalCase}}Api } from './types/{{name.kebabCase}}-api.type';
export type { {{name.pascalCase}}Deps } from './types/{{name.kebabCase}}-deps.type';
export type { {{name.pascalCase}}Factory } from './types/{{name.kebabCase}}-factory.type';

View File

@@ -0,0 +1,4 @@
/**
* Публичный API бизнес-модуля {{name.pascalCase}}.
*/
export type {{name.pascalCase}}Api = Record<string, never>;

View File

@@ -0,0 +1,4 @@
/**
* Зависимости бизнес-модуля {{name.pascalCase}}.
*/
export type {{name.pascalCase}}Deps = Record<string, never>;

View File

@@ -0,0 +1,7 @@
import type { {{name.pascalCase}}Api } from './{{name.kebabCase}}-api.type';
import type { {{name.pascalCase}}Deps } from './{{name.kebabCase}}-deps.type';
/**
* Фабрика публичного API бизнес-модуля {{name.pascalCase}}.
*/
export type {{name.pascalCase}}Factory = (deps: {{name.pascalCase}}Deps) => {{name.pascalCase}}Api;

View File

@@ -1,11 +1,4 @@
import type { HTMLAttributes } from 'react'
/**
* Параметры бизнес-модуля {{name.pascalCase}}.
* Доменная сущность {{name.pascalCase}}.
*/
export type {{name.pascalCase}}BusinessParams = {}
/** HTML-атрибуты корневого элемента. */
type RootAttrs = HTMLAttributes<HTMLDivElement>
export type {{name.pascalCase}}BusinessProps = RootAttrs & {{name.pascalCase}}BusinessParams
export type {{name.pascalCase}} = Record<string, never>;

View File

@@ -1,20 +0,0 @@
import cl from 'clsx'
import type { {{name.pascalCase}}BusinessProps } from './types/{{name.kebabCase}}.type'
import styles from './styles/{{name.kebabCase}}.module.css'
/**
* <Назначение бизнес-модуля {{name.pascalCase}} в 1 строке>.
*
* Используется для:
* - <сценарий 1>
* - <сценарий 2>
*/
export const {{name.pascalCase}}Business = (props: {{name.pascalCase}}BusinessProps) => {
const { children, className, ...htmlAttr } = props
return (
<div {...htmlAttr} className={cl(styles.root, className)}>
{children}
</div>
)
}

View File

@@ -0,0 +1,8 @@
import type { {{name.pascalCase}}Factory } from './types/{{name.kebabCase}}-factory.type';
/**
* Создаёт публичный API бизнес-модуля {{name.pascalCase}}.
*/
export const {{name.camelCase}}Factory: {{name.pascalCase}}Factory = () => {
return {};
};