@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/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"
@@ -1,3 +0,0 @@
1
- ////
2
- /// @group utilities-setters
3
- ////