@omnisass/library 0.4.0 → 0.5.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/README.en.md +99 -0
- package/README.md +2 -0
- package/_configs.scss +1 -1
- package/index.scss +11 -5
- package/modules/utilities/getters/map/_get-map-item.scss +159 -0
- package/modules/utilities/helpers/list/_list-sum-numbers-safe.scss +4 -3
- package/modules/utilities/helpers/list/_list-sum-numbers.scss +4 -3
- package/modules/utilities/helpers/map/_map-remove-keys.scss +153 -0
- package/modules/utilities/helpers/misc/_url-encode.scss +5 -4
- package/modules/utilities/helpers/number/_number-ceil-to.scss +5 -3
- package/modules/utilities/helpers/number/_number-clamp-max.scss +5 -3
- package/modules/utilities/helpers/number/_number-clamp-min.scss +5 -3
- package/modules/utilities/helpers/number/_number-clamp.scss +6 -3
- package/modules/utilities/helpers/number/_number-denormalize.scss +6 -3
- package/modules/utilities/helpers/number/_number-fibonacci.scss +4 -3
- package/modules/utilities/helpers/number/_number-floor-to.scss +5 -3
- package/modules/utilities/helpers/number/_number-format-with-separator.scss +5 -4
- package/modules/utilities/helpers/number/_number-normalize.scss +6 -3
- package/modules/utilities/helpers/number/_number-random-between-int.scss +5 -3
- package/modules/utilities/helpers/number/_number-random-between.scss +5 -3
- package/modules/utilities/helpers/number/_number-range.scss +6 -3
- package/modules/utilities/helpers/number/_number-round-to-nearest.scss +5 -3
- package/modules/utilities/helpers/number/_number-round-to.scss +5 -3
- package/modules/utilities/helpers/number/_number-strip-unit.scss +4 -3
- package/modules/utilities/helpers/string/_string-capitalize.scss +4 -3
- package/modules/utilities/helpers/string/_string-lorips.config.scss +0 -2
- package/modules/utilities/helpers/string/_string-replace.scss +6 -3
- package/modules/utilities/helpers/string/_string-trim-end.scss +4 -3
- package/modules/utilities/helpers/string/_string-trim-start.scss +4 -3
- package/modules/utilities/helpers/string/_string-trim.scss +4 -3
- package/modules/utilities/loggers/_log.scss +219 -0
- package/modules/utilities/setters/map/_set-map-item.scss +243 -0
- package/modules/utilities/validators/color/_is-color-light.scss +5 -4
- package/modules/utilities/validators/color/_is-color-list.scss +4 -3
- package/modules/utilities/validators/list/_is-list-contained.scss +5 -4
- package/modules/utilities/validators/number/_is-int-even.scss +4 -3
- package/modules/utilities/validators/number/_is-int-odd.scss +4 -3
- package/modules/utilities/validators/number/_is-int.scss +5 -3
- package/modules/utilities/validators/number/_is-number-has-unit.scss +4 -3
- package/modules/utilities/validators/number/_is-number-negative.scss +4 -3
- package/modules/utilities/validators/number/_is-number-positive.scss +4 -3
- package/modules/utilities/validators/number/_is-number-unitless.scss +4 -3
- package/modules/utilities/validators/number/_is-number-zero.scss +4 -3
- package/modules/utilities/validators/string/_is-string-contained.scss +5 -3
- package/modules/utilities/validators/string/_is-string-empty.scss +4 -3
- package/modules/utilities/validators/string/_is-string-ending-with.scss +5 -3
- package/modules/utilities/validators/string/_is-string-starting-with.scss +5 -3
- package/modules/utilities/validators/type-of/_is-color.scss +0 -4
- package/package.json +25 -16
- package/package.scss +12 -2
- package/CHANGELOG.md +0 -122
- package/test2.sh +0 -158
package/CHANGELOG.md
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
# История изменений OmniSass
|
|
2
|
-
Обратите внимание, что данный текст представляет собой краткое изложение истории разработки проекта по версиям. Для более детального ознакомления с изменениями рекомендуется обратиться к соответствующему [разделу](https://sourcecraft.dev/omnisass/library/commits/?rev=master) в SourceCraft.
|
|
3
|
-
|
|
4
|
-
## v0.4.0 - Public Alpha Release
|
|
5
|
-
{% note info %}
|
|
6
|
-
|
|
7
|
-
Данная версия библиотеки включает завершённую реализацию функций, построенных на основе встроенного модуля `sass:string`. В фокусе следующего релиза — разработка функциональности с использованием модуля `sass:map`.
|
|
8
|
-
|
|
9
|
-
{% endnote %}
|
|
10
|
-
|
|
11
|
-
### Добавленные новые Sass-функции
|
|
12
|
-
#### Вспомогательные функции
|
|
13
|
-
- **string-count** - Подсчитывает количество вхождений подстроки в строку.
|
|
14
|
-
- **string-reverse** - Переворачивает строку (меняет порядок символов на обратный).
|
|
15
|
-
- **string-lorips** - Генерирует текст-заполнитель на основе указанного списка слов.
|
|
16
|
-
- **string-repeat** - Повторяет строку указанное количество раз.
|
|
17
|
-
|
|
18
|
-
#### Функции для получения значений
|
|
19
|
-
- **get-string-hash** - Вычисляет числовой хеш-код для строки по алгоритму DJB2.
|
|
20
|
-
- **get-uid** - Генерирует уникальный строковый идентификатор с префиксом.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
## v0.3.0 - Public Alpha Release
|
|
24
|
-
{% note warning "Примечание" %}
|
|
25
|
-
|
|
26
|
-
В списке изменений к версии 0.3.0 будут указаны все изменения, внесённые в предыдущих версиях, поскольку ранее они не фиксировались в документации.
|
|
27
|
-
|
|
28
|
-
{% endnote %}
|
|
29
|
-
|
|
30
|
-
### Добавленные новые Sass-функции
|
|
31
|
-
#### Конверторы значений
|
|
32
|
-
- **convert-camel2kebab** - Конвертирует строку из `camelCase` (верблюжья нотация) в `kebab-case` (кебаб-нотация или дефисная нотация).
|
|
33
|
-
- **convert-em2px** - Конвертирует значения из относительных единиц (`em`) в пиксели (`px`).
|
|
34
|
-
- **convert-hex2rgba** - Преобразует цвет в строку формата RGBA с поддержкой прозрачности.
|
|
35
|
-
- **convert-hex2rgb** - Преобразует цвет из HEX формата в строку формата RGB.
|
|
36
|
-
- **convert-kebab2camel** - Конвертирует строку из `kebab-case` (кебаб-нотация) в `camelCase` (верблюжья нотация).
|
|
37
|
-
- **convert-kebab2snake** - Преобразует строку из `kebab-case` (кебаб-нотация) в `snake_case` (змеиная нотация).
|
|
38
|
-
- **convert-px2em** - Конвертирует значения из пикселей (`px`) в относительные единицы (`em`).
|
|
39
|
-
- **convert-px2rem** - Конвертирует значения из пикселей (`px`) в относительные единицы (`rem`).
|
|
40
|
-
- **convert-rem2px** - Конвертирует значения из относительных единиц (`rem`) в пиксели (`px`).
|
|
41
|
-
- **convert-snake2kebab** - Преобразует строку из `snake_case` (змеиная нотация) в `kebab-case` (кебаб-нотация).
|
|
42
|
-
|
|
43
|
-
#### Функции для получения значений
|
|
44
|
-
- **get-color-brightness** - Рассчитывает яркость (светлоту) цвета.
|
|
45
|
-
- **get-color-darkest** - Находит самый темный цвет в списке по значению lightness в HSL-пространстве.
|
|
46
|
-
- **get-list-item-end** - Возвращает последний элемент списка.
|
|
47
|
-
- **get-list-item-start** - Возвращает первый элемент списка.
|
|
48
|
-
- **get-list-item** - Возвращает первый или последний элемент списка.
|
|
49
|
-
- **get-number-from-percent** - Вычисляет абсолютное значение по проценту от целого.
|
|
50
|
-
- **get-number-height-by-ratio** - Вычисляет высоту на основе ширины и соотношения сторон.
|
|
51
|
-
- **get-number-max** - Находит максимальное числовое значение в списке.
|
|
52
|
-
- **get-number-min** - Находит минимальное числовое значение в списке.
|
|
53
|
-
- **get-number-percentage-of** - Вычисляет процентное отношение части к целому.
|
|
54
|
-
- **get-number-unit** - Возвращает единицы измерения числа в виде строки.
|
|
55
|
-
- **get-number-width-by-ratio** - Вычисляет ширину на основе высоты и соотношения сторон.
|
|
56
|
-
|
|
57
|
-
#### Вспомогательные функции
|
|
58
|
-
- **color-blend** - Линейная интерполяция (смешивание) между двумя цветами.
|
|
59
|
-
- **color-blend-steps** - Создает последовательность равномерно распределенных цветов между двумя точками.
|
|
60
|
-
- **color-hue-shift** - Поворачивает цветовой тон (hue) цвета на заданное количество градусов.
|
|
61
|
-
- **color-scale** - Генерирует монохромную шкалу оттенков путем затемнения базового цвета.
|
|
62
|
-
- **color-shade** - Создает затемненную версию цвета, добавляя к нему черный цвет.
|
|
63
|
-
- **color-tint** - Осветляет исходный цвет, смешивая его с белым.
|
|
64
|
-
- **color-triad** - Генерирует триадную цветовую схему из трех равноудаленных цветов.
|
|
65
|
-
- **list-dedupe** - Удаляет дублирующиеся значения из списка.
|
|
66
|
-
- **list-insert-at** - Вставляет значение в список по указанному индексу.
|
|
67
|
-
- **list-merge** - Объединяет несколько списков в один плоский список.
|
|
68
|
-
- **list-remove-at** - Удаляет элемент из списка по указанному индексу.
|
|
69
|
-
- **list-sum-numbers-safe** - Безопасно суммирует числовые значения в списке с проверкой единиц измерения.
|
|
70
|
-
- **list-sum-numbers** - Суммирует все числовые значения в списке.
|
|
71
|
-
- **url-encode** - Кодирует строку для безопасного использования в URL.
|
|
72
|
-
- **number-ceil-to** - Округляет число вверх до ближайшего кратного значения.
|
|
73
|
-
- **number-clamp-max** - Ограничивает число сверху, обеспечивая максимальное значение.
|
|
74
|
-
- **number-clamp-min** - Ограничивает число снизу, обеспечивая минимальное значение.
|
|
75
|
-
- **number-clamp** - Ограничивает число заданным диапазоном значений.
|
|
76
|
-
- **number-denormalize** - Денормализует число из единичного интервала [0, 1] в исходный диапазон.
|
|
77
|
-
- **number-fibonacci** - Генерирует последовательность чисел Фибоначчи.
|
|
78
|
-
- **number-floor-to** - Округляет число вниз до ближайшего кратного значения.
|
|
79
|
-
- **number-format-with-separator** - Форматирует число, добавляя разделители тысяч для улучшения читаемости больших чисел.
|
|
80
|
-
- **number-normalize** - Нормализует число к единичному интервалу [0, 1].
|
|
81
|
-
- **number-random-between-int** - Генерирует случайное целое число в заданном диапазоне.
|
|
82
|
-
- **number-random-between** - Генерирует случайное число в заданном диапазоне.
|
|
83
|
-
- **number-range** - Генерирует последовательность чисел в заданном диапазоне с определенным шагом.
|
|
84
|
-
- **number-round-to-nearest** - Округляет число до ближайшего кратного значения с использованием стандартного математического округления (половинки в сторону от нуля).
|
|
85
|
-
- **number-round-to** - Округляет число до указанного количества знаков после запятой.
|
|
86
|
-
- **number-strip-unit** - Удаляет единицы измерения из числа, возвращая безразмерное значение.
|
|
87
|
-
- **string-capitalize** - Преобразует первый символ строки в верхний регистр, остальные оставляет без изменений.
|
|
88
|
-
- **string-replace** - Заменяет все вхождения подстроки в строке на другую подстроку.
|
|
89
|
-
- **string-trim-end** - Удаляет пробелы с конца строки (справа).
|
|
90
|
-
- **string-trim-start** - Удаляет пробелы с начала строки (слева).
|
|
91
|
-
- **string-trim** - Удаляет пробелы с начала и конца строки.
|
|
92
|
-
|
|
93
|
-
#### Функции для логгирования
|
|
94
|
-
- **log-invalid-type** - Логирует ошибку или предупреждение о несоответствии типа параметра ожидаемым типам.
|
|
95
|
-
- **log-invalid-value** - Логирует ошибку или предупреждение о недопустимом значении параметра, когда передано значение, не входящее в список разрешенных.
|
|
96
|
-
|
|
97
|
-
#### Функции для валидации значений
|
|
98
|
-
- **is-color-light** - Определяет, является ли цвет светлым (по пороговому значению светлоты).
|
|
99
|
-
- **is-color-list** - Проверяет, что все элементы в списке являются цветами.
|
|
100
|
-
- **is-list-contained** - Проверяет, содержится ли значение в указанном списке.
|
|
101
|
-
- **is-time** - Проверяет, является ли значение корректным временным значением.
|
|
102
|
-
- **is-int-even** - Проверяет, является ли целое число четным.
|
|
103
|
-
- **is-int-odd** - Проверяет, является ли целое число нечетным.
|
|
104
|
-
- **is-int** - Проверяет, является ли число целым (integer).
|
|
105
|
-
- **is-number-has-unit** - Проверяет, имеет ли число единицы измерения.
|
|
106
|
-
- **is-number-negative** - Проверяет, является ли значение отрицательным числом.
|
|
107
|
-
- **is-number-positive** - Проверяет, является ли значение положительным числом.
|
|
108
|
-
- **is-number-unitless** - Проверяет, является ли число безразмерным.
|
|
109
|
-
- **is-number-zero** - Проверяет, является ли значение нулем (числовым нулем).
|
|
110
|
-
- **is-string-contained** - Проверяет, содержится ли подстрока в указанной строке.
|
|
111
|
-
- **is-string-empty** - Проверяет, является ли строка пустой.
|
|
112
|
-
- **is-string-ending-with** - Проверяет, заканчивается ли строка указанной подстрокой.
|
|
113
|
-
- **is-string-starting-with** - Проверяет, начинается ли строка с указанной подстроки.
|
|
114
|
-
- **is-boolean** - Проверяет, является ли переданное значение логическим типом (boolean).
|
|
115
|
-
- **is-color** - Проверяет, является ли значение допустимым цветом.
|
|
116
|
-
- **is-list** - Проверяет, является ли значение списком (list) или списком аргументов (arglist).
|
|
117
|
-
- **is-map** - Проверяет, является ли значение ассоциативным массивом (map).
|
|
118
|
-
- **is-number** - Проверяет, является ли значение числом
|
|
119
|
-
- **is-string** - Проверяет, является ли значение строкой (string)
|
|
120
|
-
- **is-type** - Возвращает тип данных переданного значения.
|
|
121
|
-
|
|
122
|
-
> Чтобы получить подробные сведения об API новых функций, посетите веб-сайт по адресу [https://omnisass.sourcecraft.site/sassdocs/](https://omnisass.sourcecraft.site/sassdocs/).
|
package/test2.sh
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
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"
|