open-index/open-npm huggingface dataset:
npm package: @slonum/api
Description: Slonum api
Author: IbexID
Latest version: 0.0.2

# Краткое руководство по публикации npm-пакета

За основу можно взять данный репозиторий.

Здесь для сборки используется rollup, можно заменить на любой другой сборщик.

Сперва необходимо установить пакеты для разработки:
```
npm install
```

Далее, добавить в директорию src необходимые для библиотеки компоненты, в данном случае это хуки.

В файле package.json необходимо изменить следующие поля:
- name - в виде `@slonum/[название пакета]`
- version - "0.0.0",
- description - описание пакета(опц.)
- repository.url - ссылка на репозиторий(опц.)

Убедиться, что нет ошибок и приступить к сборке, выполнив команду
```
npm run build
```
После этого должна появиться папка lib с содержимым библиотеки, она и будет публиковаться.

Перед публикацией необходимо авторизоваться:
```
npm login
```
Затем добавить изменения
```
git add .
git commit -m 'commit message'
```
Добавить версию
```
npm version patch
```
Опубликовать
Если первая публикация
```
npm publish --access=publiс
```
Если последующие
```
npm publish
```
npm package: @slonum/hooks
Description: Slonum hooks
Author: IbexID
Latest version: 1.2.7

# Краткое руководство по публикации npm-пакета

За основу можно взять данный репозиторий.

Здесь для сборки используется rollup, можно заменить на любой другой сборщик.

Сперва необходимо установить пакеты для разработки:
```
npm install
```

Далее, добавить в директорию src необходимые для библиотеки компоненты, в данном случае это хуки.

В файле package.json необходимо изменить следующие поля:
- name - в виде `@slonum/[название пакета]`
- version - "0.0.0",
- description - описание пакета(опц.)
- repository.url - ссылка на репозиторий(опц.)

Убедиться, что нет ошибок и приступить к сборке, выполнив команду
```
npm run build
```
После этого должна появиться папка lib с содержимым библиотеки, она и будет публиковаться.

Перед публикацией необходимо авторизоваться:
```
npm login
```
Затем добавить изменения
```
git add .
git commit -m 'commit message'
```
Добавить версию
```
npm version patch
```
Опубликовать
Если первая публикация
```
npm publish --access=publiс
```
Если последующие
```
npm publish
```
npm package: @slonum/kit
Description: Slonum frontend kit
Author: IbexID
Latest version: 0.0.18

# Это общая библиотека используемых хуков, типов, вызовов api и утилит.

Всего внутри размещены 4 библиотеки: api, hooks, types, utils

Некоторые функции были изменены, из-за отсутствия связи с common/ui - `fetchAddWordPartVariant`, `requestEmailSubscribe`, теперь в них нужно передавать notify (опционально)

Типы уроков английского и словарных слов также имели одинаковые названия, сейчас переименованы в `IWordsLessonStats` и `IEnglishLessonStats`, соответственно.

Эндпоинта модуля админки также содержали функции с названиями, совпадающими с функциями других модулей, и теперь доступны таким образом:
```
import { admin } from '@slonum/kit';
...
admin.addMetaData(payload);
```

Экспортируемые константы адресов проектов:
- DRAWING_COMPETITION - конкурс рисунков
- DICTIONARY_WORDS - словарные слова
- CABINET - личный кабинет
- ENGLISH_WORDS - английские слова
- OLYMPIAD_MATH - олимпиадная математика
- ADMIN_URL - админ-панель
- ARTICLES (внутренняя навигация)
- BANNERS (внутренняя навигация)
- BLOG_LINK - блог
- FRACTION - математические дроби
- HELP_THE_PROJECT - страница пожертвования
- MAIN - главная страница

Доступны типы и api следующих модулей:
- admin
- blog
- drawing-competition
- english-lang
- olympiad
- order
- vocabulary-words
- также общие типы и api

Доступные utils:
- calculateAge
- checkLastDomen
- delay
- getFormattedDateTime
- getWordEnding
- makeNameValidCase
- saveImage
- splitArray
- trainingContext

Доступные хуки:
- useCloseToggle
- useDebounce
- useDelayUnmount
- useGetRole
- useLink
- useNavigate
- useObserver
- useScrollDirection
- useThrottle
- useWarnIfUnsaved
- useWindowResize