@imolko/create-ultra-reporter 2.1.23-beta

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 (182) hide show
  1. package/README.md +219 -0
  2. package/bin/classes/index.d.ts +0 -0
  3. package/bin/classes/index.js +2 -0
  4. package/bin/classes/index.js.map +1 -0
  5. package/bin/classes/logger.d.ts +42 -0
  6. package/bin/classes/logger.js +185 -0
  7. package/bin/classes/logger.js.map +1 -0
  8. package/bin/cli.d.ts +2 -0
  9. package/bin/cli.js +48 -0
  10. package/bin/cli.js.map +1 -0
  11. package/bin/commands/build.d.ts +2 -0
  12. package/bin/commands/build.js +151 -0
  13. package/bin/commands/build.js.map +1 -0
  14. package/bin/commands/create.d.ts +60 -0
  15. package/bin/commands/create.js +368 -0
  16. package/bin/commands/create.js.map +1 -0
  17. package/bin/commands/generate-documentation.d.ts +2 -0
  18. package/bin/commands/generate-documentation.js +249 -0
  19. package/bin/commands/generate-documentation.js.map +1 -0
  20. package/bin/commands/generate.d.ts +2 -0
  21. package/bin/commands/generate.js +79 -0
  22. package/bin/commands/generate.js.map +1 -0
  23. package/bin/commands/index.d.ts +6 -0
  24. package/bin/commands/index.js +16 -0
  25. package/bin/commands/index.js.map +1 -0
  26. package/bin/commands/init.d.ts +2 -0
  27. package/bin/commands/init.js +54 -0
  28. package/bin/commands/init.js.map +1 -0
  29. package/bin/commands/serve.d.ts +2 -0
  30. package/bin/commands/serve.js +124 -0
  31. package/bin/commands/serve.js.map +1 -0
  32. package/bin/commands/types.d.ts +65 -0
  33. package/bin/commands/types.js +9 -0
  34. package/bin/commands/types.js.map +1 -0
  35. package/bin/config/reader.d.ts +17 -0
  36. package/bin/config/reader.js +166 -0
  37. package/bin/config/reader.js.map +1 -0
  38. package/bin/config/types.d.ts +57 -0
  39. package/bin/config/types.js +21 -0
  40. package/bin/config/types.js.map +1 -0
  41. package/bin/data/documentation-folder.d.ts +1 -0
  42. package/bin/data/documentation-folder.js +5 -0
  43. package/bin/data/documentation-folder.js.map +1 -0
  44. package/bin/data/files-generated.d.ts +1 -0
  45. package/bin/data/files-generated.js +10 -0
  46. package/bin/data/files-generated.js.map +1 -0
  47. package/bin/data/index.d.ts +2 -0
  48. package/bin/data/index.js +8 -0
  49. package/bin/data/index.js.map +1 -0
  50. package/bin/pipeline/generate.d.ts +26 -0
  51. package/bin/pipeline/generate.js +269 -0
  52. package/bin/pipeline/generate.js.map +1 -0
  53. package/bin/reporters/data-loading.d.ts +121 -0
  54. package/bin/reporters/data-loading.js +398 -0
  55. package/bin/reporters/data-loading.js.map +1 -0
  56. package/bin/reporters/data-transformation.d.ts +101 -0
  57. package/bin/reporters/data-transformation.js +392 -0
  58. package/bin/reporters/data-transformation.js.map +1 -0
  59. package/bin/reporters/file-writing.d.ts +29 -0
  60. package/bin/reporters/file-writing.js +100 -0
  61. package/bin/reporters/file-writing.js.map +1 -0
  62. package/bin/reporters/generate-domain-documentation.d.ts +17 -0
  63. package/bin/reporters/generate-domain-documentation.js +161 -0
  64. package/bin/reporters/generate-domain-documentation.js.map +1 -0
  65. package/bin/reporters/generate-use-cases-documentation.d.ts +18 -0
  66. package/bin/reporters/generate-use-cases-documentation.js +123 -0
  67. package/bin/reporters/generate-use-cases-documentation.js.map +1 -0
  68. package/bin/reporters/rendering.d.ts +116 -0
  69. package/bin/reporters/rendering.js +385 -0
  70. package/bin/reporters/rendering.js.map +1 -0
  71. package/bin/reporters/templates/README.md +28 -0
  72. package/bin/reporters/templates/card.template.jsx +5 -0
  73. package/bin/reporters/templates/cards-container.template.jsx +5 -0
  74. package/bin/reporters/types.d.ts +190 -0
  75. package/bin/reporters/types.js +8 -0
  76. package/bin/reporters/types.js.map +1 -0
  77. package/bin/scaffold/assembler.d.ts +13 -0
  78. package/bin/scaffold/assembler.js +371 -0
  79. package/bin/scaffold/assembler.js.map +1 -0
  80. package/bin/scaffold/doc-assembler.d.ts +10 -0
  81. package/bin/scaffold/doc-assembler.js +113 -0
  82. package/bin/scaffold/doc-assembler.js.map +1 -0
  83. package/bin/scripts/add-import.d.ts +1 -0
  84. package/bin/scripts/add-import.js +26 -0
  85. package/bin/scripts/add-import.js.map +1 -0
  86. package/bin/scripts/converter.d.ts +6 -0
  87. package/bin/scripts/converter.js +120 -0
  88. package/bin/scripts/converter.js.map +1 -0
  89. package/bin/scripts/copy-files.d.ts +1 -0
  90. package/bin/scripts/copy-files.js +96 -0
  91. package/bin/scripts/copy-files.js.map +1 -0
  92. package/bin/scripts/create-folder.d.ts +1 -0
  93. package/bin/scripts/create-folder.js +23 -0
  94. package/bin/scripts/create-folder.js.map +1 -0
  95. package/bin/scripts/delete-paths.d.ts +1 -0
  96. package/bin/scripts/delete-paths.js +34 -0
  97. package/bin/scripts/delete-paths.js.map +1 -0
  98. package/bin/scripts/exists-file.d.ts +5 -0
  99. package/bin/scripts/exists-file.js +12 -0
  100. package/bin/scripts/exists-file.js.map +1 -0
  101. package/bin/scripts/generate-track-artifacts.d.ts +1 -0
  102. package/bin/scripts/generate-track-artifacts.js +59 -0
  103. package/bin/scripts/generate-track-artifacts.js.map +1 -0
  104. package/bin/scripts/get-artifacts.d.ts +1 -0
  105. package/bin/scripts/get-artifacts.js +38 -0
  106. package/bin/scripts/get-artifacts.js.map +1 -0
  107. package/bin/scripts/get-directories.d.ts +1 -0
  108. package/bin/scripts/get-directories.js +10 -0
  109. package/bin/scripts/get-directories.js.map +1 -0
  110. package/bin/scripts/get-file.d.ts +9 -0
  111. package/bin/scripts/get-file.js +38 -0
  112. package/bin/scripts/get-file.js.map +1 -0
  113. package/bin/scripts/labels.d.ts +35 -0
  114. package/bin/scripts/labels.js +108 -0
  115. package/bin/scripts/labels.js.map +1 -0
  116. package/bin/scripts/markdown.d.ts +34 -0
  117. package/bin/scripts/markdown.js +99 -0
  118. package/bin/scripts/markdown.js.map +1 -0
  119. package/bin/scripts/names.d.ts +18 -0
  120. package/bin/scripts/names.js +64 -0
  121. package/bin/scripts/names.js.map +1 -0
  122. package/bin/scripts/track-artifacts.d.ts +2 -0
  123. package/bin/scripts/track-artifacts.js +101 -0
  124. package/bin/scripts/track-artifacts.js.map +1 -0
  125. package/bin/utils/create-folder.d.ts +1 -0
  126. package/bin/utils/create-folder.js +23 -0
  127. package/bin/utils/create-folder.js.map +1 -0
  128. package/bin/utils/delete-markdown-files.d.ts +1 -0
  129. package/bin/utils/delete-markdown-files.js +46 -0
  130. package/bin/utils/delete-markdown-files.js.map +1 -0
  131. package/bin/utils/delete-paths.d.ts +5 -0
  132. package/bin/utils/delete-paths.js +26 -0
  133. package/bin/utils/delete-paths.js.map +1 -0
  134. package/bin/utils/exists-file.d.ts +6 -0
  135. package/bin/utils/exists-file.js +13 -0
  136. package/bin/utils/exists-file.js.map +1 -0
  137. package/bin/utils/exists-folder.d.ts +6 -0
  138. package/bin/utils/exists-folder.js +13 -0
  139. package/bin/utils/exists-folder.js.map +1 -0
  140. package/bin/utils/get-internal-resource-path.d.ts +1 -0
  141. package/bin/utils/get-internal-resource-path.js +43 -0
  142. package/bin/utils/get-internal-resource-path.js.map +1 -0
  143. package/bin/utils/get-json-file.d.ts +1 -0
  144. package/bin/utils/get-json-file.js +27 -0
  145. package/bin/utils/get-json-file.js.map +1 -0
  146. package/bin/utils/index.d.ts +6 -0
  147. package/bin/utils/index.js +16 -0
  148. package/bin/utils/index.js.map +1 -0
  149. package/bin/utils/run-command.d.ts +5 -0
  150. package/bin/utils/run-command.js +36 -0
  151. package/bin/utils/run-command.js.map +1 -0
  152. package/jsdoc.conf.json +30 -0
  153. package/package.json +75 -0
  154. package/templates/documentation/README.md +41 -0
  155. package/templates/documentation/docs/.gitkeep +0 -0
  156. package/templates/documentation/docusaurus.config.ts +127 -0
  157. package/templates/documentation/package-lock.json +19431 -0
  158. package/templates/documentation/package.json +49 -0
  159. package/templates/documentation/sidebars.ts +33 -0
  160. package/templates/documentation/src/components/ArtifactTable/FilterBar.tsx +185 -0
  161. package/templates/documentation/src/components/ArtifactTable/index.tsx +298 -0
  162. package/templates/documentation/src/components/ArtifactTable/styles.module.css +282 -0
  163. package/templates/documentation/src/components/ArtifactTable/types.ts +31 -0
  164. package/templates/documentation/src/components/HomepageFeatures/index.tsx +77 -0
  165. package/templates/documentation/src/components/HomepageFeatures/styles.module.css +11 -0
  166. package/templates/documentation/src/css/custom.css +30 -0
  167. package/templates/documentation/src/pages/index.module.css +23 -0
  168. package/templates/documentation/src/pages/index.tsx +43 -0
  169. package/templates/documentation/src/pages/markdown-page.md +7 -0
  170. package/templates/documentation/static/.nojekyll +0 -0
  171. package/templates/documentation/static/img/docusaurus-social-card.jpg +0 -0
  172. package/templates/documentation/static/img/docusaurus.png +0 -0
  173. package/templates/documentation/static/img/favicon.ico +0 -0
  174. package/templates/documentation/static/img/logo.svg +1 -0
  175. package/templates/documentation/static/img/logo_imolko_azul.png +0 -0
  176. package/templates/documentation/static/img/undraw_docusaurus_mountain.svg +171 -0
  177. package/templates/documentation/static/img/undraw_docusaurus_react.svg +170 -0
  178. package/templates/documentation/static/img/undraw_docusaurus_tree.svg +40 -0
  179. package/templates/documentation/tsconfig.json +8 -0
  180. package/templates/documentation/ultra-reporter.config.json +55 -0
  181. package/templates/track-artifacts-script.ts +44 -0
  182. package/tsconfig.build-track.json +39 -0
