@mks2508/better-logger 0.0.2-alpha.2 → 0.8.1-alpha.1
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/.github/workflows/ci-quality.yml +356 -0
- package/.github/workflows/docs-demo.yml +123 -0
- package/.github/workflows/releases-core.yml +448 -0
- package/.github/workflows/releases-full.yml +404 -0
- package/.github/{workflows → workflows-backup}/ci.yml +12 -110
- package/.github/workflows-backup/nightly.yml +196 -0
- package/.github/workflows-backup/release-optimized.yml +373 -0
- package/.release-notes-0.2.0.md +129 -0
- package/CHANGELOG.json +658 -0
- package/README.md +110 -512
- package/demo.html +9 -2
- package/dist/Logger.d.ts +176 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +498 -0
- package/dist/chunks/{Logger-BrFKFZcD.js → Logger-CbCUS5pQ.js} +987 -5
- package/dist/chunks/Logger-CbCUS5pQ.js.map +1 -0
- package/dist/chunks/Logger-PCfgYKTP.js +2 -0
- package/dist/chunks/Logger-PCfgYKTP.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/StyleBuilder-BoJTmskd.js +361 -0
- package/dist/chunks/StyleBuilder-BoJTmskd.js.map +1 -0
- package/dist/chunks/StyleBuilder-LPLzsoHY.js +4 -0
- package/dist/chunks/StyleBuilder-LPLzsoHY.js.map +1 -0
- package/dist/cli/CommandProcessor.d.ts +40 -0
- package/dist/cli/CommandProcessor.d.ts.map +1 -0
- package/dist/cli/CommandProcessor.js +57 -0
- package/dist/cli/commands/ConfigCommand.d.ts +17 -0
- package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/dist/cli/commands/ConfigCommand.js +88 -0
- package/dist/cli/commands/ExportCommand.d.ts +51 -0
- package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
- package/dist/cli/commands/ExportCommand.js +243 -0
- package/dist/cli/commands/StatusCommand.d.ts +33 -0
- package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
- package/dist/cli/commands/StatusCommand.js +93 -0
- package/dist/cli/commands/ThemeCommand.d.ts +33 -0
- package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
- package/dist/cli/commands/ThemeCommand.js +79 -0
- package/dist/cli/help.d.ts +15 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +118 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +40 -0
- package/dist/constants.d.ts +91 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +80 -0
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +130 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +258 -242
- package/dist/core.js.map +1 -1
- package/dist/example.d.ts +18 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +154 -0
- package/dist/exports-module.d.ts +203 -0
- package/dist/exports-module.d.ts.map +1 -0
- package/dist/exports-module.js +260 -0
- package/dist/exports.cjs +1 -1
- package/dist/exports.cjs.map +1 -1
- package/dist/exports.js +2 -2
- package/dist/handlers/AnalyticsLogHandler.d.ts +11 -0
- package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
- package/dist/handlers/AnalyticsLogHandler.js +19 -0
- package/dist/handlers/ExportLogHandler.d.ts +103 -0
- package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
- package/dist/handlers/ExportLogHandler.js +516 -0
- package/dist/handlers/FileLogHandler.d.ts +13 -0
- package/dist/handlers/FileLogHandler.d.ts.map +1 -0
- package/dist/handlers/FileLogHandler.js +24 -0
- package/dist/handlers/RemoteLogHandler.d.ts +14 -0
- package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
- package/dist/handlers/RemoteLogHandler.js +37 -0
- package/dist/handlers/index.d.ts +8 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +7 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +86 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -103
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +139 -0
- package/dist/styling/StyleBuilder.d.ts +132 -0
- package/dist/styling/StyleBuilder.d.ts.map +1 -0
- package/dist/styling/StyleBuilder.js +268 -0
- package/dist/styling/banners.d.ts +45 -0
- package/dist/styling/banners.d.ts.map +1 -0
- package/dist/styling/banners.js +155 -0
- package/dist/styling/index.d.ts +7 -0
- package/dist/styling/index.d.ts.map +1 -0
- package/dist/styling/index.js +6 -0
- package/dist/styling/themes.d.ts +10 -0
- package/dist/styling/themes.d.ts.map +1 -0
- package/dist/styling/themes.js +231 -0
- package/dist/styling-module.d.ts +185 -0
- package/dist/styling-module.d.ts.map +1 -0
- package/dist/styling-module.js +199 -0
- package/dist/styling.cjs +1 -1
- package/dist/styling.cjs.map +1 -1
- package/dist/styling.js +4 -4
- package/dist/types/Logger.d.ts +172 -0
- package/dist/types/Logger.d.ts.map +1 -0
- package/dist/types/cli/CommandProcessor.d.ts +37 -0
- package/dist/types/cli/CommandProcessor.d.ts.map +1 -0
- package/dist/types/cli/commands/ConfigCommand.d.ts +14 -0
- package/dist/types/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/ExportCommand.d.ts +48 -0
- package/dist/types/cli/commands/ExportCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/StatusCommand.d.ts +30 -0
- package/dist/types/cli/commands/StatusCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/ThemeCommand.d.ts +30 -0
- package/dist/types/cli/commands/ThemeCommand.d.ts.map +1 -0
- package/dist/types/cli/help.d.ts +12 -0
- package/dist/types/cli/help.d.ts.map +1 -0
- package/dist/types/cli/index.d.ts +15 -0
- package/dist/types/cli/index.d.ts.map +1 -0
- package/dist/types/constants.d.ts +88 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/core.d.ts +71 -211
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +13 -0
- package/dist/types/example.d.ts +18 -0
- package/dist/types/example.d.ts.map +1 -0
- package/dist/types/exports-module.d.ts +196 -0
- package/dist/types/exports-module.d.ts.map +1 -0
- package/dist/types/handlers/AnalyticsLogHandler.d.ts +8 -0
- package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/ExportLogHandler.d.ts +100 -0
- package/dist/types/handlers/ExportLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/FileLogHandler.d.ts +10 -0
- package/dist/types/handlers/FileLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/RemoteLogHandler.d.ts +11 -0
- package/dist/types/handlers/RemoteLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/index.d.ts +8 -0
- package/dist/types/handlers/index.d.ts.map +1 -0
- package/dist/types/handlers.d.ts +88 -0
- package/dist/types/handlers.d.ts.map +1 -0
- package/dist/types/handlers.js +4 -0
- package/dist/types/index.d.ts +7 -675
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/main.d.ts +2 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/styling/StyleBuilder.d.ts +132 -0
- package/dist/types/styling/StyleBuilder.d.ts.map +1 -0
- package/dist/types/styling/banners.d.ts +42 -0
- package/dist/types/styling/banners.d.ts.map +1 -0
- package/dist/types/styling/index.d.ts +7 -0
- package/dist/types/styling/index.d.ts.map +1 -0
- package/dist/types/styling/themes.d.ts +7 -0
- package/dist/types/styling/themes.d.ts.map +1 -0
- package/dist/types/styling-module.d.ts +178 -0
- package/dist/types/styling-module.d.ts.map +1 -0
- package/dist/types/types/core.d.ts +71 -0
- package/dist/types/types/core.d.ts.map +1 -0
- package/dist/types/types/handlers.d.ts +85 -0
- package/dist/types/types/handlers.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +7 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/output.d.ts +29 -0
- package/dist/types/utils/output.d.ts.map +1 -0
- package/dist/types/utils/stackTrace.d.ts +6 -0
- package/dist/types/utils/stackTrace.d.ts.map +1 -0
- package/dist/types/utils/timestamps.d.ts +20 -0
- package/dist/types/utils/timestamps.d.ts.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/output.d.ts +32 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +97 -0
- package/dist/utils/stackTrace.d.ts +9 -0
- package/dist/utils/stackTrace.d.ts.map +1 -0
- package/dist/utils/stackTrace.js +81 -0
- package/dist/utils/timestamps.d.ts +20 -0
- package/dist/utils/timestamps.d.ts.map +1 -0
- package/dist/utils/timestamps.js +71 -0
- package/docs/API.md +607 -0
- package/docs/DEVELOPMENT.md +731 -0
- package/docs/_config.yml +36 -0
- package/docs/index.md +179 -0
- package/examples/README.md +208 -0
- package/examples/basic-logging.js +75 -0
- package/examples/data-export.js +234 -0
- package/examples/package.json +16 -0
- package/examples/performance-timing.js +170 -0
- package/examples/styling-themes.js +207 -0
- package/package.json +24 -21
- package/packages/core/package.json +35 -0
- package/packages/exports/package.json +41 -0
- package/packages/styling/package.json +41 -0
- package/project-utils/README.md +172 -0
- package/project-utils/auto-release-gemini.ts +1193 -0
- package/project-utils/commit-generator.ts +1000 -0
- package/project-utils/commit-ui.ts +246 -0
- package/project-utils/git-utils.ts +199 -0
- package/project-utils/github-release-manager.ts +466 -0
- package/project-utils/prompt-templates.js +345 -0
- package/project-utils/prompt-templates.ts +422 -0
- package/project-utils/version-manager.ts +1078 -0
- package/src/Logger.ts +2 -1
- package/src/handlers/ExportLogHandler.ts +141 -0
- package/vite.config.ts +152 -50
- package/.claude/settings.local.json +0 -22
- package/.npmrc.bak +0 -1
- package/dist/chunks/Logger-BQhMKy_T.js +0 -2
- package/dist/chunks/Logger-BQhMKy_T.js.map +0 -1
- package/dist/chunks/Logger-BrFKFZcD.js.map +0 -1
- package/dist/chunks/core-2opW4Pi3.js +0 -194
- package/dist/chunks/core-2opW4Pi3.js.map +0 -1
- package/dist/chunks/core-DyugwSYZ.js +0 -4
- package/dist/chunks/core-DyugwSYZ.js.map +0 -1
- package/dist/chunks/exports-BNP3R7dp.js +0 -421
- package/dist/chunks/exports-BNP3R7dp.js.map +0 -1
- package/dist/chunks/exports-U1xLBXrY.js +0 -2
- package/dist/chunks/exports-U1xLBXrY.js.map +0 -1
- package/dist/chunks/styling-DhUDzwlE.js +0 -654
- package/dist/chunks/styling-DhUDzwlE.js.map +0 -1
- package/dist/chunks/styling-tmRDI28D.js +0 -2
- package/dist/chunks/styling-tmRDI28D.js.map +0 -1
- package/dist/types/exports.d.ts +0 -600
- package/dist/types/styling.d.ts +0 -751
- /package/.github/{workflows → workflows-backup}/release.yml +0 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Full Release Pipeline - Granular AI Steps
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
inputs:
|
|
7
|
+
version_type:
|
|
8
|
+
description: 'Tipo de versión'
|
|
9
|
+
required: false
|
|
10
|
+
default: 'auto'
|
|
11
|
+
type: choice
|
|
12
|
+
options:
|
|
13
|
+
- auto
|
|
14
|
+
- patch
|
|
15
|
+
- minor
|
|
16
|
+
- major
|
|
17
|
+
version_prefix:
|
|
18
|
+
description: 'Prefijo de versión'
|
|
19
|
+
required: false
|
|
20
|
+
default: 'stable'
|
|
21
|
+
type: choice
|
|
22
|
+
options:
|
|
23
|
+
- stable
|
|
24
|
+
- alpha
|
|
25
|
+
- beta
|
|
26
|
+
- rc
|
|
27
|
+
target_registry:
|
|
28
|
+
description: 'Registro objetivo'
|
|
29
|
+
required: false
|
|
30
|
+
default: 'both'
|
|
31
|
+
type: choice
|
|
32
|
+
options:
|
|
33
|
+
- npm
|
|
34
|
+
- github
|
|
35
|
+
- both
|
|
36
|
+
skip_tests:
|
|
37
|
+
description: 'Saltar tests (no recomendado)'
|
|
38
|
+
required: false
|
|
39
|
+
default: false
|
|
40
|
+
type: boolean
|
|
41
|
+
dry_run:
|
|
42
|
+
description: 'Solo mostrar qué haría (dry run)'
|
|
43
|
+
required: false
|
|
44
|
+
default: false
|
|
45
|
+
type: boolean
|
|
46
|
+
push:
|
|
47
|
+
branches: [main]
|
|
48
|
+
paths-ignore:
|
|
49
|
+
- 'docs/**'
|
|
50
|
+
- '*.md'
|
|
51
|
+
- '.github/workflows/docs-demo.yml'
|
|
52
|
+
- 'package.json'
|
|
53
|
+
- 'CHANGELOG.json'
|
|
54
|
+
- 'packages/*/package.json'
|
|
55
|
+
|
|
56
|
+
env:
|
|
57
|
+
NODE_VERSION: '20'
|
|
58
|
+
|
|
59
|
+
jobs:
|
|
60
|
+
# ===== STEP 1: AI VERSION ANALYSIS & GENERATION =====
|
|
61
|
+
ai-version-generation:
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
if: github.actor != 'github-actions[bot]'
|
|
64
|
+
permissions:
|
|
65
|
+
contents: write
|
|
66
|
+
|
|
67
|
+
outputs:
|
|
68
|
+
version: ${{ steps.version.outputs.version }}
|
|
69
|
+
tag: ${{ steps.version.outputs.tag }}
|
|
70
|
+
is_prerelease: ${{ steps.version.outputs.is_prerelease }}
|
|
71
|
+
release_channel: ${{ steps.version.outputs.release_channel }}
|
|
72
|
+
should_skip: ${{ steps.version.outputs.should_skip }}
|
|
73
|
+
|
|
74
|
+
steps:
|
|
75
|
+
- name: "📥 Checkout code"
|
|
76
|
+
uses: actions/checkout@v4
|
|
77
|
+
with:
|
|
78
|
+
fetch-depth: 0
|
|
79
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
80
|
+
|
|
81
|
+
- name: "📦 Setup Bun"
|
|
82
|
+
uses: oven-sh/setup-bun@v2
|
|
83
|
+
with:
|
|
84
|
+
bun-version: latest
|
|
85
|
+
|
|
86
|
+
- name: "🔧 Install dependencies"
|
|
87
|
+
run: bun install --frozen-lockfile
|
|
88
|
+
|
|
89
|
+
- name: "🤖 Setup Gemini CLI"
|
|
90
|
+
run: |
|
|
91
|
+
echo "🤖 Configurando Gemini CLI..."
|
|
92
|
+
# Install Gemini CLI
|
|
93
|
+
npm install -g @google/generative-ai
|
|
94
|
+
# Verificar instalación
|
|
95
|
+
echo "✅ Gemini CLI configurado"
|
|
96
|
+
env:
|
|
97
|
+
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
98
|
+
|
|
99
|
+
- name: "🤖 Step 1: AI Version Analysis & Generation"
|
|
100
|
+
id: version
|
|
101
|
+
env:
|
|
102
|
+
VERSION_TYPE: ${{ inputs.version_type || 'auto' }}
|
|
103
|
+
VERSION_PREFIX: ${{ inputs.version_prefix || 'stable' }}
|
|
104
|
+
TARGET_REGISTRY: ${{ inputs.target_registry || 'npm' }}
|
|
105
|
+
DRY_RUN: ${{ inputs.dry_run || 'false' }}
|
|
106
|
+
run: |
|
|
107
|
+
echo "🤖 === PASO 1: ANÁLISIS Y GENERACIÓN DE VERSIÓN CON AI ==="
|
|
108
|
+
|
|
109
|
+
# Mostrar contexto de ejecución
|
|
110
|
+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
111
|
+
echo "📝 Ejecutando en modo manual con parámetros especificados"
|
|
112
|
+
else
|
|
113
|
+
echo "🔄 Ejecutando automáticamente desde push - usando defaults"
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
# Preparar argumentos para version-manager usando variables de entorno
|
|
117
|
+
ARGS="--auto-approve"
|
|
118
|
+
|
|
119
|
+
if [ "$VERSION_TYPE" != "auto" ]; then
|
|
120
|
+
ARGS="$ARGS --type $VERSION_TYPE"
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
if [ "$VERSION_PREFIX" != "stable" ]; then
|
|
124
|
+
ARGS="$ARGS --prefix $VERSION_PREFIX"
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
# Mostrar comando que se ejecutará
|
|
128
|
+
echo "📋 Ejecutando: bun project-utils/version-manager.ts $ARGS"
|
|
129
|
+
|
|
130
|
+
if [ "$DRY_RUN" = "true" ]; then
|
|
131
|
+
echo "🔍 [DRY RUN] Se generaría nueva versión con: $ARGS"
|
|
132
|
+
echo "should_skip=true" >> $GITHUB_OUTPUT
|
|
133
|
+
echo "version=dry-run" >> $GITHUB_OUTPUT
|
|
134
|
+
echo "tag=dry-run" >> $GITHUB_OUTPUT
|
|
135
|
+
echo "is_prerelease=false" >> $GITHUB_OUTPUT
|
|
136
|
+
echo "release_channel=dry-run" >> $GITHUB_OUTPUT
|
|
137
|
+
else
|
|
138
|
+
# Ejecutar version-manager con AI
|
|
139
|
+
echo "🚀 Ejecutando version-manager con análisis AI..."
|
|
140
|
+
bun project-utils/version-manager.ts $ARGS
|
|
141
|
+
|
|
142
|
+
# Obtener nueva versión del package.json
|
|
143
|
+
NEW_VERSION=$(node -p "require('./package.json').version")
|
|
144
|
+
echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
145
|
+
echo "tag=v$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
146
|
+
|
|
147
|
+
# Determinar si es prerelease y canal
|
|
148
|
+
if [[ "$NEW_VERSION" == *"alpha"* ]]; then
|
|
149
|
+
echo "is_prerelease=true" >> $GITHUB_OUTPUT
|
|
150
|
+
echo "release_channel=alpha" >> $GITHUB_OUTPUT
|
|
151
|
+
elif [[ "$NEW_VERSION" == *"beta"* ]]; then
|
|
152
|
+
echo "is_prerelease=true" >> $GITHUB_OUTPUT
|
|
153
|
+
echo "release_channel=beta" >> $GITHUB_OUTPUT
|
|
154
|
+
elif [[ "$NEW_VERSION" == *"rc"* ]]; then
|
|
155
|
+
echo "is_prerelease=true" >> $GITHUB_OUTPUT
|
|
156
|
+
echo "release_channel=rc" >> $GITHUB_OUTPUT
|
|
157
|
+
else
|
|
158
|
+
echo "is_prerelease=false" >> $GITHUB_OUTPUT
|
|
159
|
+
echo "release_channel=latest" >> $GITHUB_OUTPUT
|
|
160
|
+
fi
|
|
161
|
+
|
|
162
|
+
echo "should_skip=false" >> $GITHUB_OUTPUT
|
|
163
|
+
echo "✅ Nueva versión generada: $NEW_VERSION"
|
|
164
|
+
fi
|
|
165
|
+
|
|
166
|
+
- name: "🏷️ Commit and push version changes"
|
|
167
|
+
if: steps.version.outputs.should_skip != 'true'
|
|
168
|
+
run: |
|
|
169
|
+
echo "🏷️ Commiteando cambios de versión..."
|
|
170
|
+
git config user.name "github-actions[bot]"
|
|
171
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
172
|
+
git add package.json CHANGELOG.json packages/*/package.json
|
|
173
|
+
git commit -m "chore: release ${{ steps.version.outputs.version }} [skip ci]" || echo "No changes to commit"
|
|
174
|
+
git push origin main
|
|
175
|
+
|
|
176
|
+
- name: "📤 Upload version artifacts"
|
|
177
|
+
uses: actions/upload-artifact@v4
|
|
178
|
+
if: always()
|
|
179
|
+
with:
|
|
180
|
+
name: version-artifacts
|
|
181
|
+
path: |
|
|
182
|
+
project-utils/.temp/
|
|
183
|
+
CHANGELOG.json
|
|
184
|
+
package.json
|
|
185
|
+
retention-days: 7
|
|
186
|
+
|
|
187
|
+
# ===== STEP 2: BUILD & PREPARE =====
|
|
188
|
+
build-and-prepare:
|
|
189
|
+
runs-on: ubuntu-latest
|
|
190
|
+
needs: ai-version-generation
|
|
191
|
+
if: needs.ai-version-generation.outputs.should_skip != 'true'
|
|
192
|
+
|
|
193
|
+
steps:
|
|
194
|
+
- name: "📥 Checkout code with version changes"
|
|
195
|
+
uses: actions/checkout@v4
|
|
196
|
+
with:
|
|
197
|
+
fetch-depth: 0
|
|
198
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
199
|
+
ref: main
|
|
200
|
+
|
|
201
|
+
- name: "🔄 Pull latest changes"
|
|
202
|
+
run: git pull origin main
|
|
203
|
+
|
|
204
|
+
- name: "📦 Setup Bun"
|
|
205
|
+
uses: oven-sh/setup-bun@v2
|
|
206
|
+
with:
|
|
207
|
+
bun-version: latest
|
|
208
|
+
|
|
209
|
+
- name: "🔧 Install dependencies"
|
|
210
|
+
run: bun install --frozen-lockfile
|
|
211
|
+
|
|
212
|
+
- name: "🧪 Step 2: Run tests (unless skipped)"
|
|
213
|
+
if: github.event_name == 'workflow_dispatch' && github.event.inputs.skip_tests != 'true'
|
|
214
|
+
run: |
|
|
215
|
+
echo "🧪 === PASO 2: EJECUTANDO TESTS Y VALIDACIONES ==="
|
|
216
|
+
bun run type-check
|
|
217
|
+
bun run test
|
|
218
|
+
echo "✅ Tests completados exitosamente"
|
|
219
|
+
|
|
220
|
+
- name: "🏗️ Step 3: Build all modules"
|
|
221
|
+
run: |
|
|
222
|
+
echo "🏗️ === PASO 3: COMPILANDO TODOS LOS MÓDULOS ==="
|
|
223
|
+
bun run build:all
|
|
224
|
+
echo "✅ Build completado exitosamente"
|
|
225
|
+
|
|
226
|
+
# Mostrar archivos generados
|
|
227
|
+
echo "📊 Archivos generados:"
|
|
228
|
+
ls -la dist/
|
|
229
|
+
|
|
230
|
+
- name: "📤 Upload build artifacts"
|
|
231
|
+
uses: actions/upload-artifact@v4
|
|
232
|
+
with:
|
|
233
|
+
name: build-artifacts-${{ needs.ai-version-generation.outputs.version }}
|
|
234
|
+
path: dist/
|
|
235
|
+
retention-days: 30
|
|
236
|
+
|
|
237
|
+
# ===== STEP 3: NPM PUBLISHING =====
|
|
238
|
+
publish-npm:
|
|
239
|
+
runs-on: ubuntu-latest
|
|
240
|
+
needs: [ai-version-generation, build-and-prepare]
|
|
241
|
+
if: needs.ai-version-generation.outputs.should_skip != 'true' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && (github.event.inputs.target_registry == 'npm' || github.event.inputs.target_registry == 'both')))
|
|
242
|
+
|
|
243
|
+
steps:
|
|
244
|
+
- name: "📥 Checkout code"
|
|
245
|
+
uses: actions/checkout@v4
|
|
246
|
+
with:
|
|
247
|
+
ref: main
|
|
248
|
+
|
|
249
|
+
- name: "📦 Setup Node.js with NPM registry"
|
|
250
|
+
uses: actions/setup-node@v4
|
|
251
|
+
with:
|
|
252
|
+
node-version: '20'
|
|
253
|
+
registry-url: 'https://registry.npmjs.org'
|
|
254
|
+
|
|
255
|
+
- name: "📥 Download build artifacts"
|
|
256
|
+
uses: actions/download-artifact@v4
|
|
257
|
+
with:
|
|
258
|
+
name: build-artifacts-${{ needs.ai-version-generation.outputs.version }}
|
|
259
|
+
path: dist/
|
|
260
|
+
|
|
261
|
+
- name: "🚀 Step 4: Publish to NPM Registry"
|
|
262
|
+
run: |
|
|
263
|
+
echo "🚀 === PASO 4: PUBLICANDO EN NPM REGISTRY ==="
|
|
264
|
+
if [ "${{ needs.ai-version-generation.outputs.is_prerelease }}" == "true" ]; then
|
|
265
|
+
echo "📦 Publishing prerelease to NPM with tag: ${{ needs.ai-version-generation.outputs.release_channel }}"
|
|
266
|
+
npm publish --access public --tag ${{ needs.ai-version-generation.outputs.release_channel }}
|
|
267
|
+
else
|
|
268
|
+
echo "📦 Publishing stable release to NPM"
|
|
269
|
+
npm publish --access public
|
|
270
|
+
fi
|
|
271
|
+
echo "✅ Publicación en NPM completada"
|
|
272
|
+
env:
|
|
273
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
274
|
+
|
|
275
|
+
# ===== STEP 4: GITHUB PACKAGES PUBLISHING =====
|
|
276
|
+
publish-github:
|
|
277
|
+
runs-on: ubuntu-latest
|
|
278
|
+
needs: [ai-version-generation, build-and-prepare]
|
|
279
|
+
if: needs.ai-version-generation.outputs.should_skip != 'true' && github.event_name == 'workflow_dispatch' && (github.event.inputs.target_registry == 'github' || github.event.inputs.target_registry == 'both')
|
|
280
|
+
|
|
281
|
+
steps:
|
|
282
|
+
- name: "📥 Checkout code"
|
|
283
|
+
uses: actions/checkout@v4
|
|
284
|
+
with:
|
|
285
|
+
ref: main
|
|
286
|
+
|
|
287
|
+
- name: "📦 Setup Node.js with GitHub registry"
|
|
288
|
+
uses: actions/setup-node@v4
|
|
289
|
+
with:
|
|
290
|
+
node-version: '20'
|
|
291
|
+
registry-url: 'https://npm.pkg.github.com'
|
|
292
|
+
|
|
293
|
+
- name: "📥 Download build artifacts"
|
|
294
|
+
uses: actions/download-artifact@v4
|
|
295
|
+
with:
|
|
296
|
+
name: build-artifacts-${{ needs.ai-version-generation.outputs.version }}
|
|
297
|
+
path: dist/
|
|
298
|
+
|
|
299
|
+
- name: "📦 Step 5: Publish to GitHub Packages"
|
|
300
|
+
run: |
|
|
301
|
+
echo "📦 === PASO 5: PUBLICANDO EN GITHUB PACKAGES ==="
|
|
302
|
+
if [ "${{ needs.ai-version-generation.outputs.is_prerelease }}" == "true" ]; then
|
|
303
|
+
echo "📦 Publishing prerelease to GitHub Packages with tag: ${{ needs.ai-version-generation.outputs.release_channel }}"
|
|
304
|
+
npm publish --access public --tag ${{ needs.ai-version-generation.outputs.release_channel }}
|
|
305
|
+
else
|
|
306
|
+
echo "📦 Publishing stable release to GitHub Packages"
|
|
307
|
+
npm publish --access public
|
|
308
|
+
fi
|
|
309
|
+
echo "✅ Publicación en GitHub Packages completada"
|
|
310
|
+
env:
|
|
311
|
+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
312
|
+
|
|
313
|
+
# ===== STEP 5: GITHUB RELEASE WITH AI =====
|
|
314
|
+
create-github-release:
|
|
315
|
+
runs-on: ubuntu-latest
|
|
316
|
+
needs: [ai-version-generation, build-and-prepare, publish-npm, publish-github]
|
|
317
|
+
if: always() && needs.ai-version-generation.outputs.should_skip != 'true' && needs.build-and-prepare.result == 'success'
|
|
318
|
+
|
|
319
|
+
permissions:
|
|
320
|
+
contents: write
|
|
321
|
+
|
|
322
|
+
steps:
|
|
323
|
+
- name: "📥 Checkout code"
|
|
324
|
+
uses: actions/checkout@v4
|
|
325
|
+
with:
|
|
326
|
+
fetch-depth: 0
|
|
327
|
+
ref: main
|
|
328
|
+
|
|
329
|
+
- name: "📦 Setup Bun"
|
|
330
|
+
uses: oven-sh/setup-bun@v2
|
|
331
|
+
with:
|
|
332
|
+
bun-version: latest
|
|
333
|
+
|
|
334
|
+
- name: "🔧 Install dependencies"
|
|
335
|
+
run: bun install --frozen-lockfile
|
|
336
|
+
|
|
337
|
+
- name: "📥 Download build artifacts"
|
|
338
|
+
uses: actions/download-artifact@v4
|
|
339
|
+
with:
|
|
340
|
+
name: build-artifacts-${{ needs.ai-version-generation.outputs.version }}
|
|
341
|
+
path: dist/
|
|
342
|
+
|
|
343
|
+
- name: "🏷️ Create git tag"
|
|
344
|
+
run: |
|
|
345
|
+
echo "🏷️ Creando tag de git..."
|
|
346
|
+
git config user.name "github-actions[bot]"
|
|
347
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
348
|
+
git tag -a "${{ needs.ai-version-generation.outputs.tag }}" -m "Release ${{ needs.ai-version-generation.outputs.version }}"
|
|
349
|
+
git push origin --tags
|
|
350
|
+
|
|
351
|
+
- name: "🚀 Step 6: Create GitHub Release with AI"
|
|
352
|
+
run: |
|
|
353
|
+
echo "🚀 === PASO 6: CREANDO GITHUB RELEASE CON AI ==="
|
|
354
|
+
bun project-utils/github-release-manager.ts --auto-approve
|
|
355
|
+
echo "✅ GitHub Release creado exitosamente"
|
|
356
|
+
env:
|
|
357
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
358
|
+
|
|
359
|
+
# ===== RELEASE SUMMARY =====
|
|
360
|
+
release-summary:
|
|
361
|
+
runs-on: ubuntu-latest
|
|
362
|
+
needs: [ai-version-generation, build-and-prepare, publish-npm, publish-github, create-github-release]
|
|
363
|
+
if: always() && needs.ai-version-generation.outputs.should_skip != 'true'
|
|
364
|
+
|
|
365
|
+
steps:
|
|
366
|
+
- name: "📊 Comprehensive Release Summary"
|
|
367
|
+
run: |
|
|
368
|
+
VERSION="${{ needs.ai-version-generation.outputs.version }}"
|
|
369
|
+
TAG="${{ needs.ai-version-generation.outputs.tag }}"
|
|
370
|
+
CHANNEL="${{ needs.ai-version-generation.outputs.release_channel }}"
|
|
371
|
+
IS_PRERELEASE="${{ needs.ai-version-generation.outputs.is_prerelease }}"
|
|
372
|
+
|
|
373
|
+
echo "## 🎉 Full Release Pipeline Complete!" >> $GITHUB_STEP_SUMMARY
|
|
374
|
+
echo "- **Version**: $VERSION" >> $GITHUB_STEP_SUMMARY
|
|
375
|
+
echo "- **Channel**: $CHANNEL" >> $GITHUB_STEP_SUMMARY
|
|
376
|
+
echo "- **Prerelease**: $IS_PRERELEASE" >> $GITHUB_STEP_SUMMARY
|
|
377
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
378
|
+
|
|
379
|
+
echo "### 📊 Pipeline Steps Results" >> $GITHUB_STEP_SUMMARY
|
|
380
|
+
echo "1. **AI Version Generation**: ✅ $VERSION" >> $GITHUB_STEP_SUMMARY
|
|
381
|
+
echo "2. **Build & Prepare**: ${{ needs.build-and-prepare.result }}" >> $GITHUB_STEP_SUMMARY
|
|
382
|
+
echo "3. **NPM Publishing**: ${{ needs.publish-npm.result }}" >> $GITHUB_STEP_SUMMARY
|
|
383
|
+
echo "4. **GitHub Packages**: ${{ needs.publish-github.result }}" >> $GITHUB_STEP_SUMMARY
|
|
384
|
+
echo "5. **GitHub Release**: ${{ needs.create-github-release.result }}" >> $GITHUB_STEP_SUMMARY
|
|
385
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
386
|
+
|
|
387
|
+
echo "### 🔗 Links" >> $GITHUB_STEP_SUMMARY
|
|
388
|
+
if [ "${{ github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && (github.event.inputs.target_registry == 'npm' || github.event.inputs.target_registry == 'both')) }}" == "true" ]; then
|
|
389
|
+
echo "- **NPM**: https://www.npmjs.com/package/@mks2508/better-logger" >> $GITHUB_STEP_SUMMARY
|
|
390
|
+
fi
|
|
391
|
+
if [ "${{ github.event_name == 'workflow_dispatch' && (github.event.inputs.target_registry == 'github' || github.event.inputs.target_registry == 'both') }}" == "true" ]; then
|
|
392
|
+
echo "- **GitHub Packages**: https://github.com/MKS2508/advanced-logger/packages/" >> $GITHUB_STEP_SUMMARY
|
|
393
|
+
fi
|
|
394
|
+
echo "- **GitHub Release**: https://github.com/MKS2508/advanced-logger/releases/tag/$TAG" >> $GITHUB_STEP_SUMMARY
|
|
395
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
396
|
+
|
|
397
|
+
echo "### 📦 Installation" >> $GITHUB_STEP_SUMMARY
|
|
398
|
+
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
|
|
399
|
+
if [ "$IS_PRERELEASE" == "true" ]; then
|
|
400
|
+
echo "npm install @mks2508/better-logger@$CHANNEL" >> $GITHUB_STEP_SUMMARY
|
|
401
|
+
else
|
|
402
|
+
echo "npm install @mks2508/better-logger" >> $GITHUB_STEP_SUMMARY
|
|
403
|
+
fi
|
|
404
|
+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
@@ -105,109 +105,6 @@ jobs:
|
|
|
105
105
|
path: test-results/
|
|
106
106
|
retention-days: 30
|
|
107
107
|
|
|
108
|
-
# ===== NPM PUBLISH =====
|
|
109
|
-
publish:
|
|
110
|
-
runs-on: ubuntu-latest
|
|
111
|
-
needs: [build-and-test, visual-tests]
|
|
112
|
-
if: startsWith(github.ref, 'refs/tags/v')
|
|
113
|
-
permissions:
|
|
114
|
-
contents: read
|
|
115
|
-
packages: write
|
|
116
|
-
id-token: write
|
|
117
|
-
|
|
118
|
-
steps:
|
|
119
|
-
- name: 📥 Checkout code
|
|
120
|
-
uses: actions/checkout@v4
|
|
121
|
-
|
|
122
|
-
- name: 📦 Setup Node.js
|
|
123
|
-
uses: actions/setup-node@v4
|
|
124
|
-
with:
|
|
125
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
126
|
-
cache: 'npm'
|
|
127
|
-
registry-url: ${{ env.REGISTRY_URL }}
|
|
128
|
-
|
|
129
|
-
- name: 🔧 Install dependencies
|
|
130
|
-
run: npm run ci:install
|
|
131
|
-
|
|
132
|
-
- name: 📥 Download build artifacts
|
|
133
|
-
uses: actions/download-artifact@v4
|
|
134
|
-
with:
|
|
135
|
-
name: dist-files
|
|
136
|
-
path: dist/
|
|
137
|
-
|
|
138
|
-
- name: 🚀 Publish to NPM Registry
|
|
139
|
-
run: npm run ci:publish
|
|
140
|
-
env:
|
|
141
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
142
|
-
|
|
143
|
-
- name: 📦 Setup GitHub Packages Registry
|
|
144
|
-
run: |
|
|
145
|
-
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
|
|
146
|
-
echo "@mks2508:registry=https://npm.pkg.github.com" >> ~/.npmrc
|
|
147
|
-
|
|
148
|
-
- name: 📦 Publish to GitHub Packages
|
|
149
|
-
run: npm publish --registry=https://npm.pkg.github.com --access=public --ignore-scripts
|
|
150
|
-
|
|
151
|
-
- name: 📝 Extract release notes
|
|
152
|
-
id: extract_release
|
|
153
|
-
run: |
|
|
154
|
-
VERSION=${GITHUB_REF#refs/tags/v}
|
|
155
|
-
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
156
|
-
echo "tag_name=v$VERSION" >> $GITHUB_OUTPUT
|
|
157
|
-
|
|
158
|
-
# ===== GITHUB RELEASE =====
|
|
159
|
-
github-release:
|
|
160
|
-
runs-on: ubuntu-latest
|
|
161
|
-
needs: publish
|
|
162
|
-
if: startsWith(github.ref, 'refs/tags/v')
|
|
163
|
-
|
|
164
|
-
steps:
|
|
165
|
-
- name: 📥 Checkout code
|
|
166
|
-
uses: actions/checkout@v4
|
|
167
|
-
|
|
168
|
-
- name: 📥 Download build artifacts
|
|
169
|
-
uses: actions/download-artifact@v4
|
|
170
|
-
with:
|
|
171
|
-
name: dist-files
|
|
172
|
-
path: dist/
|
|
173
|
-
|
|
174
|
-
- name: 📦 Create release archive
|
|
175
|
-
run: |
|
|
176
|
-
tar -czf better-logger-dist.tar.gz dist/
|
|
177
|
-
zip -r better-logger-dist.zip dist/
|
|
178
|
-
|
|
179
|
-
- name: 🏷️ Create GitHub Release
|
|
180
|
-
uses: softprops/action-gh-release@v1
|
|
181
|
-
with:
|
|
182
|
-
name: Better Logger ${{ github.ref_name }}
|
|
183
|
-
tag_name: ${{ github.ref_name }}
|
|
184
|
-
body: |
|
|
185
|
-
## 🚀 Better Logger ${{ github.ref_name }}
|
|
186
|
-
|
|
187
|
-
### 📦 Installation
|
|
188
|
-
```bash
|
|
189
|
-
npm install @mks2508/better-logger@${{ github.ref_name }}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### 📊 Bundle Sizes
|
|
193
|
-
- **Full library**: ~64KB (13KB gzipped)
|
|
194
|
-
- **Core module**: ~6KB (2KB gzipped)
|
|
195
|
-
- **Styling module**: ~26KB (5KB gzipped)
|
|
196
|
-
- **Exports module**: ~12KB (3KB gzipped)
|
|
197
|
-
|
|
198
|
-
### 🔗 Links
|
|
199
|
-
- [📚 Documentation](https://mks2508.github.io/advanced-logger/)
|
|
200
|
-
- [🧩 Examples](https://github.com/MKS2508/advanced-logger/tree/main/examples)
|
|
201
|
-
- [📋 Changelog](https://github.com/MKS2508/advanced-logger/blob/main/CHANGELOG.md)
|
|
202
|
-
|
|
203
|
-
### 📁 Assets
|
|
204
|
-
- `better-logger-dist.tar.gz` - Distribution files (tar.gz)
|
|
205
|
-
- `better-logger-dist.zip` - Distribution files (zip)
|
|
206
|
-
files: |
|
|
207
|
-
better-logger-dist.tar.gz
|
|
208
|
-
better-logger-dist.zip
|
|
209
|
-
env:
|
|
210
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
211
108
|
|
|
212
109
|
# ===== DEPLOY GITHUB PAGES =====
|
|
213
110
|
deploy-docs:
|
|
@@ -243,13 +140,18 @@ jobs:
|
|
|
243
140
|
name: dist-files
|
|
244
141
|
path: dist/
|
|
245
142
|
|
|
246
|
-
- name: 🏗️
|
|
143
|
+
- name: 🏗️ Setup site structure
|
|
247
144
|
run: |
|
|
248
|
-
mkdir -p docs
|
|
249
|
-
|
|
250
|
-
cp
|
|
251
|
-
cp -r
|
|
252
|
-
|
|
145
|
+
mkdir -p _site/docs
|
|
146
|
+
# Copy demo as root
|
|
147
|
+
cp demo.html _site/index.html
|
|
148
|
+
cp -r dist/ _site/dist/
|
|
149
|
+
|
|
150
|
+
- name: 📤 Build Jekyll documentation
|
|
151
|
+
uses: actions/jekyll-build-pages@v1
|
|
152
|
+
with:
|
|
153
|
+
source: ./docs
|
|
154
|
+
destination: ./_site/docs
|
|
253
155
|
|
|
254
156
|
- name: 📤 Setup Pages
|
|
255
157
|
uses: actions/configure-pages@v4
|
|
@@ -257,7 +159,7 @@ jobs:
|
|
|
257
159
|
- name: 📤 Upload to Pages
|
|
258
160
|
uses: actions/upload-pages-artifact@v3
|
|
259
161
|
with:
|
|
260
|
-
path:
|
|
162
|
+
path: ./_site
|
|
261
163
|
|
|
262
164
|
- name: 🚀 Deploy to GitHub Pages
|
|
263
165
|
id: deployment
|