@mks2508/better-logger 0.0.2-alpha.2 → 0.3.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.
Files changed (326) hide show
  1. package/.claude/settings.local.json +18 -2
  2. package/.github/workflows/ci-quality.yml +357 -0
  3. package/.github/workflows/docs-demo.yml +119 -0
  4. package/.github/workflows/releases-core.yml +512 -0
  5. package/.github/workflows/releases-full.yml +582 -0
  6. package/.github/{workflows → workflows-backup}/ci.yml +12 -110
  7. package/.github/workflows-backup/nightly.yml +196 -0
  8. package/.github/workflows-backup/release-optimized.yml +373 -0
  9. package/.release-notes-0.2.0.md +129 -0
  10. package/.yamllint +28 -0
  11. package/CHANGELOG.json +783 -0
  12. package/CLAUDE.md +92 -1
  13. package/README.md +198 -490
  14. package/bun.lock +323 -0
  15. package/demo.html +9 -2
  16. package/dist/.tsbuildinfo +1 -0
  17. package/dist/Logger.d.ts +272 -0
  18. package/dist/Logger.d.ts.map +1 -0
  19. package/dist/Logger.js +680 -0
  20. package/dist/ScopedLogger.d.ts +126 -0
  21. package/dist/ScopedLogger.d.ts.map +1 -0
  22. package/dist/ScopedLogger.js +234 -0
  23. package/dist/chunks/Logger-BpeuYIxR.js +2 -0
  24. package/dist/chunks/Logger-BpeuYIxR.js.map +1 -0
  25. package/dist/chunks/Logger-Didxtr23.js +3275 -0
  26. package/dist/chunks/Logger-Didxtr23.js.map +1 -0
  27. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
  28. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
  29. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
  30. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
  31. package/dist/chunks/environment-Bxbnw4pd.js +544 -0
  32. package/dist/chunks/environment-Bxbnw4pd.js.map +1 -0
  33. package/dist/chunks/environment-Dm66zOML.js +4 -0
  34. package/dist/chunks/environment-Dm66zOML.js.map +1 -0
  35. package/dist/chunks/formatting-C0riPC5_.js +95 -0
  36. package/dist/chunks/formatting-C0riPC5_.js.map +1 -0
  37. package/dist/chunks/formatting-DNCAV66-.js +2 -0
  38. package/dist/chunks/formatting-DNCAV66-.js.map +1 -0
  39. package/dist/cli/CommandProcessor.d.ts +103 -0
  40. package/dist/cli/CommandProcessor.d.ts.map +1 -0
  41. package/dist/cli/CommandProcessor.js +184 -0
  42. package/dist/cli/commands/ConfigCommand.d.ts +17 -0
  43. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
  44. package/dist/cli/commands/ConfigCommand.js +88 -0
  45. package/dist/cli/commands/ExportCommand.d.ts +51 -0
  46. package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
  47. package/dist/cli/commands/ExportCommand.js +243 -0
  48. package/dist/cli/commands/HistoryCommand.d.ts +50 -0
  49. package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
  50. package/dist/cli/commands/HistoryCommand.js +96 -0
  51. package/dist/cli/commands/StatusCommand.d.ts +33 -0
  52. package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
  53. package/dist/cli/commands/StatusCommand.js +93 -0
  54. package/dist/cli/commands/ThemeCommand.d.ts +33 -0
  55. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
  56. package/dist/cli/commands/ThemeCommand.js +79 -0
  57. package/dist/cli/help.d.ts +15 -0
  58. package/dist/cli/help.d.ts.map +1 -0
  59. package/dist/cli/help.js +118 -0
  60. package/dist/cli/index.d.ts +15 -0
  61. package/dist/cli/index.d.ts.map +1 -0
  62. package/dist/cli/index.js +46 -0
  63. package/dist/constants.d.ts +122 -0
  64. package/dist/constants.d.ts.map +1 -0
  65. package/dist/constants.js +159 -0
  66. package/dist/core.cjs +1 -1
  67. package/dist/core.cjs.map +1 -1
  68. package/dist/core.d.ts +134 -0
  69. package/dist/core.d.ts.map +1 -0
  70. package/dist/core.js +315 -242
  71. package/dist/core.js.map +1 -1
  72. package/dist/example.d.ts +18 -0
  73. package/dist/example.d.ts.map +1 -0
  74. package/dist/example.js +154 -0
  75. package/dist/exports-module.d.ts +203 -0
  76. package/dist/exports-module.d.ts.map +1 -0
  77. package/dist/exports-module.js +260 -0
  78. package/dist/exports.cjs +1 -1
  79. package/dist/exports.cjs.map +1 -1
  80. package/dist/exports.js +5 -4
  81. package/dist/exports.js.map +1 -1
  82. package/dist/handlers/AnalyticsLogHandler.d.ts +11 -0
  83. package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  84. package/dist/handlers/AnalyticsLogHandler.js +19 -0
  85. package/dist/handlers/ExportLogHandler.d.ts +103 -0
  86. package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
  87. package/dist/handlers/ExportLogHandler.js +516 -0
  88. package/dist/handlers/FileLogHandler.d.ts +36 -0
  89. package/dist/handlers/FileLogHandler.d.ts.map +1 -0
  90. package/dist/handlers/FileLogHandler.js +156 -0
  91. package/dist/handlers/RemoteLogHandler.d.ts +14 -0
  92. package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
  93. package/dist/handlers/RemoteLogHandler.js +37 -0
  94. package/dist/handlers/index.d.ts +8 -0
  95. package/dist/handlers/index.d.ts.map +1 -0
  96. package/dist/handlers/index.js +7 -0
  97. package/dist/index.cjs +1 -1
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.ts +86 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +89 -103
  102. package/dist/index.js.map +1 -1
  103. package/dist/main.d.ts +2 -0
  104. package/dist/main.d.ts.map +1 -0
  105. package/dist/main.js +139 -0
  106. package/dist/styling/LogStyleBuilder.d.ts +149 -0
  107. package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
  108. package/dist/styling/LogStyleBuilder.js +289 -0
  109. package/dist/styling/SemanticStyles.d.ts +181 -0
  110. package/dist/styling/SemanticStyles.d.ts.map +1 -0
  111. package/dist/styling/SemanticStyles.js +339 -0
  112. package/dist/styling/SmartPresets.d.ts +25 -0
  113. package/dist/styling/SmartPresets.d.ts.map +1 -0
  114. package/dist/styling/SmartPresets.js +276 -0
  115. package/dist/styling/StyleBuilder.d.ts +140 -0
  116. package/dist/styling/StyleBuilder.d.ts.map +1 -0
  117. package/dist/styling/StyleBuilder.js +280 -0
  118. package/dist/styling/banners.d.ts +45 -0
  119. package/dist/styling/banners.d.ts.map +1 -0
  120. package/dist/styling/banners.js +155 -0
  121. package/dist/styling/index.d.ts +10 -0
  122. package/dist/styling/index.d.ts.map +1 -0
  123. package/dist/styling/index.js +9 -0
  124. package/dist/styling/themes.d.ts +10 -0
  125. package/dist/styling/themes.d.ts.map +1 -0
  126. package/dist/styling/themes.js +231 -0
  127. package/dist/styling-module.d.ts +185 -0
  128. package/dist/styling-module.d.ts.map +1 -0
  129. package/dist/styling-module.js +199 -0
  130. package/dist/styling.cjs +1 -1
  131. package/dist/styling.cjs.map +1 -1
  132. package/dist/styling.js +6 -6
  133. package/dist/styling.js.map +1 -1
  134. package/dist/types/Logger.d.ts +268 -0
  135. package/dist/types/Logger.d.ts.map +1 -0
  136. package/dist/types/ScopedLogger.d.ts +123 -0
  137. package/dist/types/ScopedLogger.d.ts.map +1 -0
  138. package/dist/types/cli/CommandProcessor.d.ts +100 -0
  139. package/dist/types/cli/CommandProcessor.d.ts.map +1 -0
  140. package/dist/types/cli/commands/ConfigCommand.d.ts +14 -0
  141. package/dist/types/cli/commands/ConfigCommand.d.ts.map +1 -0
  142. package/dist/types/cli/commands/ExportCommand.d.ts +48 -0
  143. package/dist/types/cli/commands/ExportCommand.d.ts.map +1 -0
  144. package/dist/types/cli/commands/HistoryCommand.d.ts +47 -0
  145. package/dist/types/cli/commands/HistoryCommand.d.ts.map +1 -0
  146. package/dist/types/cli/commands/StatusCommand.d.ts +30 -0
  147. package/dist/types/cli/commands/StatusCommand.d.ts.map +1 -0
  148. package/dist/types/cli/commands/ThemeCommand.d.ts +30 -0
  149. package/dist/types/cli/commands/ThemeCommand.d.ts.map +1 -0
  150. package/dist/types/cli/help.d.ts +12 -0
  151. package/dist/types/cli/help.d.ts.map +1 -0
  152. package/dist/types/cli/index.d.ts +15 -0
  153. package/dist/types/cli/index.d.ts.map +1 -0
  154. package/dist/types/constants.d.ts +119 -0
  155. package/dist/types/constants.d.ts.map +1 -0
  156. package/dist/types/core.d.ts +125 -211
  157. package/dist/types/core.d.ts.map +1 -0
  158. package/dist/types/core.js +13 -0
  159. package/dist/types/example.d.ts +18 -0
  160. package/dist/types/example.d.ts.map +1 -0
  161. package/dist/types/exports-module.d.ts +196 -0
  162. package/dist/types/exports-module.d.ts.map +1 -0
  163. package/dist/types/handlers/AnalyticsLogHandler.d.ts +8 -0
  164. package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  165. package/dist/types/handlers/ExportLogHandler.d.ts +100 -0
  166. package/dist/types/handlers/ExportLogHandler.d.ts.map +1 -0
  167. package/dist/types/handlers/FileLogHandler.d.ts +33 -0
  168. package/dist/types/handlers/FileLogHandler.d.ts.map +1 -0
  169. package/dist/types/handlers/RemoteLogHandler.d.ts +11 -0
  170. package/dist/types/handlers/RemoteLogHandler.d.ts.map +1 -0
  171. package/dist/types/handlers/index.d.ts +8 -0
  172. package/dist/types/handlers/index.d.ts.map +1 -0
  173. package/dist/types/handlers.d.ts +88 -0
  174. package/dist/types/handlers.d.ts.map +1 -0
  175. package/dist/types/handlers.js +4 -0
  176. package/dist/types/index.d.ts +7 -675
  177. package/dist/types/index.d.ts.map +1 -0
  178. package/dist/types/index.js +4 -0
  179. package/dist/types/main.d.ts +2 -0
  180. package/dist/types/main.d.ts.map +1 -0
  181. package/dist/types/styling/LogStyleBuilder.d.ts +146 -0
  182. package/dist/types/styling/LogStyleBuilder.d.ts.map +1 -0
  183. package/dist/types/styling/SemanticStyles.d.ts +178 -0
  184. package/dist/types/styling/SemanticStyles.d.ts.map +1 -0
  185. package/dist/types/styling/SmartPresets.d.ts +22 -0
  186. package/dist/types/styling/SmartPresets.d.ts.map +1 -0
  187. package/dist/types/styling/StyleBuilder.d.ts +140 -0
  188. package/dist/types/styling/StyleBuilder.d.ts.map +1 -0
  189. package/dist/types/styling/banners.d.ts +42 -0
  190. package/dist/types/styling/banners.d.ts.map +1 -0
  191. package/dist/types/styling/index.d.ts +10 -0
  192. package/dist/types/styling/index.d.ts.map +1 -0
  193. package/dist/types/styling/themes.d.ts +7 -0
  194. package/dist/types/styling/themes.d.ts.map +1 -0
  195. package/dist/types/styling-module.d.ts +178 -0
  196. package/dist/types/styling-module.d.ts.map +1 -0
  197. package/dist/types/types/core.d.ts +125 -0
  198. package/dist/types/types/core.d.ts.map +1 -0
  199. package/dist/types/types/handlers.d.ts +85 -0
  200. package/dist/types/types/handlers.d.ts.map +1 -0
  201. package/dist/types/types/index.d.ts +7 -0
  202. package/dist/types/types/index.d.ts.map +1 -0
  203. package/dist/types/utils/environment.d.ts +47 -0
  204. package/dist/types/utils/environment.d.ts.map +1 -0
  205. package/dist/types/utils/formatting.d.ts +37 -0
  206. package/dist/types/utils/formatting.d.ts.map +1 -0
  207. package/dist/types/utils/index.d.ts +7 -0
  208. package/dist/types/utils/index.d.ts.map +1 -0
  209. package/dist/types/utils/opentui-detection.d.ts +34 -0
  210. package/dist/types/utils/opentui-detection.d.ts.map +1 -0
  211. package/dist/types/utils/output.d.ts +41 -0
  212. package/dist/types/utils/output.d.ts.map +1 -0
  213. package/dist/types/utils/stackTrace.d.ts +6 -0
  214. package/dist/types/utils/stackTrace.d.ts.map +1 -0
  215. package/dist/types/utils/timestamps.d.ts +20 -0
  216. package/dist/types/utils/timestamps.d.ts.map +1 -0
  217. package/dist/utils/environment.d.ts +47 -0
  218. package/dist/utils/environment.d.ts.map +1 -0
  219. package/dist/utils/environment.js +85 -0
  220. package/dist/utils/formatting.d.ts +40 -0
  221. package/dist/utils/formatting.d.ts.map +1 -0
  222. package/dist/utils/formatting.js +117 -0
  223. package/dist/utils/index.d.ts +7 -0
  224. package/dist/utils/index.d.ts.map +1 -0
  225. package/dist/utils/index.js +6 -0
  226. package/dist/utils/opentui-detection.d.ts +34 -0
  227. package/dist/utils/opentui-detection.d.ts.map +1 -0
  228. package/dist/utils/opentui-detection.js +116 -0
  229. package/dist/utils/output.d.ts +44 -0
  230. package/dist/utils/output.d.ts.map +1 -0
  231. package/dist/utils/output.js +150 -0
  232. package/dist/utils/stackTrace.d.ts +9 -0
  233. package/dist/utils/stackTrace.d.ts.map +1 -0
  234. package/dist/utils/stackTrace.js +81 -0
  235. package/dist/utils/timestamps.d.ts +20 -0
  236. package/dist/utils/timestamps.d.ts.map +1 -0
  237. package/dist/utils/timestamps.js +71 -0
  238. package/docs/API.md +691 -0
  239. package/docs/CORE.md +10 -10
  240. package/docs/DEVELOPMENT.md +731 -0
  241. package/docs/PACKAGES.md +244 -0
  242. package/docs/_config.yml +36 -0
  243. package/docs/index.md +179 -0
  244. package/examples/README.md +208 -0
  245. package/examples/basic-logging.js +75 -0
  246. package/examples/data-export.js +234 -0
  247. package/examples/package.json +16 -0
  248. package/examples/performance-timing.js +170 -0
  249. package/examples/simplified-api.js +124 -0
  250. package/examples/styling-themes.js +207 -0
  251. package/package.json +37 -21
  252. package/packages/core/package.json +57 -0
  253. package/packages/exports/package.json +41 -0
  254. package/packages/nodejs-opentui/README.md +232 -0
  255. package/packages/nodejs-opentui/package.json +72 -0
  256. package/packages/nodejs-opentui/src/LogRenderer.ts +171 -0
  257. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +178 -0
  258. package/packages/nodejs-opentui/src/components/LogBadge.tsx +131 -0
  259. package/packages/nodejs-opentui/src/index.ts +133 -0
  260. package/packages/nodejs-opentui/src/types.ts +158 -0
  261. package/packages/nodejs-opentui/tsconfig.json +20 -0
  262. package/packages/styling/package.json +41 -0
  263. package/project-utils/README.md +172 -0
  264. package/project-utils/auto-release-gemini.ts +1193 -0
  265. package/project-utils/auto-release-ui.ts +1329 -0
  266. package/project-utils/commit-generator.ts +1385 -0
  267. package/project-utils/commit-ui.ts +264 -0
  268. package/project-utils/git-utils.ts +199 -0
  269. package/project-utils/github-release-manager.ts +466 -0
  270. package/project-utils/project-config.ts +260 -0
  271. package/project-utils/prompt-templates.js +345 -0
  272. package/project-utils/prompt-templates.ts +422 -0
  273. package/project-utils/version-manager.ts +1078 -0
  274. package/src/Logger.ts +251 -16
  275. package/src/ScopedLogger.ts +262 -0
  276. package/src/cli/CommandProcessor.ts +173 -2
  277. package/src/cli/commands/HistoryCommand.ts +117 -0
  278. package/src/cli/index.ts +12 -0
  279. package/src/constants.ts +84 -2
  280. package/src/core.ts +119 -46
  281. package/src/example.ts +4 -4
  282. package/src/exports-module.ts +1 -1
  283. package/src/handlers/ExportLogHandler.ts +141 -0
  284. package/src/handlers/FileLogHandler.ts +144 -5
  285. package/src/index.ts +1 -1
  286. package/src/main.ts +3 -3
  287. package/src/styling/LogStyleBuilder.ts +355 -0
  288. package/src/styling/SemanticStyles.ts +380 -0
  289. package/src/styling/SmartPresets.ts +288 -0
  290. package/src/styling/StyleBuilder.ts +14 -0
  291. package/src/styling/index.ts +16 -1
  292. package/src/styling-module.ts +1 -1
  293. package/src/types/core.ts +60 -0
  294. package/src/types/index.ts +6 -0
  295. package/src/utils/environment.ts +94 -0
  296. package/src/utils/formatting.ts +142 -0
  297. package/src/utils/index.ts +3 -0
  298. package/src/utils/opentui-detection.ts +138 -0
  299. package/src/utils/output.ts +66 -8
  300. package/test-core-browser.html +237 -0
  301. package/test-core-node.js +63 -0
  302. package/tests/test-conflict-resolution.ts +391 -0
  303. package/tests/validate-workflows.sh +131 -0
  304. package/tests/yaml-autofix.sh +146 -0
  305. package/vite.config.ts +189 -50
  306. package/.npmrc.bak +0 -1
  307. package/dist/chunks/Logger-BQhMKy_T.js +0 -2
  308. package/dist/chunks/Logger-BQhMKy_T.js.map +0 -1
  309. package/dist/chunks/Logger-BrFKFZcD.js +0 -978
  310. package/dist/chunks/Logger-BrFKFZcD.js.map +0 -1
  311. package/dist/chunks/core-2opW4Pi3.js +0 -194
  312. package/dist/chunks/core-2opW4Pi3.js.map +0 -1
  313. package/dist/chunks/core-DyugwSYZ.js +0 -4
  314. package/dist/chunks/core-DyugwSYZ.js.map +0 -1
  315. package/dist/chunks/exports-BNP3R7dp.js +0 -421
  316. package/dist/chunks/exports-BNP3R7dp.js.map +0 -1
  317. package/dist/chunks/exports-U1xLBXrY.js +0 -2
  318. package/dist/chunks/exports-U1xLBXrY.js.map +0 -1
  319. package/dist/chunks/styling-DhUDzwlE.js +0 -654
  320. package/dist/chunks/styling-DhUDzwlE.js.map +0 -1
  321. package/dist/chunks/styling-tmRDI28D.js +0 -2
  322. package/dist/chunks/styling-tmRDI28D.js.map +0 -1
  323. package/dist/types/exports.d.ts +0 -600
  324. package/dist/types/styling.d.ts +0 -751
  325. package/src/Logger.ts.backup +0 -1684
  326. /package/.github/{workflows → workflows-backup}/release.yml +0 -0
