@mks2508/better-logger 5.0.1 → 5.0.2
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/dist/Logger.d.ts +976 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/ScopedLogger.d.ts +74 -0
- package/dist/ScopedLogger.d.ts.map +1 -0
- package/dist/chunks/Logger-CKqzXDh3.js +2 -0
- package/dist/chunks/Logger-CKqzXDh3.js.map +1 -0
- package/dist/chunks/Logger-D_vuKP4l.js +4511 -0
- package/dist/chunks/Logger-D_vuKP4l.js.map +1 -0
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
- package/dist/chunks/cli-module-B-njrTWb.js +2 -0
- package/dist/chunks/cli-module-B-njrTWb.js.map +1 -0
- package/dist/chunks/cli-module-Cx7qotPY.js +390 -0
- package/dist/chunks/cli-module-Cx7qotPY.js.map +1 -0
- package/dist/chunks/color-converter-CCSQRztd.js +2 -0
- package/dist/chunks/color-converter-CCSQRztd.js.map +1 -0
- package/dist/chunks/color-converter-_Xdmsy7E.js +462 -0
- package/dist/chunks/color-converter-_Xdmsy7E.js.map +1 -0
- package/dist/chunks/environment-C1xxvc8l.js +1127 -0
- package/dist/chunks/environment-C1xxvc8l.js.map +1 -0
- package/dist/chunks/environment-Cprkw3g9.js +4 -0
- package/dist/chunks/environment-Cprkw3g9.js.map +1 -0
- package/dist/chunks/formatting-DMJxYq9o.js +380 -0
- package/dist/chunks/formatting-DMJxYq9o.js.map +1 -0
- package/dist/chunks/formatting-DpKxCsXq.js +2 -0
- package/dist/chunks/formatting-DpKxCsXq.js.map +1 -0
- package/dist/cli/CommandProcessor.d.ts +100 -0
- package/dist/cli/CommandProcessor.d.ts.map +1 -0
- package/dist/cli/commands/ConfigCommand.d.ts +14 -0
- package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/dist/cli/commands/ExportCommand.d.ts +48 -0
- package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
- package/dist/cli/commands/HistoryCommand.d.ts +47 -0
- package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
- package/dist/cli/commands/StatusCommand.d.ts +30 -0
- package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
- package/dist/cli/commands/ThemeCommand.d.ts +30 -0
- package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
- package/dist/cli/help.d.ts +12 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/{src/cli-module.ts → dist/cli-module.d.ts} +2 -8
- package/dist/cli-module.d.ts.map +1 -0
- package/dist/cli-primitives/box.d.ts +11 -0
- package/dist/cli-primitives/box.d.ts.map +1 -0
- package/dist/cli-primitives/cli-table.d.ts +11 -0
- package/dist/cli-primitives/cli-table.d.ts.map +1 -0
- package/dist/cli-primitives/divider.d.ts +11 -0
- package/dist/cli-primitives/divider.d.ts.map +1 -0
- package/dist/cli-primitives/header.d.ts +12 -0
- package/dist/cli-primitives/header.d.ts.map +1 -0
- package/{src/cli-primitives/index.ts → dist/cli-primitives/index.d.ts} +1 -1
- package/dist/cli-primitives/index.d.ts.map +1 -0
- package/dist/cli-primitives/server-fallback.d.ts +25 -0
- package/dist/cli-primitives/server-fallback.d.ts.map +1 -0
- package/dist/cli-primitives/spinner.d.ts +47 -0
- package/dist/cli-primitives/spinner.d.ts.map +1 -0
- package/dist/cli-primitives/step.d.ts +11 -0
- package/dist/cli-primitives/step.d.ts.map +1 -0
- package/dist/cli.cjs +2 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.js +12 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants.d.ts +235 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/core.cjs +2 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +127 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +291 -0
- package/dist/core.js.map +1 -0
- package/dist/example.d.ts +18 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/exports-module.d.ts +196 -0
- package/dist/exports-module.d.ts.map +1 -0
- package/dist/exports.cjs +2 -0
- package/dist/exports.cjs.map +1 -0
- package/dist/exports.js +238 -0
- package/dist/exports.js.map +1 -0
- package/dist/handlers/AnalyticsLogHandler.d.ts +8 -0
- package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
- package/dist/handlers/ExportLogHandler.d.ts +100 -0
- package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
- package/dist/handlers/FileLogHandler.d.ts +33 -0
- package/dist/handlers/FileLogHandler.d.ts.map +1 -0
- package/dist/handlers/RemoteLogHandler.d.ts +11 -0
- package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
- package/{src/handlers/index.ts → dist/handlers/index.d.ts} +2 -2
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/hooks/HookManager.d.ts +21 -0
- package/dist/hooks/HookManager.d.ts.map +1 -0
- package/{src/hooks/index.ts → dist/hooks/index.d.ts} +1 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +161 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +627 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/serializers/SerializerRegistry.d.ts +16 -0
- package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
- package/{src/serializers/index.ts → dist/serializers/index.d.ts} +1 -0
- package/dist/serializers/index.d.ts.map +1 -0
- package/dist/styling/LogStyleBuilder.d.ts +146 -0
- package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
- package/dist/styling/SemanticStyles.d.ts +178 -0
- package/dist/styling/SemanticStyles.d.ts.map +1 -0
- package/dist/styling/SmartPresets.d.ts +22 -0
- package/dist/styling/SmartPresets.d.ts.map +1 -0
- package/dist/styling/StyleBuilder.d.ts +140 -0
- package/dist/styling/StyleBuilder.d.ts.map +1 -0
- package/dist/styling/StyleCache.d.ts +42 -0
- package/dist/styling/StyleCache.d.ts.map +1 -0
- package/dist/styling/banners.d.ts +42 -0
- package/dist/styling/banners.d.ts.map +1 -0
- package/dist/styling/index.d.ts +10 -0
- package/dist/styling/index.d.ts.map +1 -0
- package/dist/styling/themes.d.ts +7 -0
- package/dist/styling/themes.d.ts.map +1 -0
- package/dist/styling-module.d.ts +178 -0
- package/dist/styling-module.d.ts.map +1 -0
- package/dist/styling.cjs +2 -0
- package/dist/styling.cjs.map +1 -0
- package/dist/styling.js +146 -0
- package/dist/styling.js.map +1 -0
- package/dist/terminal/color-converter.d.ts +73 -0
- package/dist/terminal/color-converter.d.ts.map +1 -0
- package/dist/terminal/formatter.d.ts +20 -0
- package/dist/terminal/formatter.d.ts.map +1 -0
- package/dist/terminal/terminal-renderer.d.ts +77 -0
- package/dist/terminal/terminal-renderer.d.ts.map +1 -0
- package/dist/transports/ConsoleTransport.d.ts +9 -0
- package/dist/transports/ConsoleTransport.d.ts.map +1 -0
- package/dist/transports/FileTransport.d.ts +15 -0
- package/dist/transports/FileTransport.d.ts.map +1 -0
- package/dist/transports/HttpTransport.d.ts +16 -0
- package/dist/transports/HttpTransport.d.ts.map +1 -0
- package/dist/transports/TransportManager.d.ts +14 -0
- package/dist/transports/TransportManager.d.ts.map +1 -0
- package/{src/transports/index.ts → dist/transports/index.d.ts} +1 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/{src/types/core.ts → dist/types/core.d.ts} +25 -62
- package/dist/types/core.d.ts.map +1 -0
- package/{src/types/handlers.ts → dist/types/handlers.d.ts} +5 -15
- package/dist/types/handlers.d.ts.map +1 -0
- package/{src/types/hooks.ts → dist/types/hooks.d.ts} +3 -12
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/{src/types/serializers.ts → dist/types/serializers.d.ts} +1 -6
- package/dist/types/serializers.d.ts.map +1 -0
- package/{src/types/transports.ts → dist/types/transports.d.ts} +2 -7
- package/dist/types/transports.d.ts.map +1 -0
- package/dist/utils/adapter.d.ts +48 -0
- package/dist/utils/adapter.d.ts.map +1 -0
- package/dist/utils/ansi-colors.d.ts +156 -0
- package/dist/utils/ansi-colors.d.ts.map +1 -0
- package/dist/utils/environment-detector.d.ts +45 -0
- package/dist/utils/environment-detector.d.ts.map +1 -0
- package/dist/utils/environment.d.ts +47 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/formatting.d.ts +58 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/opentui-detection.d.ts +34 -0
- package/dist/utils/opentui-detection.d.ts.map +1 -0
- package/dist/utils/output.d.ts +46 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/stackTrace.d.ts +6 -0
- package/dist/utils/stackTrace.d.ts.map +1 -0
- package/dist/utils/timestamps.d.ts +20 -0
- package/dist/utils/timestamps.d.ts.map +1 -0
- package/{src/writers/BufferWriter.ts → dist/writers/BufferWriter.d.ts} +16 -77
- package/dist/writers/BufferWriter.d.ts.map +1 -0
- package/{src/writers/index.ts → dist/writers/index.d.ts} +1 -1
- package/dist/writers/index.d.ts.map +1 -0
- package/package.json +5 -1
- package/.claude/settings.local.json +0 -48
- package/.github/workflows/ci-quality.yml +0 -357
- package/.github/workflows/docs-demo.yml +0 -119
- package/.github/workflows/releases-core.yml +0 -512
- package/.github/workflows/releases-full.yml +0 -582
- package/.github/workflows-backup/ci.yml +0 -221
- package/.github/workflows-backup/nightly.yml +0 -196
- package/.github/workflows-backup/release-optimized.yml +0 -373
- package/.github/workflows-backup/release.yml +0 -269
- package/.release-notes-0.2.0.md +0 -129
- package/.yamllint +0 -28
- package/CHANGELOG.json +0 -1120
- package/CHANGELOG.md +0 -209
- package/CLAUDE.md +0 -217
- package/demo.html +0 -847
- package/docs/API.md +0 -918
- package/docs/CORE.md +0 -264
- package/docs/DEVELOPMENT.md +0 -731
- package/docs/EXPORTS.md +0 -467
- package/docs/PACKAGES.md +0 -244
- package/docs/STYLING.md +0 -405
- package/docs/_config.yml +0 -36
- package/docs/index.md +0 -179
- package/examples/README.md +0 -208
- package/examples/basic-logging.js +0 -75
- package/examples/data-export.js +0 -234
- package/examples/package.json +0 -16
- package/examples/performance-timing.js +0 -170
- package/examples/simplified-api.js +0 -124
- package/examples/styling-themes.js +0 -207
- package/index.html +0 -358
- package/packages/core/package.json +0 -57
- package/packages/exports/package.json +0 -41
- package/packages/nodejs-opentui/README.md +0 -232
- package/packages/nodejs-opentui/package.json +0 -72
- package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
- package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
- package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
- package/packages/nodejs-opentui/src/index.ts +0 -133
- package/packages/nodejs-opentui/src/types.ts +0 -158
- package/packages/nodejs-opentui/tsconfig.json +0 -20
- package/packages/styling/package.json +0 -41
- package/playground/demo-all.ts +0 -95
- package/playground/demo-box.ts +0 -85
- package/playground/demo-levels.ts +0 -56
- package/playground/demo-real-world.ts +0 -98
- package/playground/demo-spinner.ts +0 -77
- package/playground/demo-steps.ts +0 -72
- package/playground/demo-table.ts +0 -83
- package/project-utils/README.md +0 -172
- package/project-utils/auto-release-gemini.ts +0 -1193
- package/project-utils/auto-release-ui.ts +0 -1329
- package/project-utils/commit-generator.ts +0 -1385
- package/project-utils/commit-ui.ts +0 -264
- package/project-utils/git-utils.ts +0 -199
- package/project-utils/github-release-manager.ts +0 -466
- package/project-utils/project-config.ts +0 -260
- package/project-utils/prompt-templates.js +0 -345
- package/project-utils/prompt-templates.ts +0 -422
- package/project-utils/version-manager.ts +0 -1078
- package/src/Logger.ts +0 -1858
- package/src/ScopedLogger.ts +0 -256
- package/src/cli/CommandProcessor.ts +0 -248
- package/src/cli/commands/ConfigCommand.ts +0 -93
- package/src/cli/commands/ExportCommand.ts +0 -276
- package/src/cli/commands/HistoryCommand.ts +0 -117
- package/src/cli/commands/StatusCommand.ts +0 -112
- package/src/cli/commands/ThemeCommand.ts +0 -88
- package/src/cli/help.ts +0 -127
- package/src/cli/index.ts +0 -71
- package/src/cli-primitives/box.ts +0 -86
- package/src/cli-primitives/cli-table.ts +0 -62
- package/src/cli-primitives/divider.ts +0 -17
- package/src/cli-primitives/header.ts +0 -18
- package/src/cli-primitives/server-fallback.ts +0 -54
- package/src/cli-primitives/spinner.ts +0 -133
- package/src/cli-primitives/step.ts +0 -22
- package/src/constants.ts +0 -313
- package/src/core.ts +0 -397
- package/src/example.ts +0 -210
- package/src/exports-module.ts +0 -311
- package/src/handlers/AnalyticsLogHandler.ts +0 -22
- package/src/handlers/ExportLogHandler.ts +0 -610
- package/src/handlers/FileLogHandler.ts +0 -169
- package/src/handlers/RemoteLogHandler.ts +0 -42
- package/src/hooks/HookManager.ts +0 -177
- package/src/index.ts +0 -395
- package/src/main.ts +0 -196
- package/src/serializers/SerializerRegistry.ts +0 -173
- package/src/style.css +0 -96
- package/src/styling/LogStyleBuilder.ts +0 -355
- package/src/styling/SemanticStyles.ts +0 -380
- package/src/styling/SmartPresets.ts +0 -288
- package/src/styling/StyleBuilder.ts +0 -319
- package/src/styling/StyleCache.ts +0 -131
- package/src/styling/banners.ts +0 -168
- package/src/styling/index.ts +0 -27
- package/src/styling/themes.ts +0 -235
- package/src/styling-module.ts +0 -244
- package/src/terminal/color-converter.ts +0 -315
- package/src/terminal/formatter.ts +0 -242
- package/src/terminal/terminal-renderer.ts +0 -342
- package/src/transports/ConsoleTransport.ts +0 -28
- package/src/transports/FileTransport.ts +0 -53
- package/src/transports/HttpTransport.ts +0 -56
- package/src/transports/TransportManager.ts +0 -130
- package/src/types/index.ts +0 -83
- package/src/typescript.svg +0 -1
- package/src/utils/adapter.ts +0 -291
- package/src/utils/ansi-colors.ts +0 -333
- package/src/utils/environment-detector.ts +0 -170
- package/src/utils/environment.ts +0 -94
- package/src/utils/formatting.ts +0 -332
- package/src/utils/index.ts +0 -33
- package/src/utils/opentui-detection.ts +0 -138
- package/src/utils/output.ts +0 -227
- package/src/utils/stackTrace.ts +0 -144
- package/src/utils/timestamps.ts +0 -80
- package/src/vite-env.d.ts +0 -1
- package/test-core-browser.html +0 -237
- package/test-core-node.js +0 -63
- package/tests/test-conflict-resolution.ts +0 -391
- package/tests/validate-workflows.sh +0 -131
- package/tests/yaml-autofix.sh +0 -146
- package/tsconfig.json +0 -50
- package/vite.config.ts +0 -256
- /package/{public → dist}/vite.svg +0 -0
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
name: Optimized Release Pipeline
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
inputs:
|
|
6
|
-
release_type:
|
|
7
|
-
description: 'Tipo de release'
|
|
8
|
-
required: true
|
|
9
|
-
default: 'auto'
|
|
10
|
-
type: choice
|
|
11
|
-
options:
|
|
12
|
-
- auto
|
|
13
|
-
- patch
|
|
14
|
-
- minor
|
|
15
|
-
- major
|
|
16
|
-
- alpha
|
|
17
|
-
- beta
|
|
18
|
-
- stable
|
|
19
|
-
use_gemini:
|
|
20
|
-
description: 'Usar Gemini AI para versionado'
|
|
21
|
-
required: false
|
|
22
|
-
default: true
|
|
23
|
-
type: boolean
|
|
24
|
-
skip_tests:
|
|
25
|
-
description: 'Saltar tests (no recomendado)'
|
|
26
|
-
required: false
|
|
27
|
-
default: false
|
|
28
|
-
type: boolean
|
|
29
|
-
target_registry:
|
|
30
|
-
description: 'Registro objetivo'
|
|
31
|
-
required: false
|
|
32
|
-
default: 'both'
|
|
33
|
-
type: choice
|
|
34
|
-
options:
|
|
35
|
-
- npm
|
|
36
|
-
- github
|
|
37
|
-
- both
|
|
38
|
-
|
|
39
|
-
env:
|
|
40
|
-
NODE_VERSION: '20'
|
|
41
|
-
|
|
42
|
-
jobs:
|
|
43
|
-
# ===== VALIDATION & VERSIONING =====
|
|
44
|
-
prepare-release:
|
|
45
|
-
runs-on: ubuntu-latest
|
|
46
|
-
|
|
47
|
-
outputs:
|
|
48
|
-
version: ${{ steps.version.outputs.version }}
|
|
49
|
-
tag: ${{ steps.version.outputs.tag }}
|
|
50
|
-
is_prerelease: ${{ steps.version.outputs.is_prerelease }}
|
|
51
|
-
changelog: ${{ steps.version.outputs.changelog }}
|
|
52
|
-
release_channel: ${{ steps.version.outputs.release_channel }}
|
|
53
|
-
|
|
54
|
-
steps:
|
|
55
|
-
- name: 📥 Checkout code
|
|
56
|
-
uses: actions/checkout@v4
|
|
57
|
-
with:
|
|
58
|
-
fetch-depth: 0
|
|
59
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
60
|
-
|
|
61
|
-
- name: 📦 Setup Node.js
|
|
62
|
-
uses: actions/setup-node@v4
|
|
63
|
-
with:
|
|
64
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
65
|
-
cache: 'npm'
|
|
66
|
-
|
|
67
|
-
- name: 🔧 Install dependencies
|
|
68
|
-
run: npm ci
|
|
69
|
-
|
|
70
|
-
- name: 🧪 Run tests (unless skipped)
|
|
71
|
-
if: ${{ !inputs.skip_tests }}
|
|
72
|
-
run: |
|
|
73
|
-
npm run type-check
|
|
74
|
-
npm run lint
|
|
75
|
-
npm run test
|
|
76
|
-
npm run build
|
|
77
|
-
|
|
78
|
-
- name: 🏷️ Generate version with project-utils
|
|
79
|
-
id: version
|
|
80
|
-
run: |
|
|
81
|
-
if [ "${{ inputs.use_gemini }}" == "true" ] && [ "${{ inputs.release_type }}" == "auto" ]; then
|
|
82
|
-
# Usar auto-release con Gemini para detección inteligente
|
|
83
|
-
echo "🤖 Usando Gemini AI para versionado automático..."
|
|
84
|
-
npm run version:auto
|
|
85
|
-
elif [ "${{ inputs.release_type }}" == "auto" ]; then
|
|
86
|
-
# Auto-detección sin Gemini
|
|
87
|
-
echo "🔍 Auto-detectando tipo de versión..."
|
|
88
|
-
npm run version:auto
|
|
89
|
-
else
|
|
90
|
-
# Tipo específico forzado
|
|
91
|
-
echo "🎯 Usando tipo de versión forzado: ${{ inputs.release_type }}"
|
|
92
|
-
case "${{ inputs.release_type }}" in
|
|
93
|
-
"patch") npm run version:patch ;;
|
|
94
|
-
"minor") npm run version:minor ;;
|
|
95
|
-
"major") npm run version:major ;;
|
|
96
|
-
"alpha") npm run version:alpha ;;
|
|
97
|
-
"beta") npm run version:beta ;;
|
|
98
|
-
"stable") npm run version:stable ;;
|
|
99
|
-
esac
|
|
100
|
-
fi
|
|
101
|
-
|
|
102
|
-
# Obtener nueva versión del package.json
|
|
103
|
-
NEW_VERSION=$(node -p "require('./package.json').version")
|
|
104
|
-
echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
105
|
-
echo "tag=v$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
106
|
-
|
|
107
|
-
# Determinar si es prerelease y canal
|
|
108
|
-
if [[ "$NEW_VERSION" == *"alpha"* ]]; then
|
|
109
|
-
echo "is_prerelease=true" >> $GITHUB_OUTPUT
|
|
110
|
-
echo "release_channel=alpha" >> $GITHUB_OUTPUT
|
|
111
|
-
elif [[ "$NEW_VERSION" == *"beta"* ]]; then
|
|
112
|
-
echo "is_prerelease=true" >> $GITHUB_OUTPUT
|
|
113
|
-
echo "release_channel=beta" >> $GITHUB_OUTPUT
|
|
114
|
-
else
|
|
115
|
-
echo "is_prerelease=false" >> $GITHUB_OUTPUT
|
|
116
|
-
echo "release_channel=latest" >> $GITHUB_OUTPUT
|
|
117
|
-
fi
|
|
118
|
-
|
|
119
|
-
echo "📦 Nueva versión: $NEW_VERSION"
|
|
120
|
-
|
|
121
|
-
- name: 📝 Generate changelog
|
|
122
|
-
id: changelog
|
|
123
|
-
run: |
|
|
124
|
-
# Usar project-utils para generar changelog si existe
|
|
125
|
-
if [ -f "project-utils/.temp/commit-proposal"*".md" ]; then
|
|
126
|
-
echo "📋 Usando changelog de project-utils..."
|
|
127
|
-
CHANGELOG=$(cat project-utils/.temp/commit-proposal*.md | head -n 20)
|
|
128
|
-
else
|
|
129
|
-
# Fallback a changelog tradicional
|
|
130
|
-
LAST_TAG=$(git describe --tags --abbrev=0 HEAD~1 2>/dev/null || echo "")
|
|
131
|
-
if [ -n "$LAST_TAG" ]; then
|
|
132
|
-
echo "📋 Generando changelog desde $LAST_TAG..."
|
|
133
|
-
CHANGELOG=$(git log $LAST_TAG..HEAD --pretty=format:"- %s (%h)")
|
|
134
|
-
else
|
|
135
|
-
echo "📋 Changelog de release inicial..."
|
|
136
|
-
CHANGELOG="- Initial release with complete Better Logger functionality"
|
|
137
|
-
fi
|
|
138
|
-
fi
|
|
139
|
-
|
|
140
|
-
# Guardar changelog en archivo para uso posterior
|
|
141
|
-
echo "$CHANGELOG" > RELEASE_CHANGELOG.md
|
|
142
|
-
echo "changelog=$(echo "$CHANGELOG" | base64 -w 0)" >> $GITHUB_OUTPUT
|
|
143
|
-
|
|
144
|
-
- name: 🏗️ Build optimized
|
|
145
|
-
run: |
|
|
146
|
-
npm run build
|
|
147
|
-
|
|
148
|
-
# Verificar que todos los archivos esperados existen
|
|
149
|
-
echo "📊 Verificando build outputs..."
|
|
150
|
-
ls -la dist/
|
|
151
|
-
|
|
152
|
-
# Guardar información de bundle sizes
|
|
153
|
-
echo "## 📦 Bundle Sizes" > BUNDLE_SIZES.md
|
|
154
|
-
echo "\`\`\`" >> BUNDLE_SIZES.md
|
|
155
|
-
ls -lh dist/*.js dist/*.cjs | grep -E '\.(js|cjs)$' >> BUNDLE_SIZES.md
|
|
156
|
-
echo "\`\`\`" >> BUNDLE_SIZES.md
|
|
157
|
-
|
|
158
|
-
- name: 📤 Upload build artifacts
|
|
159
|
-
uses: actions/upload-artifact@v4
|
|
160
|
-
with:
|
|
161
|
-
name: release-build-${{ steps.version.outputs.version }}
|
|
162
|
-
path: |
|
|
163
|
-
dist/
|
|
164
|
-
RELEASE_CHANGELOG.md
|
|
165
|
-
BUNDLE_SIZES.md
|
|
166
|
-
retention-days: 30
|
|
167
|
-
|
|
168
|
-
# ===== SMART PUBLISHING =====
|
|
169
|
-
publish-packages:
|
|
170
|
-
runs-on: ubuntu-latest
|
|
171
|
-
needs: prepare-release
|
|
172
|
-
if: ${{ inputs.target_registry == 'npm' || inputs.target_registry == 'both' }}
|
|
173
|
-
|
|
174
|
-
steps:
|
|
175
|
-
- name: 📥 Checkout code
|
|
176
|
-
uses: actions/checkout@v4
|
|
177
|
-
|
|
178
|
-
- name: 📦 Setup Node.js for NPM
|
|
179
|
-
uses: actions/setup-node@v4
|
|
180
|
-
with:
|
|
181
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
182
|
-
cache: 'npm'
|
|
183
|
-
registry-url: 'https://registry.npmjs.org'
|
|
184
|
-
|
|
185
|
-
- name: 📥 Download build artifacts
|
|
186
|
-
uses: actions/download-artifact@v4
|
|
187
|
-
with:
|
|
188
|
-
name: release-build-${{ needs.prepare-release.outputs.version }}
|
|
189
|
-
|
|
190
|
-
- name: 🔄 Update package version
|
|
191
|
-
run: npm version ${{ needs.prepare-release.outputs.version }} --no-git-tag-version
|
|
192
|
-
|
|
193
|
-
- name: 🚀 Publish to NPM
|
|
194
|
-
run: |
|
|
195
|
-
if [ "${{ needs.prepare-release.outputs.is_prerelease }}" == "true" ]; then
|
|
196
|
-
echo "📦 Publishing prerelease to NPM with tag: ${{ needs.prepare-release.outputs.release_channel }}"
|
|
197
|
-
npm publish --access public --tag ${{ needs.prepare-release.outputs.release_channel }}
|
|
198
|
-
else
|
|
199
|
-
echo "📦 Publishing stable release to NPM"
|
|
200
|
-
npm publish --access public
|
|
201
|
-
fi
|
|
202
|
-
env:
|
|
203
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
204
|
-
|
|
205
|
-
publish-github:
|
|
206
|
-
runs-on: ubuntu-latest
|
|
207
|
-
needs: prepare-release
|
|
208
|
-
if: ${{ inputs.target_registry == 'github' || inputs.target_registry == 'both' }}
|
|
209
|
-
|
|
210
|
-
steps:
|
|
211
|
-
- name: 📥 Checkout code
|
|
212
|
-
uses: actions/checkout@v4
|
|
213
|
-
|
|
214
|
-
- name: 📦 Setup Node.js for GitHub Packages
|
|
215
|
-
uses: actions/setup-node@v4
|
|
216
|
-
with:
|
|
217
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
218
|
-
cache: 'npm'
|
|
219
|
-
registry-url: 'https://npm.pkg.github.com'
|
|
220
|
-
|
|
221
|
-
- name: 📥 Download build artifacts
|
|
222
|
-
uses: actions/download-artifact@v4
|
|
223
|
-
with:
|
|
224
|
-
name: release-build-${{ needs.prepare-release.outputs.version }}
|
|
225
|
-
|
|
226
|
-
- name: 🔄 Update package version
|
|
227
|
-
run: npm version ${{ needs.prepare-release.outputs.version }} --no-git-tag-version
|
|
228
|
-
|
|
229
|
-
- name: 📦 Publish to GitHub Packages
|
|
230
|
-
run: |
|
|
231
|
-
if [ "${{ needs.prepare-release.outputs.is_prerelease }}" == "true" ]; then
|
|
232
|
-
echo "📦 Publishing prerelease to GitHub Packages with tag: ${{ needs.prepare-release.outputs.release_channel }}"
|
|
233
|
-
npm publish --access public --tag ${{ needs.prepare-release.outputs.release_channel }}
|
|
234
|
-
else
|
|
235
|
-
echo "📦 Publishing stable release to GitHub Packages"
|
|
236
|
-
npm publish --access public
|
|
237
|
-
fi
|
|
238
|
-
env:
|
|
239
|
-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
240
|
-
|
|
241
|
-
# ===== GITHUB RELEASE =====
|
|
242
|
-
create-github-release:
|
|
243
|
-
runs-on: ubuntu-latest
|
|
244
|
-
needs: [prepare-release, publish-packages, publish-github]
|
|
245
|
-
if: always() && needs.prepare-release.result == 'success'
|
|
246
|
-
|
|
247
|
-
permissions:
|
|
248
|
-
contents: write
|
|
249
|
-
id-token: write
|
|
250
|
-
|
|
251
|
-
steps:
|
|
252
|
-
- name: 📥 Checkout code
|
|
253
|
-
uses: actions/checkout@v4
|
|
254
|
-
with:
|
|
255
|
-
fetch-depth: 0
|
|
256
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
257
|
-
|
|
258
|
-
- name: 📥 Download build artifacts
|
|
259
|
-
uses: actions/download-artifact@v4
|
|
260
|
-
with:
|
|
261
|
-
name: release-build-${{ needs.prepare-release.outputs.version }}
|
|
262
|
-
|
|
263
|
-
- name: 📦 Create release archives
|
|
264
|
-
run: |
|
|
265
|
-
VERSION=${{ needs.prepare-release.outputs.version }}
|
|
266
|
-
|
|
267
|
-
# Crear archivos de distribución
|
|
268
|
-
tar -czf better-logger-${VERSION}.tar.gz dist/ docs/ README.md package.json
|
|
269
|
-
zip -r better-logger-${VERSION}.zip dist/ docs/ README.md package.json
|
|
270
|
-
|
|
271
|
-
# Crear paquetes modulares
|
|
272
|
-
cd dist
|
|
273
|
-
tar -czf ../better-logger-core-${VERSION}.tar.gz core.* types/core.d.ts 2>/dev/null || true
|
|
274
|
-
tar -czf ../better-logger-styling-${VERSION}.tar.gz styling.* types/styling.d.ts 2>/dev/null || true
|
|
275
|
-
tar -czf ../better-logger-exports-${VERSION}.tar.gz exports.* types/exports.d.ts 2>/dev/null || true
|
|
276
|
-
cd ..
|
|
277
|
-
|
|
278
|
-
- name: 🏷️ Commit and tag
|
|
279
|
-
run: |
|
|
280
|
-
git config user.name "github-actions[bot]"
|
|
281
|
-
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
282
|
-
git add package.json
|
|
283
|
-
git commit -m "chore: release ${{ needs.prepare-release.outputs.version }}" || true
|
|
284
|
-
git tag -a "${{ needs.prepare-release.outputs.tag }}" -m "Release ${{ needs.prepare-release.outputs.version }}"
|
|
285
|
-
git push origin main --tags
|
|
286
|
-
|
|
287
|
-
- name: 📝 Prepare release notes
|
|
288
|
-
run: |
|
|
289
|
-
VERSION=${{ needs.prepare-release.outputs.version }}
|
|
290
|
-
CHANGELOG=$(echo "${{ needs.prepare-release.outputs.changelog }}" | base64 -d)
|
|
291
|
-
|
|
292
|
-
echo "# Better Logger ${VERSION}" > FINAL_RELEASE_NOTES.md
|
|
293
|
-
echo "" >> FINAL_RELEASE_NOTES.md
|
|
294
|
-
|
|
295
|
-
if [ "${{ needs.prepare-release.outputs.is_prerelease }}" == "true" ]; then
|
|
296
|
-
echo "⚠️ **This is a pre-release version** - Not recommended for production use." >> FINAL_RELEASE_NOTES.md
|
|
297
|
-
echo "" >> FINAL_RELEASE_NOTES.md
|
|
298
|
-
fi
|
|
299
|
-
|
|
300
|
-
echo "## 🔄 Changes" >> FINAL_RELEASE_NOTES.md
|
|
301
|
-
echo "$CHANGELOG" >> FINAL_RELEASE_NOTES.md
|
|
302
|
-
echo "" >> FINAL_RELEASE_NOTES.md
|
|
303
|
-
|
|
304
|
-
cat BUNDLE_SIZES.md >> FINAL_RELEASE_NOTES.md
|
|
305
|
-
echo "" >> FINAL_RELEASE_NOTES.md
|
|
306
|
-
|
|
307
|
-
echo "## 📦 Installation" >> FINAL_RELEASE_NOTES.md
|
|
308
|
-
if [ "${{ needs.prepare-release.outputs.is_prerelease }}" == "true" ]; then
|
|
309
|
-
echo "\`\`\`bash" >> FINAL_RELEASE_NOTES.md
|
|
310
|
-
echo "npm install @mks2508/better-logger@${{ needs.prepare-release.outputs.release_channel }}" >> FINAL_RELEASE_NOTES.md
|
|
311
|
-
echo "\`\`\`" >> FINAL_RELEASE_NOTES.md
|
|
312
|
-
else
|
|
313
|
-
echo "\`\`\`bash" >> FINAL_RELEASE_NOTES.md
|
|
314
|
-
echo "npm install @mks2508/better-logger" >> FINAL_RELEASE_NOTES.md
|
|
315
|
-
echo "\`\`\`" >> FINAL_RELEASE_NOTES.md
|
|
316
|
-
fi
|
|
317
|
-
|
|
318
|
-
- name: 🚀 Create GitHub Release
|
|
319
|
-
uses: softprops/action-gh-release@v1
|
|
320
|
-
with:
|
|
321
|
-
tag_name: ${{ needs.prepare-release.outputs.tag }}
|
|
322
|
-
name: Better Logger ${{ needs.prepare-release.outputs.version }}
|
|
323
|
-
body_path: FINAL_RELEASE_NOTES.md
|
|
324
|
-
draft: false
|
|
325
|
-
prerelease: ${{ needs.prepare-release.outputs.is_prerelease == 'true' }}
|
|
326
|
-
files: |
|
|
327
|
-
better-logger-${{ needs.prepare-release.outputs.version }}.tar.gz
|
|
328
|
-
better-logger-${{ needs.prepare-release.outputs.version }}.zip
|
|
329
|
-
better-logger-core-${{ needs.prepare-release.outputs.version }}.tar.gz
|
|
330
|
-
better-logger-styling-${{ needs.prepare-release.outputs.version }}.tar.gz
|
|
331
|
-
better-logger-exports-${{ needs.prepare-release.outputs.version }}.tar.gz
|
|
332
|
-
env:
|
|
333
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
334
|
-
|
|
335
|
-
# ===== POST-RELEASE SUMMARY =====
|
|
336
|
-
release-summary:
|
|
337
|
-
runs-on: ubuntu-latest
|
|
338
|
-
needs: [prepare-release, publish-packages, publish-github, create-github-release]
|
|
339
|
-
if: always() && needs.prepare-release.result == 'success'
|
|
340
|
-
|
|
341
|
-
steps:
|
|
342
|
-
- name: 📊 Release Summary
|
|
343
|
-
run: |
|
|
344
|
-
VERSION="${{ needs.prepare-release.outputs.version }}"
|
|
345
|
-
TAG="${{ needs.prepare-release.outputs.tag }}"
|
|
346
|
-
CHANNEL="${{ needs.prepare-release.outputs.release_channel }}"
|
|
347
|
-
IS_PRERELEASE="${{ needs.prepare-release.outputs.is_prerelease }}"
|
|
348
|
-
|
|
349
|
-
echo "## 🎉 Release Complete!" >> $GITHUB_STEP_SUMMARY
|
|
350
|
-
echo "- **Version**: $VERSION" >> $GITHUB_STEP_SUMMARY
|
|
351
|
-
echo "- **Channel**: $CHANNEL" >> $GITHUB_STEP_SUMMARY
|
|
352
|
-
echo "- **Prerelease**: $IS_PRERELEASE" >> $GITHUB_STEP_SUMMARY
|
|
353
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
354
|
-
|
|
355
|
-
echo "### 🔗 Links" >> $GITHUB_STEP_SUMMARY
|
|
356
|
-
if [ "${{ inputs.target_registry == 'npm' || inputs.target_registry == 'both' }}" ]; then
|
|
357
|
-
echo "- **NPM**: https://www.npmjs.com/package/@mks2508/better-logger" >> $GITHUB_STEP_SUMMARY
|
|
358
|
-
fi
|
|
359
|
-
if [ "${{ inputs.target_registry == 'github' || inputs.target_registry == 'both' }}" ]; then
|
|
360
|
-
echo "- **GitHub Packages**: https://github.com/MKS2508/advanced-logger/packages/" >> $GITHUB_STEP_SUMMARY
|
|
361
|
-
fi
|
|
362
|
-
echo "- **GitHub Release**: https://github.com/MKS2508/advanced-logger/releases/tag/$TAG" >> $GITHUB_STEP_SUMMARY
|
|
363
|
-
echo "- **Documentation**: https://mks2508.github.io/advanced-logger/" >> $GITHUB_STEP_SUMMARY
|
|
364
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
365
|
-
|
|
366
|
-
echo "### 📦 Installation" >> $GITHUB_STEP_SUMMARY
|
|
367
|
-
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
|
|
368
|
-
if [ "$IS_PRERELEASE" == "true" ]; then
|
|
369
|
-
echo "npm install @mks2508/better-logger@$CHANNEL" >> $GITHUB_STEP_SUMMARY
|
|
370
|
-
else
|
|
371
|
-
echo "npm install @mks2508/better-logger" >> $GITHUB_STEP_SUMMARY
|
|
372
|
-
fi
|
|
373
|
-
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
inputs:
|
|
6
|
-
release_type:
|
|
7
|
-
description: 'Release type'
|
|
8
|
-
required: true
|
|
9
|
-
default: 'patch'
|
|
10
|
-
type: choice
|
|
11
|
-
options:
|
|
12
|
-
- patch
|
|
13
|
-
- minor
|
|
14
|
-
- major
|
|
15
|
-
- alpha
|
|
16
|
-
- beta
|
|
17
|
-
skip_tests:
|
|
18
|
-
description: 'Skip tests (not recommended)'
|
|
19
|
-
required: false
|
|
20
|
-
default: false
|
|
21
|
-
type: boolean
|
|
22
|
-
|
|
23
|
-
env:
|
|
24
|
-
NODE_VERSION: '20'
|
|
25
|
-
REGISTRY_URL: 'https://registry.npmjs.org'
|
|
26
|
-
|
|
27
|
-
jobs:
|
|
28
|
-
# ===== PRE-RELEASE VALIDATION =====
|
|
29
|
-
pre-release:
|
|
30
|
-
runs-on: ubuntu-latest
|
|
31
|
-
|
|
32
|
-
outputs:
|
|
33
|
-
version: ${{ steps.version.outputs.version }}
|
|
34
|
-
tag: ${{ steps.version.outputs.tag }}
|
|
35
|
-
|
|
36
|
-
steps:
|
|
37
|
-
- name: 📥 Checkout code
|
|
38
|
-
uses: actions/checkout@v4
|
|
39
|
-
with:
|
|
40
|
-
fetch-depth: 0
|
|
41
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
42
|
-
|
|
43
|
-
- name: 📦 Setup Node.js
|
|
44
|
-
uses: actions/setup-node@v4
|
|
45
|
-
with:
|
|
46
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
47
|
-
cache: 'npm'
|
|
48
|
-
registry-url: ${{ env.REGISTRY_URL }}
|
|
49
|
-
|
|
50
|
-
- name: 🔧 Install dependencies
|
|
51
|
-
run: npm ci
|
|
52
|
-
|
|
53
|
-
- name: 🧪 Run tests (unless skipped)
|
|
54
|
-
if: ${{ !inputs.skip_tests }}
|
|
55
|
-
run: |
|
|
56
|
-
npm run type-check
|
|
57
|
-
npm run lint
|
|
58
|
-
npm run test
|
|
59
|
-
npm run build
|
|
60
|
-
|
|
61
|
-
- name: 🏷️ Determine version
|
|
62
|
-
id: version
|
|
63
|
-
run: |
|
|
64
|
-
case "${{ inputs.release_type }}" in
|
|
65
|
-
"patch")
|
|
66
|
-
NEW_VERSION=$(npm version patch --no-git-tag-version)
|
|
67
|
-
;;
|
|
68
|
-
"minor")
|
|
69
|
-
NEW_VERSION=$(npm version minor --no-git-tag-version)
|
|
70
|
-
;;
|
|
71
|
-
"major")
|
|
72
|
-
NEW_VERSION=$(npm version major --no-git-tag-version)
|
|
73
|
-
;;
|
|
74
|
-
"alpha")
|
|
75
|
-
NEW_VERSION=$(npm version prerelease --preid=alpha --no-git-tag-version)
|
|
76
|
-
;;
|
|
77
|
-
"beta")
|
|
78
|
-
NEW_VERSION=$(npm version prerelease --preid=beta --no-git-tag-version)
|
|
79
|
-
;;
|
|
80
|
-
esac
|
|
81
|
-
|
|
82
|
-
echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
83
|
-
echo "tag=v$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
84
|
-
echo "📦 New version: $NEW_VERSION"
|
|
85
|
-
|
|
86
|
-
- name: 🏗️ Build for release
|
|
87
|
-
run: npm run build
|
|
88
|
-
|
|
89
|
-
- name: 📤 Upload build artifacts
|
|
90
|
-
uses: actions/upload-artifact@v4
|
|
91
|
-
with:
|
|
92
|
-
name: release-dist
|
|
93
|
-
path: dist/
|
|
94
|
-
retention-days: 7
|
|
95
|
-
|
|
96
|
-
# ===== CREATE RELEASE =====
|
|
97
|
-
create-release:
|
|
98
|
-
runs-on: ubuntu-latest
|
|
99
|
-
needs: pre-release
|
|
100
|
-
permissions:
|
|
101
|
-
contents: write
|
|
102
|
-
packages: write
|
|
103
|
-
id-token: write
|
|
104
|
-
|
|
105
|
-
steps:
|
|
106
|
-
- name: 📥 Checkout code
|
|
107
|
-
uses: actions/checkout@v4
|
|
108
|
-
with:
|
|
109
|
-
fetch-depth: 0
|
|
110
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
111
|
-
|
|
112
|
-
- name: 📦 Setup Node.js
|
|
113
|
-
uses: actions/setup-node@v4
|
|
114
|
-
with:
|
|
115
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
116
|
-
cache: 'npm'
|
|
117
|
-
registry-url: ${{ env.REGISTRY_URL }}
|
|
118
|
-
|
|
119
|
-
- name: 📥 Download build artifacts
|
|
120
|
-
uses: actions/download-artifact@v4
|
|
121
|
-
with:
|
|
122
|
-
name: release-dist
|
|
123
|
-
path: dist/
|
|
124
|
-
|
|
125
|
-
- name: 🔄 Update package version
|
|
126
|
-
run: npm version ${{ needs.pre-release.outputs.version }} --no-git-tag-version
|
|
127
|
-
|
|
128
|
-
- name: 📦 Create release archives
|
|
129
|
-
run: |
|
|
130
|
-
# Create distribution archives
|
|
131
|
-
tar -czf better-logger-${{ needs.pre-release.outputs.version }}.tar.gz dist/ docs/ README.md package.json
|
|
132
|
-
zip -r better-logger-${{ needs.pre-release.outputs.version }}.zip dist/ docs/ README.md package.json
|
|
133
|
-
|
|
134
|
-
# Create individual module packages
|
|
135
|
-
cd dist
|
|
136
|
-
tar -czf ../better-logger-core-${{ needs.pre-release.outputs.version }}.tar.gz core.js core.cjs types/core.d.ts
|
|
137
|
-
tar -czf ../better-logger-styling-${{ needs.pre-release.outputs.version }}.tar.gz styling.js styling.cjs types/styling.d.ts
|
|
138
|
-
tar -czf ../better-logger-exports-${{ needs.pre-release.outputs.version }}.tar.gz exports.js exports.cjs types/exports.d.ts
|
|
139
|
-
cd ..
|
|
140
|
-
|
|
141
|
-
- name: 📝 Generate changelog
|
|
142
|
-
id: changelog
|
|
143
|
-
run: |
|
|
144
|
-
# Get commits since last tag
|
|
145
|
-
LAST_TAG=$(git describe --tags --abbrev=0 HEAD~1 2>/dev/null || echo "")
|
|
146
|
-
if [ -n "$LAST_TAG" ]; then
|
|
147
|
-
echo "## Changes since $LAST_TAG" > RELEASE_NOTES.md
|
|
148
|
-
git log $LAST_TAG..HEAD --pretty=format:"- %s (%h)" >> RELEASE_NOTES.md
|
|
149
|
-
else
|
|
150
|
-
echo "## Initial Release" > RELEASE_NOTES.md
|
|
151
|
-
echo "- Complete Better Logger implementation with all features" >> RELEASE_NOTES.md
|
|
152
|
-
fi
|
|
153
|
-
|
|
154
|
-
# Add bundle size info
|
|
155
|
-
echo "" >> RELEASE_NOTES.md
|
|
156
|
-
echo "## 📦 Bundle Sizes" >> RELEASE_NOTES.md
|
|
157
|
-
echo "\`\`\`" >> RELEASE_NOTES.md
|
|
158
|
-
ls -lh dist/*.js dist/*.cjs | grep -E '\.(js|cjs)$' >> RELEASE_NOTES.md
|
|
159
|
-
echo "\`\`\`" >> RELEASE_NOTES.md
|
|
160
|
-
|
|
161
|
-
- name: 🏷️ Create and push tag
|
|
162
|
-
run: |
|
|
163
|
-
git config user.name "github-actions[bot]"
|
|
164
|
-
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
165
|
-
git add package.json
|
|
166
|
-
git commit -m "chore: release ${{ needs.pre-release.outputs.version }}"
|
|
167
|
-
git tag -a "${{ needs.pre-release.outputs.tag }}" -m "Release ${{ needs.pre-release.outputs.version }}"
|
|
168
|
-
git push origin main --tags
|
|
169
|
-
|
|
170
|
-
- name: 🚀 Publish to NPM Registry
|
|
171
|
-
run: |
|
|
172
|
-
if [[ "${{ inputs.release_type }}" == "alpha" || "${{ inputs.release_type }}" == "beta" ]]; then
|
|
173
|
-
npm run ci:publish -- --tag ${{ inputs.release_type }}
|
|
174
|
-
else
|
|
175
|
-
npm run ci:publish
|
|
176
|
-
fi
|
|
177
|
-
env:
|
|
178
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
179
|
-
|
|
180
|
-
- name: 📦 Setup GitHub Packages Registry
|
|
181
|
-
run: |
|
|
182
|
-
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
|
|
183
|
-
echo "@mks2508:registry=https://npm.pkg.github.com" >> ~/.npmrc
|
|
184
|
-
|
|
185
|
-
- name: 📦 Publish to GitHub Packages
|
|
186
|
-
run: |
|
|
187
|
-
if [[ "${{ inputs.release_type }}" == "alpha" || "${{ inputs.release_type }}" == "beta" ]]; then
|
|
188
|
-
npm publish --registry=https://npm.pkg.github.com --access=public --tag ${{ inputs.release_type }} --ignore-scripts
|
|
189
|
-
else
|
|
190
|
-
npm publish --registry=https://npm.pkg.github.com --access=public --ignore-scripts
|
|
191
|
-
fi
|
|
192
|
-
|
|
193
|
-
- name: 🏷️ Create GitHub Release
|
|
194
|
-
uses: softprops/action-gh-release@v1
|
|
195
|
-
with:
|
|
196
|
-
tag_name: ${{ needs.pre-release.outputs.tag }}
|
|
197
|
-
name: Better Logger ${{ needs.pre-release.outputs.version }}
|
|
198
|
-
body_path: RELEASE_NOTES.md
|
|
199
|
-
draft: false
|
|
200
|
-
prerelease: ${{ contains(inputs.release_type, 'alpha') || contains(inputs.release_type, 'beta') }}
|
|
201
|
-
files: |
|
|
202
|
-
better-logger-${{ needs.pre-release.outputs.version }}.tar.gz
|
|
203
|
-
better-logger-${{ needs.pre-release.outputs.version }}.zip
|
|
204
|
-
better-logger-core-${{ needs.pre-release.outputs.version }}.tar.gz
|
|
205
|
-
better-logger-styling-${{ needs.pre-release.outputs.version }}.tar.gz
|
|
206
|
-
better-logger-exports-${{ needs.pre-release.outputs.version }}.tar.gz
|
|
207
|
-
env:
|
|
208
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
209
|
-
|
|
210
|
-
# ===== POST-RELEASE TASKS =====
|
|
211
|
-
post-release:
|
|
212
|
-
runs-on: ubuntu-latest
|
|
213
|
-
needs: [pre-release, create-release]
|
|
214
|
-
permissions:
|
|
215
|
-
contents: read
|
|
216
|
-
pages: write
|
|
217
|
-
id-token: write
|
|
218
|
-
|
|
219
|
-
steps:
|
|
220
|
-
- name: 📥 Checkout code
|
|
221
|
-
uses: actions/checkout@v4
|
|
222
|
-
with:
|
|
223
|
-
ref: main
|
|
224
|
-
fetch-depth: 0
|
|
225
|
-
|
|
226
|
-
- name: 📦 Setup Node.js
|
|
227
|
-
uses: actions/setup-node@v4
|
|
228
|
-
with:
|
|
229
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
230
|
-
cache: 'npm'
|
|
231
|
-
|
|
232
|
-
- name: 🔧 Install dependencies
|
|
233
|
-
run: npm ci
|
|
234
|
-
|
|
235
|
-
- name: 📥 Download build artifacts
|
|
236
|
-
uses: actions/download-artifact@v4
|
|
237
|
-
with:
|
|
238
|
-
name: release-dist
|
|
239
|
-
path: dist/
|
|
240
|
-
|
|
241
|
-
- name: 🚀 Deploy documentation
|
|
242
|
-
run: |
|
|
243
|
-
# Build documentation site
|
|
244
|
-
mkdir -p docs-site
|
|
245
|
-
cp demo.html docs-site/index.html
|
|
246
|
-
cp -r dist/ docs-site/dist/
|
|
247
|
-
cp -r docs/ docs-site/docs/
|
|
248
|
-
cp README.md docs-site/
|
|
249
|
-
|
|
250
|
-
- name: 📤 Deploy to GitHub Pages
|
|
251
|
-
uses: peaceiris/actions-gh-pages@v3
|
|
252
|
-
with:
|
|
253
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
254
|
-
publish_dir: ./docs-site
|
|
255
|
-
publish_branch: gh-pages
|
|
256
|
-
commit_message: 'docs: update documentation for ${{ needs.pre-release.outputs.version }}'
|
|
257
|
-
|
|
258
|
-
- name: 📊 Release summary
|
|
259
|
-
run: |
|
|
260
|
-
echo "## 🎉 Release Complete!" >> $GITHUB_STEP_SUMMARY
|
|
261
|
-
echo "- **Version**: ${{ needs.pre-release.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
262
|
-
echo "- **NPM**: https://www.npmjs.com/package/@mks2508/better-logger" >> $GITHUB_STEP_SUMMARY
|
|
263
|
-
echo "- **GitHub**: https://github.com/MKS2508/advanced-logger/releases/tag/${{ needs.pre-release.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
|
|
264
|
-
echo "- **Docs**: https://mks2508.github.io/advanced-logger/" >> $GITHUB_STEP_SUMMARY
|
|
265
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
266
|
-
echo "### 📦 Installation" >> $GITHUB_STEP_SUMMARY
|
|
267
|
-
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
|
|
268
|
-
echo "npm install @mks2508/better-logger@${{ needs.pre-release.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
269
|
-
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|