package/README.md ADDED
@@ -0,0 +1,219 @@
1
+ ## Quick Start
2
+
3
+ ```bash
4
+ # One-time setup (interactive wizard)
5
+ npm create @imolko/ultra-reporter
6
+
7
+ # Daily workflow
8
+ npm run docs:serve # Generate docs + start dev server at http://localhost:3000
9
+ npm run docs:gen # Generate docs only (CI/CD)
10
+ npm run docs:build # Production static build
11
+ ```
12
+
13
+ The wizard auto-detects your project structure and asks a few questions with smart defaults. After setup, everything lives in:
14
+
15
+ | Location | Purpose | Git |
16
+ |---|---|---|
17
+ | `ultra-reporter.config.json` | Your configuration | ✅ Commit |
18
+ | `docs/` | Your manual markdown files | ✅ Commit |
19
+ | `.ultra-reporter/` | Generated docs + Docusaurus internals | ❌ Gitignored |
20
+ | `.ultra-reporter-overrides/` | Optional theme customizations | ✅ Commit |
21
+
22
+ ## Command Reference
23
+
24
+ ### `ultra-reporter create`
25
+
26
+ Interactive wizard to configure ultra-reporter. Can also be run non-interactively:
27
+
28
+ ```bash
29
+ ultra-reporter create \
30
+ --domain-name sentinel \
31
+ --domain-src ./domain/src \
32
+ --use-cases-src ./features/src \
33
+ --docs-path ./docs \
34
+ --repo-source-url https://github.com/myorg/myrepo
35
+ ```
36
+
37
+ ### `ultra-reporter serve [--port 3000] [--full]`
38
+
39
+ Generates documentation, assembles the Docusaurus site, installs dependencies (first run), and starts the dev server. Watches source files for changes.
40
+
41
+ - `--port`: Port to serve on (default: 3000)
42
+ - `--full`: Force full regeneration including JSDoc extraction (slower)
43
+
44
+ ### `ultra-reporter generate`
45
+
46
+ Generates documentation without starting a server. Useful for CI/CD pipelines.
47
+
48
+ ### `ultra-reporter build [--output ./public]`
49
+
50
+ Generates documentation and produces a static production build. Output goes to `.ultra-reporter/build/` by default, configurable via `--output`.
51
+
52
+ ## Configuration
53
+
54
+ `ultra-reporter.config.json` at your project root:
55
+
56
+ ```json
57
+ {
58
+ "repoSourceUrl": "https://github.com/myorg/myrepo",
59
+ "domain": {
60
+ "name": "sentinel",
61
+ "srcPath": "./domain/src",
62
+ "testResultsPath": "./domain/ctrf.json"
63
+ },
64
+ "useCases": {
65
+ "title": "Sentinel Use Cases",
66
+ "srcPath": "./features/src",
67
+ "testResultsPath": "./features/ctrf.json"
68
+ },
69
+ "docs": {
70
+ "path": "./docs"
71
+ }
72
+ }
73
+ ```
74
+
75
+ Only `domain.name` and `domain.srcPath` are required. All other fields are optional.
76
+
77
+ ### Test Integration
78
+
79
+ If you use Jest, the wizard can install and configure `jest-ctrf-json-reporter` automatically. This adds a `reporters` entry to your jest config:
80
+
81
+ ```js
82
+ reporters: [
83
+ "default",
84
+ ["jest-ctrf-json-reporter", { outputDir: ".", outputFile: "ctrf.json" }]
85
+ ]
86
+ ```
87
+
88
+ Run your tests before generating docs:
89
+
90
+ ```bash
91
+ npm run test
92
+ ```
93
+
94
+ ### Manual Docs
95
+
96
+ Place `.md` files in your configured `docs/` folder. They'll appear in the documentation site under the "Documentation" section.
97
+
98
+ ### Customization
99
+
100
+ For advanced customization, create a `.ultra-reporter-overrides/` folder:
101
+
102
+ ```
103
+ .ultra-reporter-overrides/
104
+ ├── docusaurus.config.override.ts # Merged with generated config
105
+ ├── custom.css # Additional CSS
106
+ ├── components/ # Custom React components
107
+ └── static/ # Extra static assets (logos, favicon)
108
+ ```
109
+
110
+ ## Old Workflow (deprecated)
111
+
112
+ The previous workflow using `init` and `generate-documentation` commands is still available but deprecated. New projects should use the `create` → `serve`/`generate`/`build` workflow.
113
+
114
+ ## Consideraciones
115
+
116
+ 1. El generador escanea todos los archivos `.md` dentro de cada carpeta de artefacto y extrae el frontmatter de cada uno. El metadata se mergea combinando todos los `.md`, y sus cuerpos se concatenan en orden alfabético para formar la documentación del artefacto. Se recomienda usar `README.md` como nombre para el archivo de explicación, siguiendo el mismo patrón que GitHub y GitLab usan en sus exploradores online.
117
+
118
+ 2. El archivo `definition.yaml` **ya no es requerido**. Si existe, se carga como metadata base, y el frontmatter de los `.md` lo sobrescribe. Para proyectos nuevos, toda la metadata puede declararse directamente como frontmatter en los archivos `.md`.
119
+
120
+ 3. Este generador asume que la estructura de los archivos en la carpeta de cada artefacto hace uso del paquete `@imolko/ultra-ddd` y por tanto tiene una estructura como la siguiente:
121
+
122
+ ```plaintext
123
+ domain
124
+ ├── src
125
+ │ ├── Artifact1
126
+ │ │ ├── README.md
127
+ │ │ ├── conditions.ts
128
+ │ │ ├── definition.ts
129
+ │ │ ├── entity.spec.ts
130
+ │ │ ├── entity.ts
131
+ │ │ ├── index.ts
132
+ │ │ ├── payload.ts
133
+ │ │ ├── primitive.ts
134
+ │ │ ├── props.ts
135
+ │ └── Artifact2
136
+ │ │ ├── ...
137
+ └── README.md
138
+ ```
139
+
140
+ Los archivos `.md` contienen la documentación de los artefactos a través de su frontmatter y cuerpo. Es importante que estén presentes y bien documentados.
141
+
142
+ 4. En la carpeta `documentation` se generan los archivos relacionados con la documentacion de los artefactos y una introducccion al contexto.
143
+
144
+ 5. Dentro de `documentation` hay archivos que deben ser editados para ajustarlos a cada contexto, como:
145
+
146
+ - `/documentation/docusaurus.config.ts`
147
+
148
+ 6. Dentro de `documentation` se pueden generar paginas y blogs para documentar de forma manual otros aspectos del contexto. Vea [Docusaurus](https://docusaurus.io/docs/)
149
+
150
+ ---
151
+
152
+ ## 🛠 Desarrollo del generador (para contributors)
153
+
154
+ Si vas a modificar las plantillas o scripts que generan la documentación, usa este flujo para iterar rápidamente.
155
+
156
+ ### Arquitectura
157
+
158
+ El generador tiene **dos capas** que producen la documentación final:
159
+
160
+ | Capa | Qué controla | Dónde editar |
161
+ |---|---|---|
162
+ | **1. Contenido `.md`** | Layout de páginas de artefactos y use-cases, estructura de cards, estilos inline de los docs generados | `src/reporters/rendering.ts` (templates), `src/reporters/generate-*.ts` (orquestadores), `src/reporters/data-*.ts` (carga y transformación) |
163
+ | **2. Sitio Docusaurus** | CSS, branding, navbar, footer, landing page, sidebar | `templates/documentation/` |
164
+
165
+ #### Detalle de archivos — Capa 1
166
+
167
+ | Archivo | Función |
168
+ |---|---|
169
+ | `src/reporters/rendering.ts` | Templates hardcodeados de las páginas de artefacto y use-case, panels de test, tabla de propiedades, definiciones de métodos. **Acá se editan los estilos visuales.** |
170
+ | `src/reporters/generate-domain-documentation.ts` | Orquestador del pipeline domain: load → transform → render → write |
171
+ | `src/reporters/generate-use-cases-documentation.ts` | Orquestador del pipeline use-cases |
172
+ | `src/reporters/data-loading.ts` | Carga de artifacts, JSDoc, test results, frontmatter de `.md` (y `definition.yaml` legacy) |
173
+ | `src/reporters/data-transformation.ts` | Enriquecimiento: match JSDoc ↔ artifacts, merge de datos |
174
+ | `src/reporters/file-writing.ts` | Escritura de archivos `.md` generados |
175
+ | `src/reporters/types.ts` | Tipos compartidos entre todas las capas |
176
+ | `src/scripts/labels.ts` | Labels HTML para tags (type, model status, test status) |
177
+ | `src/scripts/markdown.ts` | Utilidades de formato markdown |
178
+ | `templates/track-artifacts-script.ts` | Template del script que descubre artefactos del dominio |
179
+
180
+ #### Detalle de archivos — Capa 2
181
+
182
+ | Archivo | Función |
183
+ |---|---|
184
+ | `templates/documentation/docusaurus.config.ts` | Config del sitio: título, navbar, footer, Mermaid |
185
+ | `templates/documentation/src/css/custom.css` | Variables de color, estilos globales |
186
+ | `templates/documentation/src/pages/index.tsx` | Landing page |
187
+ | `templates/documentation/src/pages/index.module.css` | Estilos de la landing page |
188
+ | `templates/documentation/sidebars.ts` | Configuración de sidebar |
189
+ | `templates/documentation/static/` | Assets estáticos (imágenes, favicon) |
190
+
191
+ ### Scripts de desarrollo
192
+
193
+ ```bash
194
+ # Terminal A — Arranca el servidor (solo una vez)
195
+ ./bootstrap_fixture.sh
196
+ # → Genera docs del fixture, copia scaffold Docusaurus, instala deps, inicia en http://localhost:3000
197
+ ```
198
+
199
+ ```bash
200
+ # Terminal B — Regenera los .md después de editar archivos de Capa 1
201
+ ./regenerate_fixture_docs.sh
202
+ # → Docusaurus hace hot-reload automático en el navegador
203
+ ```
204
+
205
+ | Editaste... | Comando |
206
+ |---|---|
207
+ | `src/reporters/rendering.ts` | `./regenerate_fixture_docs.sh` |
208
+ | `src/reporters/generate-*.ts` | `./regenerate_fixture_docs.sh` |
209
+ | `src/reporters/data-*.ts` | `./regenerate_fixture_docs.sh` |
210
+ | `src/reporters/file-writing.ts` | `./regenerate_fixture_docs.sh` |
211
+ | `src/scripts/labels.ts` | `./regenerate_fixture_docs.sh` |
212
+ | `src/scripts/markdown.ts` | `./regenerate_fixture_docs.sh` |
213
+ | `templates/documentation/src/**` | Nada (hot-reload automático) |
214
+ | `templates/documentation/docusaurus.config.ts` | Nada (hot-reload automático) |
215
+ | Archivos nuevos en `templates/documentation/` | Borrar `__fixtures__/minimal-project/documentation/` y re-ejecutar `./bootstrap_fixture.sh` |
216
+
217
+ ### Documentación detallada
218
+
219
+ Para una explicación completa de la arquitectura y el flujo de trabajo, consultá: [`docs/developer-workflow.md`](docs/developer-workflow.md)
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ interface LoggerOptions {
2
+ enabled?: boolean;
3
+ level?: string;
4
+ context?: string;
5
+ }
6
+ interface LogMetadata {
7
+ [key: string]: any;
8
+ context?: string;
9
+ }
10
+ declare class Logger {
11
+ private initialized;
12
+ private logger;
13
+ private enabled;
14
+ private level;
15
+ private globalContext;
16
+ constructor();
17
+ initialize(options?: LoggerOptions): Logger;
18
+ get isInitialized(): boolean;
19
+ private getColorizedLevel;
20
+ log(level: string, message: string, meta?: LogMetadata): void;
21
+ error(message: string, meta?: LogMetadata): void;
22
+ warn(message: string, meta?: LogMetadata): void;
23
+ info(message: string, meta?: LogMetadata): void;
24
+ debug(message: string, meta?: LogMetadata): void;
25
+ verbose(message: string, meta?: LogMetadata): void;
26
+ setEnabled(enabled: boolean): void;
27
+ setLevel(level: string): void;
28
+ createContextLogger(context: string): ContextLogger;
29
+ }
30
+ declare class ContextLogger {
31
+ private logger;
32
+ private context;
33
+ constructor(logger: Logger, context: string);
34
+ error(message: string, meta?: LogMetadata): void;
35
+ warn(message: string, meta?: LogMetadata): void;
36
+ info(message: string, meta?: LogMetadata): void;
37
+ debug(message: string, meta?: LogMetadata): void;
38
+ verbose(message: string, meta?: LogMetadata): void;
39
+ setContext(context: string): void;
40
+ }
41
+ declare const loggerInstance: Logger;
42
+ export default loggerInstance;
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const winston_1 = __importStar(require("winston"));
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ // Configuración de colores para diferentes niveles de log
42
+ const colors = {
43
+ error: 'red',
44
+ warn: 'yellow',
45
+ info: 'green',
46
+ debug: 'blue',
47
+ verbose: 'magenta'
48
+ };
49
+ class Logger {
50
+ constructor() {
51
+ this.initialized = false;
52
+ this.logger = null;
53
+ this.enabled = true;
54
+ this.level = 'info';
55
+ this.globalContext = 'app';
56
+ // Constructor intencionalmente vacío para el singleton
57
+ }
58
+ // Método de inicialización que acepta opciones de configuración
59
+ initialize(options = {}) {
60
+ if (this.initialized) {
61
+ return this;
62
+ }
63
+ this.enabled = options.enabled !== false;
64
+ this.level = options.level || 'info';
65
+ this.globalContext = options.context || 'app';
66
+ // Crear el logger con Winston
67
+ this.logger = winston_1.default.createLogger({
68
+ level: this.level,
69
+ format: winston_1.format.combine(winston_1.format.timestamp({
70
+ format: 'YYYY-MM-DD HH:mm:ss'
71
+ }), winston_1.format.printf(info => {
72
+ const { timestamp, level, message, context, ...rest } = info;
73
+ const colorizedLevel = this.getColorizedLevel(level);
74
+ const contextStr = context ? chalk_1.default.cyan(`[${context}]`) : '';
75
+ // Extraer metadatos sin contexto para evitar duplicación
76
+ const { context: _, ...metadata } = rest;
77
+ const metadataStr = Object.keys(metadata).length ?
78
+ chalk_1.default.gray(` ${JSON.stringify(metadata)}`) : '';
79
+ return `${chalk_1.default.gray(timestamp)} ${colorizedLevel} ${contextStr}: ${message}${metadataStr}`;
80
+ })),
81
+ transports: [
82
+ new winston_1.default.transports.Console({
83
+ silent: !this.enabled
84
+ })
85
+ ]
86
+ });
87
+ // Marcar como inicializado
88
+ this.initialized = true;
89
+ return this;
90
+ }
91
+ // Getter para verificar estado de inicialización
92
+ get isInitialized() {
93
+ return this.initialized;
94
+ }
95
+ // Colorear el nivel de log según su tipo
96
+ getColorizedLevel(level) {
97
+ const color = colors[level] || 'white';
98
+ return chalk_1.default[color].bold(`[${level.toUpperCase()}]`);
99
+ }
100
+ // Método para registrar mensajes - verifica inicialización primero
101
+ log(level, message, meta = {}) {
102
+ if (!this.initialized) {
103
+ console.warn('Logger no inicializado. Llamando a initialize() con valores predeterminados...');
104
+ this.initialize();
105
+ }
106
+ // Asegurar que context siempre exista en los metadatos
107
+ const context = meta.context || this.globalContext;
108
+ this.logger?.log(level, message, { ...meta, context });
109
+ }
110
+ // Métodos convenientes para cada nivel de log
111
+ error(message, meta = {}) {
112
+ this.log('error', message, meta);
113
+ }
114
+ warn(message, meta = {}) {
115
+ this.log('warn', message, meta);
116
+ }
117
+ info(message, meta = {}) {
118
+ this.log('info', message, meta);
119
+ }
120
+ debug(message, meta = {}) {
121
+ this.log('debug', message, meta);
122
+ }
123
+ verbose(message, meta = {}) {
124
+ this.log('verbose', message, meta);
125
+ }
126
+ // Habilitar o deshabilitar los logs
127
+ setEnabled(enabled) {
128
+ if (!this.initialized) {
129
+ this.initialize({ enabled });
130
+ return;
131
+ }
132
+ this.enabled = enabled;
133
+ this.logger?.transports.forEach(transport => {
134
+ if (transport instanceof winston_1.default.transports.Console) {
135
+ transport.silent = !enabled;
136
+ }
137
+ });
138
+ }
139
+ // Cambiar el nivel de log
140
+ setLevel(level) {
141
+ if (!this.initialized) {
142
+ this.initialize({ level });
143
+ return;
144
+ }
145
+ this.level = level;
146
+ if (this.logger) {
147
+ this.logger.level = level;
148
+ }
149
+ }
150
+ // Crear una instancia de logger con contexto específico
151
+ createContextLogger(context) {
152
+ return new ContextLogger(this, context);
153
+ }
154
+ }
155
+ // Clase para logger con contexto
156
+ class ContextLogger {
157
+ constructor(logger, context) {
158
+ this.logger = logger;
159
+ this.context = context;
160
+ }
161
+ error(message, meta = {}) {
162
+ this.logger.error(message, { ...meta, context: this.context });
163
+ }
164
+ warn(message, meta = {}) {
165
+ this.logger.warn(message, { ...meta, context: this.context });
166
+ }
167
+ info(message, meta = {}) {
168
+ this.logger.info(message, { ...meta, context: this.context });
169
+ }
170
+ debug(message, meta = {}) {
171
+ this.logger.debug(message, { ...meta, context: this.context });
172
+ }
173
+ verbose(message, meta = {}) {
174
+ this.logger.verbose(message, { ...meta, context: this.context });
175
+ }
176
+ // Método para cambiar el contexto
177
+ setContext(context) {
178
+ this.context = context;
179
+ }
180
+ }
181
+ // Crear la instancia singleton
182
+ const loggerInstance = new Logger();
183
+ // Exportar la instancia singleton
184
+ exports.default = loggerInstance;
185
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/classes/logger.ts"],"names":[],"mappings":"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"}
package/bin/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/bin/cli.js ADDED
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ const logger_1 = __importDefault(require("./classes/logger"));
9
+ const commands_1 = require("./commands");
10
+ // Create a specific logger for the main CLI
11
+ const cliLogger = logger_1.default.createContextLogger('cli');
12
+ commander_1.program
13
+ .version("1.0.0")
14
+ .description("Ultra Reporter CLI")
15
+ .option('-d, --debug', 'enable debug logs')
16
+ .option('-s, --silent', 'disable all logs')
17
+ .option('-l, --log-level <level>', 'log level (error, warn, info, debug, verbose)', 'info')
18
+ .hook("preAction", async () => {
19
+ // Initialize logger based on global options before any command
20
+ const options = commander_1.program.opts();
21
+ logger_1.default.initialize({
22
+ enabled: !options.silent,
23
+ level: options.debug ? 'debug' : options.logLevel,
24
+ context: 'app' // Default global context
25
+ });
26
+ cliLogger.info('CLI initialized');
27
+ cliLogger.debug('CLI options', options);
28
+ })
29
+ .action(async (options) => {
30
+ });
31
+ // Custom help command
32
+ commander_1.program.on("--help", () => {
33
+ console.log("");
34
+ console.log("Examples:");
35
+ console.log("\t\t$ npx @imolko/create-ultra-reporter -d -p documentation"); // Enable debug logs
36
+ console.log("\t\t$ npx @imolko/create-ultra-reporter -s -p documentation"); // Disable all logs
37
+ console.log("\t\t$ npx @imolko/create-ultra-reporter -l debug -p documentation"); // Set log level
38
+ console.log("\t\t$ npx @imolko/create-ultra-reporter -c my-config.json");
39
+ });
40
+ // Register modular commands
41
+ (0, commands_1.registerCommandInit)(commander_1.program);
42
+ (0, commands_1.registerCommandGenerateDocumentation)(commander_1.program);
43
+ (0, commands_1.registerCommandCreate)(commander_1.program);
44
+ (0, commands_1.registerCommandServe)(commander_1.program);
45
+ (0, commands_1.registerCommandGenerate)(commander_1.program);
46
+ (0, commands_1.registerCommandBuild)(commander_1.program);
47
+ commander_1.program.parse(process.argv);
48
+ //# sourceMappingURL=cli.js.map
package/bin/cli.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AACA,yCAAmC;AACnC,8DAAqC;AACrC,yCAAkL;AAGlL,4CAA4C;AAC5C,MAAM,SAAS,GAAG,gBAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpD,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,yBAAyB,EAAE,+CAA+C,EAAE,MAAM,CAAC;KAC1F,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,+DAA+D;IAC/D,MAAM,OAAO,GAAG,mBAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,gBAAM,CAAC,UAAU,CAAC;QAChB,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAkB;QAC3D,OAAO,EAAE,KAAK,CAAC,yBAAyB;KACzC,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;AAE1B,CAAC,CAAC,CAAC;AAEL,sBAAsB;AACtB,mBAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC,oBAAoB;IAChG,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC,mBAAmB;IAC/F,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC,gBAAgB;IAClG,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,IAAA,8BAAmB,EAAC,mBAAO,CAAC,CAAA;AAC5B,IAAA,+CAAoC,EAAC,mBAAO,CAAC,CAAA;AAC7C,IAAA,gCAAqB,EAAC,mBAAO,CAAC,CAAA;AAC9B,IAAA,+BAAoB,EAAC,mBAAO,CAAC,CAAA;AAC7B,IAAA,kCAAuB,EAAC,mBAAO,CAAC,CAAA;AAChC,IAAA,+BAAoB,EAAC,mBAAO,CAAC,CAAA;AAE7B,mBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerCommandBuild(program: Command): void;