@mks2508/better-logger 0.0.2-alpha.0 → 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 (325) hide show
  1. package/.claude/settings.local.json +24 -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 +14 -100
  7. package/.github/workflows-backup/nightly.yml +196 -0
  8. package/.github/workflows-backup/release-optimized.yml +373 -0
  9. package/.github/{workflows → workflows-backup}/release.yml +22 -1
  10. package/.release-notes-0.2.0.md +129 -0
  11. package/.yamllint +28 -0
  12. package/CHANGELOG.json +783 -0
  13. package/CLAUDE.md +92 -1
  14. package/README.md +198 -490
  15. package/bun.lock +323 -0
  16. package/demo.html +9 -2
  17. package/dist/.tsbuildinfo +1 -0
  18. package/dist/Logger.d.ts +272 -0
  19. package/dist/Logger.d.ts.map +1 -0
  20. package/dist/Logger.js +680 -0
  21. package/dist/ScopedLogger.d.ts +126 -0
  22. package/dist/ScopedLogger.d.ts.map +1 -0
  23. package/dist/ScopedLogger.js +234 -0
  24. package/dist/chunks/Logger-BpeuYIxR.js +2 -0
  25. package/dist/chunks/Logger-BpeuYIxR.js.map +1 -0
  26. package/dist/chunks/Logger-Didxtr23.js +3275 -0
  27. package/dist/chunks/Logger-Didxtr23.js.map +1 -0
  28. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
  29. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
  30. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
  31. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
  32. package/dist/chunks/environment-Bxbnw4pd.js +544 -0
  33. package/dist/chunks/environment-Bxbnw4pd.js.map +1 -0
  34. package/dist/chunks/environment-Dm66zOML.js +4 -0
  35. package/dist/chunks/environment-Dm66zOML.js.map +1 -0
  36. package/dist/chunks/formatting-C0riPC5_.js +95 -0
  37. package/dist/chunks/formatting-C0riPC5_.js.map +1 -0
  38. package/dist/chunks/formatting-DNCAV66-.js +2 -0
  39. package/dist/chunks/formatting-DNCAV66-.js.map +1 -0
  40. package/dist/cli/CommandProcessor.d.ts +103 -0
  41. package/dist/cli/CommandProcessor.d.ts.map +1 -0
  42. package/dist/cli/CommandProcessor.js +184 -0
  43. package/dist/cli/commands/ConfigCommand.d.ts +17 -0
  44. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
  45. package/dist/cli/commands/ConfigCommand.js +88 -0
  46. package/dist/cli/commands/ExportCommand.d.ts +51 -0
  47. package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
  48. package/dist/cli/commands/ExportCommand.js +243 -0
  49. package/dist/cli/commands/HistoryCommand.d.ts +50 -0
  50. package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
  51. package/dist/cli/commands/HistoryCommand.js +96 -0
  52. package/dist/cli/commands/StatusCommand.d.ts +33 -0
  53. package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
  54. package/dist/cli/commands/StatusCommand.js +93 -0
  55. package/dist/cli/commands/ThemeCommand.d.ts +33 -0
  56. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
  57. package/dist/cli/commands/ThemeCommand.js +79 -0
  58. package/dist/cli/help.d.ts +15 -0
  59. package/dist/cli/help.d.ts.map +1 -0
  60. package/dist/cli/help.js +118 -0
  61. package/dist/cli/index.d.ts +15 -0
  62. package/dist/cli/index.d.ts.map +1 -0
  63. package/dist/cli/index.js +46 -0
  64. package/dist/constants.d.ts +122 -0
  65. package/dist/constants.d.ts.map +1 -0
  66. package/dist/constants.js +159 -0
  67. package/dist/core.cjs +1 -1
  68. package/dist/core.cjs.map +1 -1
  69. package/dist/core.d.ts +134 -0
  70. package/dist/core.d.ts.map +1 -0
  71. package/dist/core.js +315 -242
  72. package/dist/core.js.map +1 -1
  73. package/dist/example.d.ts +18 -0
  74. package/dist/example.d.ts.map +1 -0
  75. package/dist/example.js +154 -0
  76. package/dist/exports-module.d.ts +203 -0
  77. package/dist/exports-module.d.ts.map +1 -0
  78. package/dist/exports-module.js +260 -0
  79. package/dist/exports.cjs +1 -1
  80. package/dist/exports.cjs.map +1 -1
  81. package/dist/exports.js +5 -4
  82. package/dist/exports.js.map +1 -1
  83. package/dist/handlers/AnalyticsLogHandler.d.ts +11 -0
  84. package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  85. package/dist/handlers/AnalyticsLogHandler.js +19 -0
  86. package/dist/handlers/ExportLogHandler.d.ts +103 -0
  87. package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
  88. package/dist/handlers/ExportLogHandler.js +516 -0
  89. package/dist/handlers/FileLogHandler.d.ts +36 -0
  90. package/dist/handlers/FileLogHandler.d.ts.map +1 -0
  91. package/dist/handlers/FileLogHandler.js +156 -0
  92. package/dist/handlers/RemoteLogHandler.d.ts +14 -0
  93. package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
  94. package/dist/handlers/RemoteLogHandler.js +37 -0
  95. package/dist/handlers/index.d.ts +8 -0
  96. package/dist/handlers/index.d.ts.map +1 -0
  97. package/dist/handlers/index.js +7 -0
  98. package/dist/index.cjs +1 -1
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.ts +86 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +89 -103
  103. package/dist/index.js.map +1 -1
  104. package/dist/main.d.ts +2 -0
  105. package/dist/main.d.ts.map +1 -0
  106. package/dist/main.js +139 -0
  107. package/dist/styling/LogStyleBuilder.d.ts +149 -0
  108. package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
  109. package/dist/styling/LogStyleBuilder.js +289 -0
  110. package/dist/styling/SemanticStyles.d.ts +181 -0
  111. package/dist/styling/SemanticStyles.d.ts.map +1 -0
  112. package/dist/styling/SemanticStyles.js +339 -0
  113. package/dist/styling/SmartPresets.d.ts +25 -0
  114. package/dist/styling/SmartPresets.d.ts.map +1 -0
  115. package/dist/styling/SmartPresets.js +276 -0
  116. package/dist/styling/StyleBuilder.d.ts +140 -0
  117. package/dist/styling/StyleBuilder.d.ts.map +1 -0
  118. package/dist/styling/StyleBuilder.js +280 -0
  119. package/dist/styling/banners.d.ts +45 -0
  120. package/dist/styling/banners.d.ts.map +1 -0
  121. package/dist/styling/banners.js +155 -0
  122. package/dist/styling/index.d.ts +10 -0
  123. package/dist/styling/index.d.ts.map +1 -0
  124. package/dist/styling/index.js +9 -0
  125. package/dist/styling/themes.d.ts +10 -0
  126. package/dist/styling/themes.d.ts.map +1 -0
  127. package/dist/styling/themes.js +231 -0
  128. package/dist/styling-module.d.ts +185 -0
  129. package/dist/styling-module.d.ts.map +1 -0
  130. package/dist/styling-module.js +199 -0
  131. package/dist/styling.cjs +1 -1
  132. package/dist/styling.cjs.map +1 -1
  133. package/dist/styling.js +6 -6
  134. package/dist/styling.js.map +1 -1
  135. package/dist/types/Logger.d.ts +268 -0
  136. package/dist/types/Logger.d.ts.map +1 -0
  137. package/dist/types/ScopedLogger.d.ts +123 -0
  138. package/dist/types/ScopedLogger.d.ts.map +1 -0
  139. package/dist/types/cli/CommandProcessor.d.ts +100 -0
  140. package/dist/types/cli/CommandProcessor.d.ts.map +1 -0
  141. package/dist/types/cli/commands/ConfigCommand.d.ts +14 -0
  142. package/dist/types/cli/commands/ConfigCommand.d.ts.map +1 -0
  143. package/dist/types/cli/commands/ExportCommand.d.ts +48 -0
  144. package/dist/types/cli/commands/ExportCommand.d.ts.map +1 -0
  145. package/dist/types/cli/commands/HistoryCommand.d.ts +47 -0
  146. package/dist/types/cli/commands/HistoryCommand.d.ts.map +1 -0
  147. package/dist/types/cli/commands/StatusCommand.d.ts +30 -0
  148. package/dist/types/cli/commands/StatusCommand.d.ts.map +1 -0
  149. package/dist/types/cli/commands/ThemeCommand.d.ts +30 -0
  150. package/dist/types/cli/commands/ThemeCommand.d.ts.map +1 -0
  151. package/dist/types/cli/help.d.ts +12 -0
  152. package/dist/types/cli/help.d.ts.map +1 -0
  153. package/dist/types/cli/index.d.ts +15 -0
  154. package/dist/types/cli/index.d.ts.map +1 -0
  155. package/dist/types/constants.d.ts +119 -0
  156. package/dist/types/constants.d.ts.map +1 -0
  157. package/dist/types/core.d.ts +125 -211
  158. package/dist/types/core.d.ts.map +1 -0
  159. package/dist/types/core.js +13 -0
  160. package/dist/types/example.d.ts +18 -0
  161. package/dist/types/example.d.ts.map +1 -0
  162. package/dist/types/exports-module.d.ts +196 -0
  163. package/dist/types/exports-module.d.ts.map +1 -0
  164. package/dist/types/handlers/AnalyticsLogHandler.d.ts +8 -0
  165. package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  166. package/dist/types/handlers/ExportLogHandler.d.ts +100 -0
  167. package/dist/types/handlers/ExportLogHandler.d.ts.map +1 -0
  168. package/dist/types/handlers/FileLogHandler.d.ts +33 -0
  169. package/dist/types/handlers/FileLogHandler.d.ts.map +1 -0
  170. package/dist/types/handlers/RemoteLogHandler.d.ts +11 -0
  171. package/dist/types/handlers/RemoteLogHandler.d.ts.map +1 -0
  172. package/dist/types/handlers/index.d.ts +8 -0
  173. package/dist/types/handlers/index.d.ts.map +1 -0
  174. package/dist/types/handlers.d.ts +88 -0
  175. package/dist/types/handlers.d.ts.map +1 -0
  176. package/dist/types/handlers.js +4 -0
  177. package/dist/types/index.d.ts +7 -675
  178. package/dist/types/index.d.ts.map +1 -0
  179. package/dist/types/index.js +4 -0
  180. package/dist/types/main.d.ts +2 -0
  181. package/dist/types/main.d.ts.map +1 -0
  182. package/dist/types/styling/LogStyleBuilder.d.ts +146 -0
  183. package/dist/types/styling/LogStyleBuilder.d.ts.map +1 -0
  184. package/dist/types/styling/SemanticStyles.d.ts +178 -0
  185. package/dist/types/styling/SemanticStyles.d.ts.map +1 -0
  186. package/dist/types/styling/SmartPresets.d.ts +22 -0
  187. package/dist/types/styling/SmartPresets.d.ts.map +1 -0
  188. package/dist/types/styling/StyleBuilder.d.ts +140 -0
  189. package/dist/types/styling/StyleBuilder.d.ts.map +1 -0
  190. package/dist/types/styling/banners.d.ts +42 -0
  191. package/dist/types/styling/banners.d.ts.map +1 -0
  192. package/dist/types/styling/index.d.ts +10 -0
  193. package/dist/types/styling/index.d.ts.map +1 -0
  194. package/dist/types/styling/themes.d.ts +7 -0
  195. package/dist/types/styling/themes.d.ts.map +1 -0
  196. package/dist/types/styling-module.d.ts +178 -0
  197. package/dist/types/styling-module.d.ts.map +1 -0
  198. package/dist/types/types/core.d.ts +125 -0
  199. package/dist/types/types/core.d.ts.map +1 -0
  200. package/dist/types/types/handlers.d.ts +85 -0
  201. package/dist/types/types/handlers.d.ts.map +1 -0
  202. package/dist/types/types/index.d.ts +7 -0
  203. package/dist/types/types/index.d.ts.map +1 -0
  204. package/dist/types/utils/environment.d.ts +47 -0
  205. package/dist/types/utils/environment.d.ts.map +1 -0
  206. package/dist/types/utils/formatting.d.ts +37 -0
  207. package/dist/types/utils/formatting.d.ts.map +1 -0
  208. package/dist/types/utils/index.d.ts +7 -0
  209. package/dist/types/utils/index.d.ts.map +1 -0
  210. package/dist/types/utils/opentui-detection.d.ts +34 -0
  211. package/dist/types/utils/opentui-detection.d.ts.map +1 -0
  212. package/dist/types/utils/output.d.ts +41 -0
  213. package/dist/types/utils/output.d.ts.map +1 -0
  214. package/dist/types/utils/stackTrace.d.ts +6 -0
  215. package/dist/types/utils/stackTrace.d.ts.map +1 -0
  216. package/dist/types/utils/timestamps.d.ts +20 -0
  217. package/dist/types/utils/timestamps.d.ts.map +1 -0
  218. package/dist/utils/environment.d.ts +47 -0
  219. package/dist/utils/environment.d.ts.map +1 -0
  220. package/dist/utils/environment.js +85 -0
  221. package/dist/utils/formatting.d.ts +40 -0
  222. package/dist/utils/formatting.d.ts.map +1 -0
  223. package/dist/utils/formatting.js +117 -0
  224. package/dist/utils/index.d.ts +7 -0
  225. package/dist/utils/index.d.ts.map +1 -0
  226. package/dist/utils/index.js +6 -0
  227. package/dist/utils/opentui-detection.d.ts +34 -0
  228. package/dist/utils/opentui-detection.d.ts.map +1 -0
  229. package/dist/utils/opentui-detection.js +116 -0
  230. package/dist/utils/output.d.ts +44 -0
  231. package/dist/utils/output.d.ts.map +1 -0
  232. package/dist/utils/output.js +150 -0
  233. package/dist/utils/stackTrace.d.ts +9 -0
  234. package/dist/utils/stackTrace.d.ts.map +1 -0
  235. package/dist/utils/stackTrace.js +81 -0
  236. package/dist/utils/timestamps.d.ts +20 -0
  237. package/dist/utils/timestamps.d.ts.map +1 -0
  238. package/dist/utils/timestamps.js +71 -0
  239. package/docs/API.md +691 -0
  240. package/docs/CORE.md +10 -10
  241. package/docs/DEVELOPMENT.md +731 -0
  242. package/docs/PACKAGES.md +244 -0
  243. package/docs/_config.yml +36 -0
  244. package/docs/index.md +179 -0
  245. package/examples/README.md +208 -0
  246. package/examples/basic-logging.js +75 -0
  247. package/examples/data-export.js +234 -0
  248. package/examples/package.json +16 -0
  249. package/examples/performance-timing.js +170 -0
  250. package/examples/simplified-api.js +124 -0
  251. package/examples/styling-themes.js +207 -0
  252. package/package.json +45 -19
  253. package/packages/core/package.json +57 -0
  254. package/packages/exports/package.json +41 -0
  255. package/packages/nodejs-opentui/README.md +232 -0
  256. package/packages/nodejs-opentui/package.json +72 -0
  257. package/packages/nodejs-opentui/src/LogRenderer.ts +171 -0
  258. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +178 -0
  259. package/packages/nodejs-opentui/src/components/LogBadge.tsx +131 -0
  260. package/packages/nodejs-opentui/src/index.ts +133 -0
  261. package/packages/nodejs-opentui/src/types.ts +158 -0
  262. package/packages/nodejs-opentui/tsconfig.json +20 -0
  263. package/packages/styling/package.json +41 -0
  264. package/project-utils/README.md +172 -0
  265. package/project-utils/auto-release-gemini.ts +1193 -0
  266. package/project-utils/auto-release-ui.ts +1329 -0
  267. package/project-utils/commit-generator.ts +1385 -0
  268. package/project-utils/commit-ui.ts +264 -0
  269. package/project-utils/git-utils.ts +199 -0
  270. package/project-utils/github-release-manager.ts +466 -0
  271. package/project-utils/project-config.ts +260 -0
  272. package/project-utils/prompt-templates.js +345 -0
  273. package/project-utils/prompt-templates.ts +422 -0
  274. package/project-utils/version-manager.ts +1078 -0
  275. package/src/Logger.ts +251 -16
  276. package/src/ScopedLogger.ts +262 -0
  277. package/src/cli/CommandProcessor.ts +173 -2
  278. package/src/cli/commands/HistoryCommand.ts +117 -0
  279. package/src/cli/index.ts +12 -0
  280. package/src/constants.ts +84 -2
  281. package/src/core.ts +119 -46
  282. package/src/example.ts +4 -4
  283. package/src/exports-module.ts +1 -1
  284. package/src/handlers/ExportLogHandler.ts +141 -0
  285. package/src/handlers/FileLogHandler.ts +144 -5
  286. package/src/index.ts +1 -1
  287. package/src/main.ts +3 -3
  288. package/src/styling/LogStyleBuilder.ts +355 -0
  289. package/src/styling/SemanticStyles.ts +380 -0
  290. package/src/styling/SmartPresets.ts +288 -0
  291. package/src/styling/StyleBuilder.ts +14 -0
  292. package/src/styling/index.ts +16 -1
  293. package/src/styling-module.ts +1 -1
  294. package/src/types/core.ts +60 -0
  295. package/src/types/index.ts +6 -0
  296. package/src/utils/environment.ts +94 -0
  297. package/src/utils/formatting.ts +142 -0
  298. package/src/utils/index.ts +3 -0
  299. package/src/utils/opentui-detection.ts +138 -0
  300. package/src/utils/output.ts +66 -8
  301. package/test-core-browser.html +237 -0
  302. package/test-core-node.js +63 -0
  303. package/tests/test-conflict-resolution.ts +391 -0
  304. package/tests/validate-workflows.sh +131 -0
  305. package/tests/yaml-autofix.sh +146 -0
  306. package/vite.config.ts +189 -50
  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
