skillgrid 0.0.18-alpha.20250911T13103 → 0.0.19
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 +33 -189
- package/package.json +3 -13
package/README.md
CHANGED
|
@@ -1,211 +1,55 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Skillgrid
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Возможности
|
|
3
|
+
**Библиотека компонентов Skillgrid**
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
- 📚 Интеграция со Storybook
|
|
9
|
-
- ✅ Тестирование с помощью Vitest
|
|
10
|
-
- 🎨 Поддержка CSS Modules
|
|
11
|
-
- 🔧 Настраиваемая генерация компонентов
|
|
12
|
-
- 📦 Поддержка TypeScript
|
|
5
|
+
Современная библиотека React-компонентов со встроенной поддержкой i18n, интеграцией Storybook и автоматизированным тестированием.
|
|
13
6
|
|
|
14
7
|
## Установка
|
|
15
8
|
|
|
16
9
|
```bash
|
|
17
|
-
yarn
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Быстрый старт
|
|
21
|
-
|
|
22
|
-
### Одновременный запуск Storybook и тестов
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
yarn start
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Запуск сервера разработки
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
yarn dev
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Запуск тестов
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
yarn test
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Запуск Storybook
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
yarn storybook
|
|
10
|
+
yarn add skillgrid
|
|
44
11
|
```
|
|
45
12
|
|
|
46
|
-
|
|
13
|
+
или
|
|
47
14
|
|
|
48
15
|
```bash
|
|
49
|
-
|
|
16
|
+
npm install skillgrid
|
|
50
17
|
```
|
|
51
18
|
|
|
52
|
-
##
|
|
53
|
-
|
|
54
|
-
Полная документация доступна в формате VitePress в директории `/docs`.
|
|
55
|
-
|
|
56
|
-
### Запуск документации локально
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# Запуск в режиме разработки
|
|
60
|
-
yarn docs
|
|
61
|
-
|
|
62
|
-
# Сборка документации
|
|
63
|
-
yarn docs:build
|
|
64
|
-
|
|
65
|
-
# Предпросмотр собранной документации
|
|
66
|
-
yarn docs:preview
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Структура документации
|
|
70
|
-
|
|
71
|
-
- `/docs/components/` - Документация по компонентам
|
|
72
|
-
- `/docs/locale/` - Система локализации
|
|
73
|
-
- `/docs/generator/` - Генератор компонентов
|
|
74
|
-
|
|
75
|
-
## Генерация компонентов
|
|
76
|
-
|
|
77
|
-
Создавайте новые компоненты с помощью CLI:
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
yarn skillgrid generate component MyComponent
|
|
81
|
-
# или короче
|
|
82
|
-
yarn skillgrid g c MyComponent
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Параметры командной строки
|
|
86
|
-
|
|
87
|
-
Генератор компонентов поддерживает несколько флагов для настройки генерируемых файлов:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
# Генерация без поддержки i18n
|
|
91
|
-
yarn skillgrid g c MyComponent --no-i18n
|
|
92
|
-
|
|
93
|
-
# Генерация без хуков
|
|
94
|
-
yarn skillgrid g c MyComponent --no-hooks
|
|
95
|
-
|
|
96
|
-
# Генерация без историй
|
|
97
|
-
yarn skillgrid g c MyComponent --no-stories
|
|
98
|
-
|
|
99
|
-
# Комбинация флагов
|
|
100
|
-
yarn skillgrid g c MyComponent --no-i18n --no-hooks --no-stories
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Интернационализация (i18n)
|
|
104
|
-
|
|
105
|
-
### Локализация на уровне компонентов
|
|
106
|
-
|
|
107
|
-
Каждый компонент с поддержкой i18n имеет свой файл переводов (`ComponentName.i18n.json`):
|
|
108
|
-
|
|
109
|
-
```json
|
|
110
|
-
{
|
|
111
|
-
"en": {
|
|
112
|
-
"componentname": {
|
|
113
|
-
"example": "Example text for ComponentName"
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
"ru": {
|
|
117
|
-
"componentname": {
|
|
118
|
-
"example": "Пример текста для ComponentName"
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### Пользовательские переводы
|
|
125
|
-
|
|
126
|
-
Вы можете переопределить стандартные переводы для любого компонента, используя проп `i18n`:
|
|
19
|
+
## Быстрый старт
|
|
127
20
|
|
|
128
21
|
```tsx
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}}
|
|
144
|
-
/>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Конфигурация
|
|
148
|
-
|
|
149
|
-
Создайте файл `.skillgridrc.json` в корне вашего проекта для настройки параметров по умолчанию:
|
|
150
|
-
|
|
151
|
-
```json
|
|
152
|
-
{
|
|
153
|
-
"componentsDir": "components",
|
|
154
|
-
"style": "css",
|
|
155
|
-
"withStories": true,
|
|
156
|
-
"withHook": true,
|
|
157
|
-
"withI18n": true,
|
|
158
|
-
"indexFile": "src/index.ts",
|
|
159
|
-
"appFile": "src/App.tsx",
|
|
160
|
-
"storybookUrl": "http://localhost:6006"
|
|
22
|
+
import { Button, ConfigProvider } from 'skillgrid';
|
|
23
|
+
|
|
24
|
+
function App() {
|
|
25
|
+
return (
|
|
26
|
+
// Перед импортом компонентов библиотеки
|
|
27
|
+
// приложение следует обернуть в <ConfigProvider>
|
|
28
|
+
<ConfigProvider>
|
|
29
|
+
<Button onClick={() => console.log('Clicked!')}>
|
|
30
|
+
Нажми меня
|
|
31
|
+
</Button>
|
|
32
|
+
</ConfigProvider>
|
|
33
|
+
);
|
|
161
34
|
}
|
|
162
35
|
```
|
|
163
36
|
|
|
164
|
-
|
|
37
|
+
## Требования
|
|
165
38
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
| `style` | string | `"css"` | Формат стилей (css/scss) |
|
|
170
|
-
| `withStories` | boolean | `true` | Генерировать stories |
|
|
171
|
-
| `withHook` | boolean | `true` | Генерировать хуки |
|
|
172
|
-
| `withI18n` | boolean | `true` | Генерировать i18n |
|
|
173
|
-
| `indexFile` | string | `"src/index.ts"` | Путь к главному индексному файлу |
|
|
174
|
-
| `appFile` | string | `"src/App.tsx"` | Путь к файлу приложения |
|
|
175
|
-
| `storybookUrl` | string | `"http://localhost:6006"` | URL Storybook |
|
|
39
|
+
Для работы библиотеки необходимы:
|
|
40
|
+
- `react` версии `17.0.2` или новее
|
|
41
|
+
- `react-dom` версии `17.0.2` или новее
|
|
176
42
|
|
|
177
|
-
## Структура компонента
|
|
178
43
|
|
|
179
|
-
|
|
44
|
+
## Особенности
|
|
180
45
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
├── ComponentName.i18n.json # Переводы
|
|
190
|
-
└── index.ts # Экспорты
|
|
191
|
-
```
|
|
46
|
+
- 🎯 **Типобезопасность**: Полная поддержка TypeScript.
|
|
47
|
+
- 🌐 **Локализация**: Встроенная и настраиваемая система i18n.
|
|
48
|
+
- 📚 **Документация**: Интерактивная документация компонентов в Storybook.
|
|
49
|
+
- 🛠️ **Инструменты**: CLI для генерации новых компонентов.
|
|
50
|
+
- ⚡️ **Производительность**: Оптимизированные и легковесные компоненты.
|
|
51
|
+
- 🎨 **Стилизация**: Поддержка CSS Modules и темизации.
|
|
52
|
+
|
|
53
|
+
## Лицензия
|
|
192
54
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
1. Сделайте форк репозитория
|
|
196
|
-
2. Создайте ветку для вашей функции (`git checkout -b feature/DEV-XXX-amazing-feature`)
|
|
197
|
-
3. Зафиксируйте ваши изменения (`git commit -m '[DEV-XXX] Добавлена новая функция'`)
|
|
198
|
-
4. Отправьте изменения в ваш форк (`git push origin feature/DEV-XXX-amazing-feature`)
|
|
199
|
-
5. Откройте Merge Request
|
|
200
|
-
|
|
201
|
-
## Используемые технологии
|
|
202
|
-
|
|
203
|
-
- React 18.3.1
|
|
204
|
-
- TypeScript 5.8.3
|
|
205
|
-
- Vite 6.3.5
|
|
206
|
-
- Vitest для тестирования
|
|
207
|
-
- Storybook 8.6.12
|
|
208
|
-
- Ant Design 5.25.1
|
|
209
|
-
- ESLint и Prettier для линтинга и форматирования
|
|
210
|
-
- Stylelint для CSS
|
|
211
|
-
- VitePress для документации
|
|
55
|
+
[Документ лицензии](./LICENSE.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillgrid",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"description": "Skillgrid Components Library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
"dev": "vite",
|
|
34
34
|
"build": "vite build",
|
|
35
35
|
"type-check": "tsc",
|
|
36
|
-
"prepublish": "npm run build",
|
|
37
36
|
"format": "prettier --write .",
|
|
38
37
|
"lint": "eslint . --ext .ts,.tsx",
|
|
39
38
|
"lint:fix": "eslint . --ext .ts,.tsx --fix",
|
|
@@ -41,7 +40,6 @@
|
|
|
41
40
|
"lint:css:fix": "stylelint **/*.css --fix",
|
|
42
41
|
"lint:fix:all": "npm run lint:fix && npm run lint:css:fix",
|
|
43
42
|
"preview": "vite preview",
|
|
44
|
-
"prepare": "husky",
|
|
45
43
|
"skillgrid": "tsx scripts/generators/index.ts",
|
|
46
44
|
"test:generators": "vitest run scripts/generators/tests",
|
|
47
45
|
"storybook": "storybook dev -p 6006",
|
|
@@ -54,15 +52,7 @@
|
|
|
54
52
|
"docs:dev": "vitepress dev docs",
|
|
55
53
|
"docs:build": "vitepress build docs",
|
|
56
54
|
"docs:preview": "vitepress preview docs",
|
|
57
|
-
"docs": "yarn docs:dev"
|
|
58
|
-
"version:major": "node ./scripts/publish/version.js major",
|
|
59
|
-
"version:minor": "node ./scripts/publish/version.js minor",
|
|
60
|
-
"version:patch": "node ./scripts/publish/version.js patch",
|
|
61
|
-
"publish:current": "node ./scripts/publish/publish.js current",
|
|
62
|
-
"publish:alpha": "node ./scripts/publish/publish.js alpha",
|
|
63
|
-
"publish:beta": "node ./scripts/publish/publish.js beta",
|
|
64
|
-
"publish:next": "node ./scripts/publish/publish.js next",
|
|
65
|
-
"publish:latest": "node ./scripts/publish/publish.js latest"
|
|
55
|
+
"docs": "yarn docs:dev"
|
|
66
56
|
},
|
|
67
57
|
"devDependencies": {
|
|
68
58
|
"@eslint/js": "^9.25.0",
|
|
@@ -144,4 +134,4 @@
|
|
|
144
134
|
"wrap-ansi": "7.0.0",
|
|
145
135
|
"cliui": "7.0.4"
|
|
146
136
|
}
|
|
147
|
-
}
|
|
137
|
+
}
|