synapse-storage 3.0.5 → 3.0.8

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/README.md CHANGED
@@ -1,15 +1,19 @@
1
- # Synapse
1
+ # Synapse Storage
2
+
3
+ [![npm version](https://badge.fury.io/js/synapse-storage.svg)](https://badge.fury.io/js/synapse-storage)
4
+ [![Bundle Size](https://img.shields.io/bundlephobia/minzip/synapse-storage)](https://bundlephobia.com/package/synapse-storage)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue)](https://www.typescriptlang.org/)
2
6
 
3
7
  Synapse — это набор инструментов для управления состоянием + API-клиент.
4
8
 
5
9
  ## Особенности
6
10
 
7
- - **Не привязан к конкретному фреймворку**: Вы можете использовать Synapse в контексте любого фреймворка или независимо от него
11
+ - **Не привязан к конкретному фреймворку**: Вы можете использовать Synapse в контексте любого фреймворка или независимо от него
8
12
  - **Разнообразные адаптеры хранилищ**: Выбирайте между Memory, LocalStorage или IndexedDB в зависимости от ваших потребностей
9
13
  - **Различный способ получения данных**: Создавайте и комбинируйте селекторы для вычисляемых значений на основе состояния в стиле Redux или просто подписывайтесь на конкретное свойство в хранилище
10
- - Возможность создания вычисляемых селекторов в стиле Redux
11
- - Возможность прямой подписки на конкретное свойство в хранилище
12
- - Возможность подписки на реактивное состояние
14
+ - Возможность создания вычисляемых селекторов в стиле Redux
15
+ - Возможность прямой подписки на конкретное свойство в хранилище
16
+ - Возможность подписки на реактивное состояние
13
17
  - **Надежный API-клиент**: Создайте удобный API-клиент для вашего приложения (похож на RTK Query)
14
18
  - **Поддержка middleware**: Расширяйте функциональность с помощью пользовательских middleware
15
19
  - **Система плагинов**: Используйте готовые или создавайте собственные плагины для расширения функциональности
@@ -25,69 +29,54 @@ Synapse — это набор инструментов для управлени
25
29
  > [GitHub](https://github.com/Vlad92msk/) | [LinkedIn](https://www.linkedin.com/in/vlad-firsov/)
26
30
 
27
31
 
28
- ## Установка
32
+
33
+ ## 🎯 Модули и зависимости
34
+
35
+ Устанавливайте только те зависимости, которые вам нужны:
36
+
37
+ ## 📦 Установка
29
38
 
30
39
  ```bash
31
40
  npm install synapse-storage
32
- # или
33
- yarn add synapse-storage
34
- # или
35
- pnpm add synapse-storage
36
41
  ```
37
42
 
43
+ ### Дополнительные зависимости (по необходимости)
38
44
 
39
- ## В своих примерах я буду использовать top-level-await, поэтому:
40
-
41
- ### Версии Node.js
42
- - ✅ Node.js ≥ 14.8.0 (минимальная версия с поддержкой top-level-await)
43
- - ✅ Node.js ≥ 16.0.0 (рекомендуется для полной поддержки)
45
+ ```bash
46
+ # Для реактивных возможностей
47
+ npm install rxjs
44
48
 
45
- ### Версии TypeScript
46
- - TypeScript ≥ 3.8 (базовая поддержка)
47
- - ✅ TypeScript ≥ 4.5 (улучшенная поддержка)
48
- - ✅ TypeScript ≥ 5.0 (рекомендуется, полная поддержка)
49
+ # Для React интеграции
50
+ npm install react react-dom
49
51
 
50
- ### Параметр `target` в tsconfig.json
51
- - ES2022 (рекомендуется)
52
- - ✅ ESNext
53
- - ❌ ES2021 или ниже (не поддерживает top-level-await)
52
+ # Все сразу для полного функционала
53
+ npm install synapse-storage rxjs react react-dom
54
+ ```
54
55
 
55
- ### Параметр `module` в tsconfig.json
56
- - ✅ ESNext (рекомендуется)
57
- - ✅ NodeNext
58
- - ✅ ES2022
59
- - ❌ CommonJS (не поддерживает top-level-await)
60
- - ❌ AMD, UMD, System (не поддерживают top-level-await)
56
+ ## 🚀 Быстрый старт
61
57
 
62
- ### Параметр `moduleResolution` в tsconfig.json
63
- - ✅ bundler (для проектов использующих Vite, Webpack 5, esbuild)
64
- - ✅ node16 или nodenext (для Node.js проектов)
65
- - ✅ node (для совместимости со старыми проектами, не рекомендуется)
66
- - ❓ classic (может работать с ограничениями)
67
58
 
68
- ### Бандлеры и сборщики
69
- - ✅ Vite (полная поддержка)
70
- - Webpack 5+ (с правильной конфигурацией)
71
- - esbuild (полная поддержка)
72
- - Rollup плагином @rollup/plugin-dynamic-import-vars)
73
- - Next.js 12 (нужен правильный build target)
74
- - Webpack 4 и ниже
59
+ | Модуль | Описание | Зависимости |
60
+ |--------|-----------------------|-------------|
61
+ | `synapse-storage/core` | Хранилища состояния | Нет |
62
+ | `synapse-storage/react` | Инструменты для React | React 18+ |
63
+ | `synapse-storage/reactive` | RxJS интеграция | RxJS 7.8.2+ |
64
+ | `synapse-storage/api` | HTTP клиент | Нет |
65
+ | `synapse-storage/utils` | Утилиты | Нет |
75
66
 
76
- ### Пример минимальной конфигурации tsconfig.json
67
+ > **💡 Совет:** Импортируйте только нужные модули для оптимального размера бандла
77
68
 
69
+ ### Минимальный tsconfig.json:
78
70
  ```json
79
71
  {
80
72
  "compilerOptions": {
81
73
  "target": "ES2022",
82
- "module": "ESNext",
83
- "moduleResolution": "bundler",
84
- "esModuleInterop": true
74
+ "module": "ES2022",
75
+ "moduleResolution": "bundler"
85
76
  }
86
77
  }
87
78
  ```
88
-
89
- ## Быстрый старт
90
-
79
+
91
80
  Импорты:
92
81
  ```typescript
93
82
  // Инструменты создания и управления хранилищем