@@ -87,7 +87,7 @@ jobs:
87
87
  run: npx playwright install --with-deps chromium
88
88
 
89
89
  - name: 🖼️ Run visual tests
90
- run: npm run ci:test:visual
90
+ run: npm run test:visual
91
91
 
92
92
  - name: 📤 Upload test results
93
93
  uses: actions/upload-artifact@v4
@@ -105,97 +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
-
114
- steps:
115
- - name: 📥 Checkout code
116
- uses: actions/checkout@v4
117
-
118
- - name: 📦 Setup Node.js
119
- uses: actions/setup-node@v4
120
- with:
121
- node-version: ${{ env.NODE_VERSION }}
122
- cache: 'npm'
123
- registry-url: ${{ env.REGISTRY_URL }}
124
-
125
- - name: 🔧 Install dependencies
126
- run: npm run ci:install
127
-
128
- - name: 📥 Download build artifacts
129
- uses: actions/download-artifact@v4
130
- with:
131
- name: dist-files
132
- path: dist/
133
-
134
- - name: 🚀 Publish to NPM
135
- run: npm run ci:publish
136
- env:
137
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
138
-
139
- - name: 📝 Extract release notes
140
- id: extract_release
141
- run: |
142
- VERSION=${GITHUB_REF#refs/tags/v}
143
- echo "version=$VERSION" >> $GITHUB_OUTPUT
144
- echo "tag_name=v$VERSION" >> $GITHUB_OUTPUT
145
-
146
- # ===== GITHUB RELEASE =====
147
- github-release:
148
- runs-on: ubuntu-latest
149
- needs: publish
150
- if: startsWith(github.ref, 'refs/tags/v')
151
-
152
- steps:
153
- - name: 📥 Checkout code
154
- uses: actions/checkout@v4
155
-
156
- - name: 📥 Download build artifacts
157
- uses: actions/download-artifact@v4
158
- with:
159
- name: dist-files
160
- path: dist/
161
-
162
- - name: 📦 Create release archive
163
- run: |
164
- tar -czf better-logger-dist.tar.gz dist/
165
- zip -r better-logger-dist.zip dist/
166
-
167
- - name: 🏷️ Create GitHub Release
168
- uses: softprops/action-gh-release@v1
169
- with:
170
- name: Better Logger ${{ github.ref_name }}
171
- tag_name: ${{ github.ref_name }}
172
- body: |
173
- ## 🚀 Better Logger ${{ github.ref_name }}
174
-
175
- ### 📦 Installation
176
- ```bash
177
- npm install @mks2508/better-logger@${{ github.ref_name }}
178
- ```
179
-
180
- ### 📊 Bundle Sizes
181
- - **Full library**: ~64KB (13KB gzipped)
182
- - **Core module**: ~6KB (2KB gzipped)
183
- - **Styling module**: ~26KB (5KB gzipped)
184
- - **Exports module**: ~12KB (3KB gzipped)
185
-
186
- ### 🔗 Links
187
- - [📚 Documentation](https://mks2508.github.io/advanced-logger/)
188
- - [🧩 Examples](https://github.com/MKS2508/advanced-logger/tree/main/examples)
189
- - [📋 Changelog](https://github.com/MKS2508/advanced-logger/blob/main/CHANGELOG.md)
190
-
191
- ### 📁 Assets
192
- - `better-logger-dist.tar.gz` - Distribution files (tar.gz)
193
- - `better-logger-dist.zip` - Distribution files (zip)
194
- files: |
195
- better-logger-dist.tar.gz
196
- better-logger-dist.zip
197
- env:
198
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
199
108
 
200
109
  # ===== DEPLOY GITHUB PAGES =====
201
110
  deploy-docs:
@@ -231,13 +140,18 @@ jobs:
231
140
  name: dist-files
232
141
  path: dist/
233
142
 
234
- - name: 🏗️ Build documentation site
143
+ - name: 🏗️ Setup site structure
235
144
  run: |
236
- mkdir -p docs-site
237
- cp demo.html docs-site/index.html
238
- cp -r dist/ docs-site/dist/
239
- cp -r docs/ docs-site/docs/
240
- cp README.md docs-site/
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
241
155
 
242
156
  - name: 📤 Setup Pages
243
157
  uses: actions/configure-pages@v4
@@ -245,7 +159,7 @@ jobs:
245
159
  - name: 📤 Upload to Pages
246
160
  uses: actions/upload-pages-artifact@v3
247
161
  with:
248
- path: docs-site/
162
+ path: ./_site
249
163
 
250
164
  - name: 🚀 Deploy to GitHub Pages
251
165
  id: deployment
@@ -296,7 +210,7 @@ jobs:
296
210
  path: dist/
297
211
 
298
212
  - name: ⚡ Performance benchmarks
299
- run: npm run ci:test:performance
213
+ run: npm run test:performance
300
214
 
301
215
  - name: 📊 Bundle analysis
302
216
  run: |
@@ -0,0 +1,196 @@
1
+ name: Nightly Builds
2
+
3
+ on:
4
+ schedule:
5
+ # Ejecutar cada día a las 3:00 AM UTC
6
+ - cron: '0 3 * * *'
7
+ workflow_dispatch:
8
+ inputs:
9
+ force_build:
10
+ description: 'Forzar build aunque no haya cambios'
11
+ required: false
12
+ default: false
13
+ type: boolean
14
+
15
+ env:
16
+ NODE_VERSION: '20'
17
+ REGISTRY_URL: 'https://registry.npmjs.org'
18
+
19
+ jobs:
20
+ check-changes:
21
+ runs-on: ubuntu-latest
22
+ outputs:
23
+ has_changes: ${{ steps.changes.outputs.has_changes }}
24
+ last_commit: ${{ steps.changes.outputs.last_commit }}
25
+ commit_count: ${{ steps.changes.outputs.commit_count }}
26
+
27
+ steps:
28
+ - name: 📥 Checkout code
29
+ uses: actions/checkout@v4
30
+ with:
31
+ fetch-depth: 0
32
+
33
+ - name: 🔍 Check for changes since last nightly
34
+ id: changes
35
+ run: |
36
+ # Buscar último tag nightly
37
+ LAST_NIGHTLY=$(git tag -l "nightly-*" | sort -V | tail -1 || echo "")
38
+
39
+ if [ -z "$LAST_NIGHTLY" ]; then
40
+ # No hay nightlies previos, verificar desde hace 24 horas
41
+ SINCE_DATE=$(date -d '24 hours ago' --iso-8601)
42
+ COMMITS_COUNT=$(git log --since="$SINCE_DATE" --oneline | wc -l)
43
+ else
44
+ # Verificar desde último nightly
45
+ COMMITS_COUNT=$(git log $LAST_NIGHTLY..HEAD --oneline | wc -l)
46
+ fi
47
+
48
+ LAST_COMMIT=$(git rev-parse --short HEAD)
49
+
50
+ echo "commit_count=$COMMITS_COUNT" >> $GITHUB_OUTPUT
51
+ echo "last_commit=$LAST_COMMIT" >> $GITHUB_OUTPUT
52
+
53
+ if [ "$COMMITS_COUNT" -gt 0 ] || [ "${{ inputs.force_build }}" == "true" ]; then
54
+ echo "has_changes=true" >> $GITHUB_OUTPUT
55
+ echo "✅ Cambios detectados: $COMMITS_COUNT commits"
56
+ else
57
+ echo "has_changes=false" >> $GITHUB_OUTPUT
58
+ echo "ℹ️ No hay cambios desde último nightly"
59
+ fi
60
+
61
+ nightly-build:
62
+ runs-on: ubuntu-latest
63
+ needs: check-changes
64
+ if: needs.check-changes.outputs.has_changes == 'true'
65
+
66
+ permissions:
67
+ contents: write
68
+ packages: write
69
+ id-token: write
70
+
71
+ steps:
72
+ - name: 📥 Checkout code
73
+ uses: actions/checkout@v4
74
+ with:
75
+ fetch-depth: 0
76
+ token: ${{ secrets.GITHUB_TOKEN }}
77
+
78
+ - name: 📦 Setup Node.js
79
+ uses: actions/setup-node@v4
80
+ with:
81
+ node-version: ${{ env.NODE_VERSION }}
82
+ cache: 'npm'
83
+ registry-url: ${{ env.REGISTRY_URL }}
84
+
85
+ - name: 🔧 Install dependencies
86
+ run: npm ci
87
+
88
+ - name: 🏗️ Build library
89
+ run: npm run build
90
+
91
+ - name: 🧪 Run tests
92
+ run: |
93
+ npm run type-check
94
+ npm run test
95
+ npm run size-limit
96
+
97
+ - name: 🏷️ Generate nightly version
98
+ id: version
99
+ run: |
100
+ # Generar versión nightly usando commit y fecha
101
+ DATE=$(date +%Y%m%d)
102
+ SHORT_SHA="${{ needs.check-changes.outputs.last_commit }}"
103
+ BASE_VERSION=$(node -p "require('./package.json').version")
104
+
105
+ # Remover cualquier sufijo existente del base version
106
+ CLEAN_VERSION=$(echo $BASE_VERSION | sed 's/-.*//')
107
+ NIGHTLY_VERSION="${CLEAN_VERSION}-nightly.${DATE}.${SHORT_SHA}"
108
+
109
+ echo "version=$NIGHTLY_VERSION" >> $GITHUB_OUTPUT
110
+ echo "tag=nightly-$DATE-$SHORT_SHA" >> $GITHUB_OUTPUT
111
+ echo "🌙 Nightly version: $NIGHTLY_VERSION"
112
+
113
+ - name: 📝 Update package.json for nightly
114
+ run: |
115
+ npm version ${{ steps.version.outputs.version }} --no-git-tag-version
116
+
117
+ - name: 📦 Create nightly archives
118
+ run: |
119
+ mkdir -p nightly-dist
120
+
121
+ # Crear archivos de distribución nightly
122
+ tar -czf nightly-dist/better-logger-nightly-${{ steps.version.outputs.tag }}.tar.gz dist/ README.md package.json
123
+ zip -r nightly-dist/better-logger-nightly-${{ steps.version.outputs.tag }}.zip dist/ README.md package.json
124
+
125
+ - name: 🚀 Publish nightly to NPM
126
+ run: |
127
+ npm publish --tag nightly --access public
128
+ env:
129
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
130
+
131
+ - name: 📦 Publish nightly to GitHub Packages
132
+ run: |
133
+ echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
134
+ echo "@mks2508:registry=https://npm.pkg.github.com" >> ~/.npmrc
135
+ npm publish --registry=https://npm.pkg.github.com --tag nightly --access public
136
+
137
+ - name: 🏷️ Create nightly tag
138
+ run: |
139
+ git config user.name "github-actions[bot]"
140
+ git config user.email "github-actions[bot]@users.noreply.github.com"
141
+ git tag -a "${{ steps.version.outputs.tag }}" -m "Nightly build ${{ steps.version.outputs.version }}"
142
+ git push origin "${{ steps.version.outputs.tag }}"
143
+
144
+ - name: 🌙 Create nightly release
145
+ uses: softprops/action-gh-release@v1
146
+ with:
147
+ tag_name: ${{ steps.version.outputs.tag }}
148
+ name: "Nightly Build ${{ steps.version.outputs.version }}"
149
+ body: |
150
+ 🌙 **Nightly Build** - Experimental version for testing
151
+
152
+ **⚠️ This is a development build - not recommended for production use**
153
+
154
+ ## 📋 Changes since last nightly
155
+ ${{ needs.check-changes.outputs.commit_count }} commits included in this build.
156
+
157
+ ## 📦 Installation
158
+ ```bash
159
+ npm install @mks2508/better-logger@nightly
160
+ ```
161
+
162
+ ## 🔗 Links
163
+ - **Commit**: https://github.com/MKS2508/advanced-logger/commit/${{ needs.check-changes.outputs.last_commit }}
164
+ - **NPM**: https://www.npmjs.com/package/@mks2508/better-logger/v/${{ steps.version.outputs.version }}
165
+ draft: false
166
+ prerelease: true
167
+ files: |
168
+ nightly-dist/better-logger-nightly-${{ steps.version.outputs.tag }}.tar.gz
169
+ nightly-dist/better-logger-nightly-${{ steps.version.outputs.tag }}.zip
170
+ env:
171
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
172
+
173
+ - name: 📊 Nightly build summary
174
+ run: |
175
+ echo "## 🌙 Nightly Build Complete!" >> $GITHUB_STEP_SUMMARY
176
+ echo "- **Version**: ${{ steps.version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
177
+ echo "- **Commits**: ${{ needs.check-changes.outputs.commit_count }}" >> $GITHUB_STEP_SUMMARY
178
+ echo "- **NPM**: https://www.npmjs.com/package/@mks2508/better-logger/v/${{ steps.version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
179
+ echo "- **GitHub**: https://github.com/MKS2508/advanced-logger/releases/tag/${{ steps.version.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
180
+ echo "" >> $GITHUB_STEP_SUMMARY
181
+ echo "### 📦 Installation" >> $GITHUB_STEP_SUMMARY
182
+ echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
183
+ echo "npm install @mks2508/better-logger@nightly" >> $GITHUB_STEP_SUMMARY
184
+ echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
185
+
186
+ no-changes:
187
+ runs-on: ubuntu-latest
188
+ needs: check-changes
189
+ if: needs.check-changes.outputs.has_changes == 'false'
190
+
191
+ steps:
192
+ - name: ℹ️ No changes detected
193
+ run: |
194
+ echo "## ℹ️ No Nightly Build Required" >> $GITHUB_STEP_SUMMARY
195
+ echo "No changes detected since last nightly build." >> $GITHUB_STEP_SUMMARY
196
+ echo "Use \`workflow_dispatch\` with \`force_build: true\` to force a build." >> $GITHUB_STEP_SUMMARY