@omnisass/library 0.3.0 → 0.4.0
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/CHANGELOG.md +19 -0
- package/index.scss +6 -0
- package/modules/utilities/getters/misc/_get-uid.scss +135 -0
- package/modules/utilities/getters/string/_get-string-hash.scss +143 -0
- package/modules/utilities/helpers/misc/_url-encode.scss +2 -2
- package/modules/utilities/helpers/string/_string-count.scss +173 -0
- package/modules/utilities/helpers/string/_string-lorips.config.scss +81 -0
- package/modules/utilities/helpers/string/_string-lorips.scss +198 -0
- package/modules/utilities/helpers/string/_string-repeat.scss +147 -0
- package/modules/utilities/helpers/string/_string-reverse.scss +139 -0
- package/package.json +1 -1
- package/package.scss +1 -1
- package/test2.sh +158 -0
- package/modules/utilities/setters/_index.scss +0 -3
package/test2.sh
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Скрипт для генерации changes.md с изменениями с последнего тега
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
OUTPUT_FILE="changes.md"
|
|
8
|
+
TEMP_FILE=".git_changes.tmp"
|
|
9
|
+
|
|
10
|
+
# Функция для очистки временных файлов
|
|
11
|
+
cleanup() {
|
|
12
|
+
if [ -f "$TEMP_FILE" ]; then
|
|
13
|
+
rm -f "$TEMP_FILE"
|
|
14
|
+
fi
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
trap cleanup EXIT
|
|
18
|
+
|
|
19
|
+
# Получаем последний тег
|
|
20
|
+
echo "🔍 Поиск последнего тега..."
|
|
21
|
+
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
|
|
22
|
+
|
|
23
|
+
if [ -z "$LAST_TAG" ]; then
|
|
24
|
+
echo "⚠️ Теги не найдены. Используется первый коммит."
|
|
25
|
+
TAG_HASH=$(git rev-list --max-parents=0 HEAD)
|
|
26
|
+
LAST_TAG="начала репозитория"
|
|
27
|
+
else
|
|
28
|
+
TAG_HASH=$(git rev-list -n 1 "$LAST_TAG")
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Получаем текущую ветку и хэш HEAD
|
|
32
|
+
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
33
|
+
CURRENT_HASH=$(git rev-parse --short HEAD)
|
|
34
|
+
CURRENT_DATE=$(date '+%Y-%m-%d %H:%M:%S')
|
|
35
|
+
|
|
36
|
+
# Получаем количество коммитов
|
|
37
|
+
COMMIT_COUNT=$(git rev-list --count "$TAG_HASH"..HEAD)
|
|
38
|
+
|
|
39
|
+
echo "📊 Найдено $COMMIT_COUNT коммитов с тега $LAST_TAG"
|
|
40
|
+
|
|
41
|
+
# Генерируем файл changes.md
|
|
42
|
+
echo "# Список изменений" > "$OUTPUT_FILE"
|
|
43
|
+
echo "" >> "$OUTPUT_FILE"
|
|
44
|
+
|
|
45
|
+
echo "## 📋 Информация" >> "$OUTPUT_FILE"
|
|
46
|
+
echo "" >> "$OUTPUT_FILE"
|
|
47
|
+
echo "- **Последний тег:** \`$LAST_TAG\`" >> "$OUTPUT_FILE"
|
|
48
|
+
echo "- **Текущая ветка:** \`$CURRENT_BRANCH\`" >> "$OUTPUT_FILE"
|
|
49
|
+
echo "- **Хэш HEAD:** \`$CURRENT_HASH\`" >> "$OUTPUT_FILE"
|
|
50
|
+
echo "- **Дата генерации:** $CURRENT_DATE" >> "$OUTPUT_FILE"
|
|
51
|
+
echo "- **Количество коммитов:** $COMMIT_COUNT" >> "$OUTPUT_FILE"
|
|
52
|
+
echo "" >> "$OUTPUT_FILE"
|
|
53
|
+
|
|
54
|
+
if [ $COMMIT_COUNT -eq 0 ]; then
|
|
55
|
+
echo "## 📭 Изменения отсутствуют" >> "$OUTPUT_FILE"
|
|
56
|
+
echo "" >> "$OUTPUT_FILE"
|
|
57
|
+
echo "Нет новых коммитов с тега \`$LAST_TAG\`" >> "$OUTPUT_FILE"
|
|
58
|
+
|
|
59
|
+
echo "✅ Файл $OUTPUT_FILE создан (без изменений)"
|
|
60
|
+
exit 0
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
echo "## 📈 Сводка изменений" >> "$OUTPUT_FILE"
|
|
64
|
+
echo "" >> "$OUTPUT_FILE"
|
|
65
|
+
|
|
66
|
+
# Статистика по авторам
|
|
67
|
+
echo "### 👥 Авторы изменений" >> "$OUTPUT_FILE"
|
|
68
|
+
echo "" >> "$OUTPUT_FILE"
|
|
69
|
+
git shortlog -s -n --no-merges "$TAG_HASH"..HEAD | while read line; do
|
|
70
|
+
count=$(echo "$line" | awk '{print $1}')
|
|
71
|
+
author=$(echo "$line" | awk '{$1=""; print substr($0,2)}')
|
|
72
|
+
echo "- **$author:** $count коммит(ов)" >> "$OUTPUT_FILE"
|
|
73
|
+
done
|
|
74
|
+
echo "" >> "$OUTPUT_FILE"
|
|
75
|
+
|
|
76
|
+
# Статистика изменений файлов
|
|
77
|
+
echo "### 📊 Изменения файлов" >> "$OUTPUT_FILE"
|
|
78
|
+
echo "" >> "$OUTPUT_FILE"
|
|
79
|
+
echo '```diff' >> "$OUTPUT_FILE"
|
|
80
|
+
git diff --stat "$TAG_HASH" HEAD >> "$TEMP_FILE" 2>/dev/null || echo "Статистика изменений недоступна" > "$TEMP_FILE"
|
|
81
|
+
cat "$TEMP_FILE" >> "$OUTPUT_FILE"
|
|
82
|
+
echo '```' >> "$OUTPUT_FILE"
|
|
83
|
+
echo "" >> "$OUTPUT_FILE"
|
|
84
|
+
|
|
85
|
+
# Группировка по типу коммитов (Conventional Commits)
|
|
86
|
+
echo "## 🗂️ Изменения по категориям" >> "$OUTPUT_FILE"
|
|
87
|
+
echo "" >> "$OUTPUT_FILE"
|
|
88
|
+
|
|
89
|
+
# Новые возможности
|
|
90
|
+
feat_count=$(git log --oneline --grep="^feat" "$TAG_HASH"..HEAD | wc -l)
|
|
91
|
+
if [ $feat_count -gt 0 ]; then
|
|
92
|
+
echo "### 🚀 Новые возможности ($feat_count)" >> "$OUTPUT_FILE"
|
|
93
|
+
echo "" >> "$OUTPUT_FILE"
|
|
94
|
+
git log --pretty=format:"- **%s** (\`%h\`)" --grep="^feat" "$TAG_HASH"..HEAD | sed 's/^feat:*//i' >> "$OUTPUT_FILE"
|
|
95
|
+
echo "" >> "$OUTPUT_FILE"
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
# Исправления ошибок
|
|
99
|
+
fix_count=$(git log --oneline --grep="^fix" "$TAG_HASH"..HEAD | wc -l)
|
|
100
|
+
if [ $fix_count -gt 0 ]; then
|
|
101
|
+
echo "### 🐛 Исправления ошибок ($fix_count)" >> "$OUTPUT_FILE"
|
|
102
|
+
echo "" >> "$OUTPUT_FILE"
|
|
103
|
+
git log --pretty=format:"- **%s** (\`%h\`)" --grep="^fix" "$TAG_HASH"..HEAD | sed 's/^fix:*//i' >> "$OUTPUT_FILE"
|
|
104
|
+
echo "" >> "$OUTPUT_FILE"
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
# Документация
|
|
108
|
+
docs_count=$(git log --oneline --grep="^docs" "$TAG_HASH"..HEAD | wc -l)
|
|
109
|
+
if [ $docs_count -gt 0 ]; then
|
|
110
|
+
echo "### 📚 Документация ($docs_count)" >> "$OUTPUT_FILE"
|
|
111
|
+
echo "" >> "$OUTPUT_FILE"
|
|
112
|
+
git log --pretty=format:"- **%s** (\`%h\`)" --grep="^docs" "$TAG_HASH"..HEAD | sed 's/^docs:*//i' >> "$OUTPUT_FILE"
|
|
113
|
+
echo "" >> "$OUTPUT_FILE"
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
# Рефакторинг
|
|
117
|
+
refactor_count=$(git log --oneline --grep="^refactor" "$TAG_HASH"..HEAD | wc -l)
|
|
118
|
+
if [ $refactor_count -gt 0 ]; then
|
|
119
|
+
echo "### ♻️ Рефакторинг ($refactor_count)" >> "$OUTPUT_FILE"
|
|
120
|
+
echo "" >> "$OUTPUT_FILE"
|
|
121
|
+
git log --pretty=format:"- **%s** (\`%h\`)" --grep="^refactor" "$TAG_HASH"..HEAD | sed 's/^refactor:*//i' >> "$OUTPUT_FILE"
|
|
122
|
+
echo "" >> "$OUTPUT_FILE"
|
|
123
|
+
fi
|
|
124
|
+
|
|
125
|
+
# Тесты
|
|
126
|
+
test_count=$(git log --oneline --grep="^test" "$TAG_HASH"..HEAD | wc -l)
|
|
127
|
+
if [ $test_count -gt 0 ]; then
|
|
128
|
+
echo "### ✅ Тесты ($test_count)" >> "$OUTPUT_FILE"
|
|
129
|
+
echo "" >> "$OUTPUT_FILE"
|
|
130
|
+
git log --pretty=format:"- **%s** (\`%h\`)" --grep="^test" "$TAG_HASH"..HEAD | sed 's/^test:*//i' >> "$OUTPUT_FILE"
|
|
131
|
+
echo "" >> "$OUTPUT_FILE"
|
|
132
|
+
fi
|
|
133
|
+
|
|
134
|
+
# Остальные коммиты
|
|
135
|
+
other_count=$(git log --oneline --invert-grep --grep="^feat\|^fix\|^docs\|^refactor\|^test" "$TAG_HASH"..HEAD | wc -l)
|
|
136
|
+
if [ $other_count -gt 0 ]; then
|
|
137
|
+
echo "### 🔧 Прочие изменения ($other_count)" >> "$OUTPUT_FILE"
|
|
138
|
+
echo "" >> "$OUTPUT_FILE"
|
|
139
|
+
git log --pretty=format:"- %s (\`%h\`)" --invert-grep --grep="^feat\|^fix\|^docs\|^refactor\|^test" "$TAG_HASH"..HEAD >> "$OUTPUT_FILE"
|
|
140
|
+
echo "" >> "$OUTPUT_FILE"
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
# Полный список коммитов
|
|
144
|
+
echo "## 📝 Полный список коммитов" >> "$OUTPUT_FILE"
|
|
145
|
+
echo "" >> "$OUTPUT_FILE"
|
|
146
|
+
git log --pretty=format:"- **%s**%n - Хэш: \`%h\`%n - Автор: %an%n - Дата: %ad" --date=short "$TAG_HASH"..HEAD >> "$OUTPUT_FILE"
|
|
147
|
+
echo "" >> "$OUTPUT_FILE"
|
|
148
|
+
|
|
149
|
+
# Команда для сравнения
|
|
150
|
+
echo "## 🔗 Ссылки" >> "$OUTPUT_FILE"
|
|
151
|
+
echo "" >> "$OUTPUT_FILE"
|
|
152
|
+
echo "Для просмотра всех изменений выполните:" >> "$OUTPUT_FILE"
|
|
153
|
+
echo '```bash' >> "$OUTPUT_FILE"
|
|
154
|
+
echo "git log --oneline $LAST_TAG..HEAD" >> "$OUTPUT_FILE"
|
|
155
|
+
echo '```' >> "$OUTPUT_FILE"
|
|
156
|
+
|
|
157
|
+
echo "✅ Файл $OUTPUT_FILE успешно создан!"
|
|
158
|
+
echo "📄 Просмотр: cat $OUTPUT_FILE | head -30"
|