@@ -0,0 +1,373 @@
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
@@ -0,0 +1,129 @@
1
+ # Better Logger - 0.2.0
2
+
3
+ ## 📋 Resumen
4
+ Nuevas funcionalidades incluyendo feat(package): update to v4.0.0-alpha.1 pre-release version y 4 más
5
+
6
+ ## ✨ Nuevas Funcionalidades
7
+ - feat(package): update to v4.0.0-alpha.1 pre-release version
8
+ - feat(package): publish as @mks2508/better-logger@0.0.1
9
+ - Demo profesional interactivo con CDN imports
10
+ - Showcase completo de todas las funcionalidades del logger
11
+ - Ejemplos visuales de temas y animaciones CSS
12
+
13
+ ## 🐛 Correcciones
14
+ - fix(ci): correct script names in performance and visual test jobs
15
+ - ✅ CSS assets Jekyll cargando correctamente
16
+ - ✅ CORS error demo solucionado con jsDelivr
17
+ - ✅ Navegación funcionando entre demo y docs
18
+ - ✅ NPM registry configurado para package linking
19
+ - ✅ Preparado para release con token
20
+
21
+ ## 🚀 Mejoras
22
+ - 🎨 **Sistema de Banner Inteligente** - 5 tipos diferentes con auto-detección
23
+ - 🚀 **CLI Avanzado** - Comandos completos para configuración y demostración
24
+ - 🎯 **Detección Browser** - Optimización automática según capacidades
25
+ - 📱 **Soporte SVG** - Logos vectoriales con animaciones embebidas
26
+ - ✨ **CSS Animations** - Gradientes animados y efectos visuales
27
+ - 🌈 **Sistema de Temas** - 4 esquemas visuales con banners únicos
28
+ - 🔧 **Progressive Enhancement** - Fallbacks para máxima compatibilidad
29
+ - 🎪 **Modo Demo** - Demostración interactiva de todas las capacidades
30
+ - Chrome: Todas las features (SVG + animaciones + gradientes)
31
+ - Firefox: SVG y gradientes avanzados
32
+ - Safari: ASCII art y colores básicos
33
+ - Edge/Otros: Banner simple con estilos CSS
34
+ - Optimización de pipelines CI/CD con scripts npm predefinidos
35
+ - Consistencia en comandos de build y deploy
36
+ - Mejor organización de procesos de release
37
+ - Diseño responsive para la demo
38
+ - Efectos visuales modernos con CSS Grid y gradientes
39
+ - Navegación intuitiva por categorías de features
40
+ - 0.0.2-alpha.0
41
+ - Añadidos scripts placeholder para tests de performance y visuales
42
+ - Pipeline CI/CD ahora completa exitosamente durante desarrollo
43
+ - Preparación para implementación de sistema de testing comprehensivo
44
+ - Publicación dual automática a npmjs
45
+ - Configuración
46
+ - Pipeline de release completamente automatizado
47
+ - Corrección de permisos en workflows de GitHub Actions
48
+ - Autenticación dual para ambos registries NPM
49
+ - Scripts CI optimizados para publicación en paralelo
50
+ - Scope @mks2508 configurado para prevenir publicaciones accidentales
51
+ - Autenticación segura usando GITHUB_TOKEN y NPM_TOKEN
52
+ - chore: release v0.0.2-alpha.1
53
+ - Fixed publishing pipeline failures por hooks prepublishOnly
54
+ - Optimización de publish usando artifacts pre-generados
55
+ - chore: release v0.0.2-alpha.2
56
+ - Added bugs URL para better issue tracking
57
+ - Added homepage URL pointing to GitHub Pages demo
58
+ - Improved repository URL format for better GitHub integration
59
+ - 0.0.2-alpha.2
60
+ - ✅ Documentación completa en GitHub Pages con Jekyll
61
+ - ✅ API reference con todos los métodos, tipos e interfaces
62
+ - ✅ Development guide con casos de uso y patrones
63
+ - ✅ 4 ejemplos prácticos ejecutables (basic, performance, styling, export)
64
+ - ✅ Configuración Jekyll para navegación y SEO
65
+ - ✅ Estructura docs/ organizada sin duplicaciones
66
+ - ✅ Jekyll configurado correctamente desde /docs/
67
+ - ✅ Workflow GitHub Actions optimizado para Jekyll
68
+ - ✅ Demo accesible desde documentación
69
+ - ✅ Navegación completa API + Development + Demo
70
+ - ✅ Estructura GitHub docs estándar
71
+ - ✅ Demo en raíz (/) del sitio GitHub Pages
72
+ - ✅ Documentación Jekyll en /docs/ del sitio
73
+ - ✅ Navegación correcta entre demo y documentación
74
+ - ✅ Enlaces actualizados en toda la documentación
75
+ - ✅ Estructura GitHub Pages estándar optimizada
76
+ - 0.0.2
77
+ - ✅ GitHub Pages CSS assets funcionando
78
+ - ✅ Demo CORS error resuelto con jsDelivr
79
+ - ✅ NPM token configurado para auto-publish
80
+ - ✅ Package se vinculará automáticamente al repo
81
+ - ✅ Documentación completa accesible
82
+ - 0.0.3-alpha.0
83
+
84
+ ## 📦 Instalación
85
+
86
+
87
+ ```bash
88
+ npm install @mks2508/better-logger@0.2.0
89
+ ```
90
+
91
+ ## Uso
92
+
93
+ ```javascript
94
+ import { Logger } from '@mks2508/better-logger';
95
+
96
+ const logger = new Logger();
97
+ logger.info('¡Hola mundo!');
98
+ ```
99
+
100
+ ---
101
+
102
+ *Release generada automáticamente el 2025-08-29*
103
+
104
+ ## 📁 Archivos de la Release
105
+
106
+ - **styling.cjs.map** (0.0 MB)
107
+ - **types** (0.0 MB)
108
+ - **exports.js.map** (0.0 MB)
109
+ - **core.js** (0.0 MB)
110
+ - **styling.js** (0.0 MB)
111
+ - **styling.cjs** (0.0 MB)
112
+ - **exports.js** (0.0 MB)
113
+ - **index.js** (0.0 MB)
114
+ - **core.cjs** (0.0 MB)
115
+ - **core.js.map** (0.0 MB)
116
+ - **vite.svg** (0.0 MB)
117
+ - **chunks** (0.0 MB)
118
+ - **index.cjs.map** (0.0 MB)
119
+ - **exports.cjs.map** (0.0 MB)
120
+ - **index.cjs** (0.0 MB)
121
+ - **exports.cjs** (0.0 MB)
122
+ - **index.js.map** (0.0 MB)
123
+ - **styling.js.map** (0.0 MB)
124
+ - **core.cjs.map** (0.0 MB)
125
+
126
+ ---
127
+
128
+ 🏗️ **Plataforma objetivo**: Universal (Browser/Node.js)
129
+ 🗓️ **Fecha**: 2025-08-29
package/.yamllint ADDED
@@ -0,0 +1,28 @@
1
+ extends: default
2
+
3
+ rules:
4
+ # Permitir líneas más largas para GitHub Actions
5
+ line-length:
6
+ max: 120
7
+ level: warning
8
+
9
+ # Permitir valores boolean como arrays (GitHub Actions syntax)
10
+ truthy:
11
+ allowed-values: ['true', 'false', 'on', 'off', 'yes', 'no']
12
+ check-keys: false
13
+
14
+ # Permitir indentación más flexible
15
+ indentation:
16
+ spaces: 2
17
+ indent-sequences: true
18
+ check-multi-line-strings: false
19
+
20
+ # Menos estricto con comentarios
21
+ comments:
22
+ min-spaces-from-content: 1
23
+
24
+ # Permitir líneas vacías
25
+ empty-lines:
26
+ max-start: 3
27
+ max-end: 3
28
+ max: 3