@taskless-app/shared 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +17 -20
- package/README.md +58 -0
- package/package.json +2 -2
package/LICENSE
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Copyright © 2026 Ilya Smurov
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- use this package, or the ideas or techniques embodied in it, to build or
|
|
12
|
-
operate a competing product or service;
|
|
13
|
-
- remove or alter any proprietary or copyright notices.
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
For any other use, or to obtain a commercial license, contact:
|
|
24
|
-
Ilya Smurov <ilya@smurov.com>
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# @taskless-app/shared
|
|
2
|
+
|
|
3
|
+
Общие типы, схемы валидации и токены оформления [Taskless](https://taskless.ru) —
|
|
4
|
+
то, о чём договариваются между собой сервер и клиенты.
|
|
5
|
+
|
|
6
|
+
Пакет опубликован, чтобы клиенты, живущие вне основного репозитория (мобильное
|
|
7
|
+
приложение, интеграции, self-hosted обвязка), описывали данные так же, как их
|
|
8
|
+
описывает сервер, — и не расходились с ним со временем.
|
|
9
|
+
|
|
10
|
+
## Установка
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm i @taskless-app/shared
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Что внутри
|
|
17
|
+
|
|
18
|
+
**Схемы запросов и ответов** на [Zod](https://zod.dev) — валидация и типы из
|
|
19
|
+
одного источника:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { LoginInput } from "@taskless-app/shared";
|
|
23
|
+
|
|
24
|
+
const parsed = LoginInput.safeParse(body);
|
|
25
|
+
if (!parsed.success) return badRequest(parsed.error);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Токены оформления** — цвета, отступы, радиусы, типографика. Веб генерирует из
|
|
29
|
+
них свои CSS-переменные, мобильное приложение берёт те же значения напрямую,
|
|
30
|
+
поэтому интерфейсы совпадают не на глаз, а буквально:
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import { designTokens } from "@taskless-app/shared";
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Утилиты без зависимостей от окружения** — работа с иконками статусов,
|
|
37
|
+
сортировка состояний, транслитерация, цвет аватара по идентификатору и прочие
|
|
38
|
+
мелочи, которые одинаково нужны и серверу, и клиенту.
|
|
39
|
+
|
|
40
|
+
## Чего внутри нет
|
|
41
|
+
|
|
42
|
+
Бизнес-логики, обращений к сети и к базе. Это словарь, а не библиотека: он
|
|
43
|
+
описывает данные, но ничего с ними не делает.
|
|
44
|
+
|
|
45
|
+
Настроек платформы — конфигурации провайдеров распознавания речи и языковых
|
|
46
|
+
моделей. Они живут в закрытом пакете и наружу не выходят.
|
|
47
|
+
|
|
48
|
+
## Совместимость
|
|
49
|
+
|
|
50
|
+
Пакет собирается в ESM и требует Node 22 или новее. Единственная зависимость —
|
|
51
|
+
`zod`.
|
|
52
|
+
|
|
53
|
+
Версия растёт автоматически при каждом изменении: пакет публикуется из CI
|
|
54
|
+
основного репозитория, руками его никто не выкладывает.
|
|
55
|
+
|
|
56
|
+
## Лицензия
|
|
57
|
+
|
|
58
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taskless-app/shared",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared types, Zod schemas and design tokens for the Taskless API contract — consumed by @taskless/api, @taskless/web and the Taskless mobile app.",
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/ilyasmurov/taskless/tree/main/packages/shared#readme",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|