firestore-dart-generator 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONFIG_FILE_GUIDE.md +445 -0
- package/IMPLEMENTATION_SUMMARY.md +305 -0
- package/INSTALACION.md +392 -0
- package/QUICK_START.md +241 -0
- package/README.md +68 -0
- package/dist/config-file-loader.d.ts +35 -0
- package/dist/config-file-loader.d.ts.map +1 -0
- package/dist/config-file-loader.js +130 -0
- package/dist/config-file-loader.js.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/interactive-cli.d.ts +1 -1
- package/dist/interactive-cli.d.ts.map +1 -1
- package/dist/interactive-cli.js +22 -7
- package/dist/interactive-cli.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/firestore-dart-gen.example.yaml +28 -0
- package/package.json +1 -1
package/QUICK_START.md
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# 🚀 Inicio Rápido - Firestore Dart Generator
|
|
2
|
+
|
|
3
|
+
## Opción 1: Con Archivo de Configuración (Recomendado)
|
|
4
|
+
|
|
5
|
+
### Paso 1: Crear configuración
|
|
6
|
+
```bash
|
|
7
|
+
cp firestore-dart-gen.example.yaml firestore-dart-gen.yaml
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
### Paso 2: Editar configuración
|
|
11
|
+
```yaml
|
|
12
|
+
# firestore-dart-gen.yaml
|
|
13
|
+
firebase:
|
|
14
|
+
serviceAccount: ./firebase_service_account.json
|
|
15
|
+
|
|
16
|
+
collections:
|
|
17
|
+
- users # Pre-seleccionados
|
|
18
|
+
- products # Pre-seleccionados
|
|
19
|
+
|
|
20
|
+
output:
|
|
21
|
+
directory: ./lib/src/models
|
|
22
|
+
sampleSize: 20
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Paso 3: Ejecutar
|
|
26
|
+
```bash
|
|
27
|
+
npm run dev
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Resultado:**
|
|
31
|
+
- ✅ Carga credenciales automáticamente
|
|
32
|
+
- ✅ users y products aparecen pre-seleccionados
|
|
33
|
+
- ✅ Puedes agregar/quitar más colecciones
|
|
34
|
+
- ✅ Defaults ya configurados
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Opción 2: Sin Archivo de Configuración
|
|
39
|
+
|
|
40
|
+
### Ejecutar directamente
|
|
41
|
+
```bash
|
|
42
|
+
npm run dev -- --service-account firebase_service_account.json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Resultado:**
|
|
46
|
+
- Te pedirá seleccionar colecciones
|
|
47
|
+
- Te pedirá configurar output
|
|
48
|
+
- Todo manual, más flexible
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 📋 Flujo Interactivo
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
🔥 Firestore Dart Generator - Interactive Mode
|
|
56
|
+
|
|
57
|
+
📄 Found config file: firestore-dart-gen.yaml
|
|
58
|
+
|
|
59
|
+
✓ Connected to Firebase Project: mi-proyecto
|
|
60
|
+
|
|
61
|
+
Found 5 collection(s)
|
|
62
|
+
|
|
63
|
+
Pre-selected from config: users, products
|
|
64
|
+
|
|
65
|
+
? Select collections: (↑↓ Space Enter)
|
|
66
|
+
❯◉ users ← Pre-seleccionado
|
|
67
|
+
◉ products ← Pre-seleccionado
|
|
68
|
+
◯ orders
|
|
69
|
+
◯ reviews
|
|
70
|
+
◯ settings
|
|
71
|
+
|
|
72
|
+
🌳 Checking for subcollections...
|
|
73
|
+
|
|
74
|
+
Analyzing users...
|
|
75
|
+
Found 2 subcollection(s): profiles, settings
|
|
76
|
+
Include subcollections for users? (Y/n) y
|
|
77
|
+
|
|
78
|
+
? Output directory: ./lib/src/models
|
|
79
|
+
? Sample size: 20
|
|
80
|
+
|
|
81
|
+
📋 Generation Summary:
|
|
82
|
+
────────────────────────────────────────────
|
|
83
|
+
Firebase Project: mi-proyecto
|
|
84
|
+
Collections: users, products
|
|
85
|
+
Subcollections:
|
|
86
|
+
└─ users: profiles, settings
|
|
87
|
+
Output: ./lib/src/models
|
|
88
|
+
Sample Size: 20 documents per collection
|
|
89
|
+
────────────────────────────────────────────
|
|
90
|
+
|
|
91
|
+
? Generate Dart models with these settings? (Y/n) y
|
|
92
|
+
|
|
93
|
+
🚀 Starting generation...
|
|
94
|
+
|
|
95
|
+
📦 Processing collection: users
|
|
96
|
+
Analyzing schema for users...
|
|
97
|
+
✓ Detected 10 fields
|
|
98
|
+
✓ Generated UserDTO model
|
|
99
|
+
with 2 nested class(es)
|
|
100
|
+
✓ Written to: lib/src/models/user_dto.dart
|
|
101
|
+
|
|
102
|
+
📦 Processing subcollection: users/profiles
|
|
103
|
+
...
|
|
104
|
+
|
|
105
|
+
✨ Success! Generated 4 model(s)
|
|
106
|
+
|
|
107
|
+
Generated files:
|
|
108
|
+
✓ lib/src/models/user_dto.dart
|
|
109
|
+
✓ lib/src/models/profile_dto.dart
|
|
110
|
+
✓ lib/src/models/setting_dto.dart
|
|
111
|
+
✓ lib/src/models/product_dto.dart
|
|
112
|
+
|
|
113
|
+
📚 Next steps:
|
|
114
|
+
1. Review the generated files
|
|
115
|
+
2. Import the models in your Dart code
|
|
116
|
+
3. Add 'equatable' to your pubspec.yaml
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## ⚙️ Configuración Avanzada
|
|
122
|
+
|
|
123
|
+
### Pre-seleccionar colecciones específicas
|
|
124
|
+
|
|
125
|
+
```yaml
|
|
126
|
+
collections:
|
|
127
|
+
- users
|
|
128
|
+
- products
|
|
129
|
+
- orders
|
|
130
|
+
- reviews
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Al ejecutar el CLI, estas 4 aparecerán **pre-seleccionadas con ✓**.
|
|
134
|
+
|
|
135
|
+
### Cambiar directorio de salida
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
output:
|
|
139
|
+
directory: ./packages/core/lib/models
|
|
140
|
+
sampleSize: 50
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Override con CLI args
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Usa prod.json en lugar del del config
|
|
147
|
+
firestore-dart-gen --service-account prod.json
|
|
148
|
+
|
|
149
|
+
# Usa config custom
|
|
150
|
+
firestore-dart-gen --config my-config.yaml
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 🎯 Casos de Uso
|
|
156
|
+
|
|
157
|
+
### Desarrollo diario
|
|
158
|
+
```yaml
|
|
159
|
+
# firestore-dart-gen.yaml
|
|
160
|
+
firebase:
|
|
161
|
+
serviceAccount: ./dev-credentials.json
|
|
162
|
+
|
|
163
|
+
collections:
|
|
164
|
+
- users
|
|
165
|
+
- products
|
|
166
|
+
|
|
167
|
+
output:
|
|
168
|
+
directory: ./lib/src/models
|
|
169
|
+
sampleSize: 10 # Rápido para desarrollo
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
firestore-dart-gen # ¡Eso es todo!
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Diferentes ambientes
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Desarrollo
|
|
180
|
+
firestore-dart-gen --service-account dev.json
|
|
181
|
+
|
|
182
|
+
# Staging
|
|
183
|
+
firestore-dart-gen --service-account staging.json
|
|
184
|
+
|
|
185
|
+
# Producción
|
|
186
|
+
firestore-dart-gen --service-account prod.json
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Las colecciones pre-seleccionadas permanecen, solo cambias credenciales.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 🔧 Comandos Útiles
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Desarrollo con config
|
|
197
|
+
npm run dev
|
|
198
|
+
|
|
199
|
+
# Desarrollo con service account específico
|
|
200
|
+
npm run dev -- --service-account credentials.json
|
|
201
|
+
|
|
202
|
+
# Con config custom
|
|
203
|
+
npm run dev -- --config other-config.yaml
|
|
204
|
+
|
|
205
|
+
# Ver help
|
|
206
|
+
npm run dev -- --help
|
|
207
|
+
|
|
208
|
+
# Build y ejecutar producción
|
|
209
|
+
npm run build
|
|
210
|
+
npm start
|
|
211
|
+
|
|
212
|
+
# Ejecutar tests
|
|
213
|
+
npm test
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 📚 Más Información
|
|
219
|
+
|
|
220
|
+
- **Guía Completa**: [`CONFIG_FILE_GUIDE.md`](CONFIG_FILE_GUIDE.md)
|
|
221
|
+
- **Archivo Ejemplo**: [`firestore-dart-gen.example.yaml`](firestore-dart-gen.example.yaml)
|
|
222
|
+
- **README Principal**: [`README.md`](README.md)
|
|
223
|
+
- **Testing**: [`TESTING.md`](TESTING.md)
|
|
224
|
+
- **Publicación**: [`PUBLICACION_NPM.md`](PUBLICACION_NPM.md)
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## ✅ Checklist para Empezar
|
|
229
|
+
|
|
230
|
+
- [ ] Crear `firestore-dart-gen.yaml` desde el ejemplo
|
|
231
|
+
- [ ] Configurar path de service account
|
|
232
|
+
- [ ] Listar colecciones que usas frecuentemente
|
|
233
|
+
- [ ] Ejecutar `npm run dev`
|
|
234
|
+
- [ ] Seleccionar colecciones (pre-seleccionadas por ti)
|
|
235
|
+
- [ ] Revisar modelos generados
|
|
236
|
+
- [ ] ¡Listo para usar en tu app Flutter!
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
🎉 **¡Disfruta del nuevo sistema de configuración!**
|
|
241
|
+
|
package/README.md
CHANGED
|
@@ -85,6 +85,74 @@ FIREBASE_PROJECT_ID=your-project-id
|
|
|
85
85
|
|
|
86
86
|
Or use the `--service-account` and `--project-id` flags when running the command.
|
|
87
87
|
|
|
88
|
+
## Configuration File (Optional)
|
|
89
|
+
|
|
90
|
+
You can create a `firestore-dart-gen.yaml` file to:
|
|
91
|
+
- ✅ Specify Firebase credentials (no need to type them every time)
|
|
92
|
+
- ✅ Pre-select collections you use frequently
|
|
93
|
+
- ✅ Set default output directory and sample size
|
|
94
|
+
- ✅ Share configuration with your team (without credentials)
|
|
95
|
+
|
|
96
|
+
### Example Configuration
|
|
97
|
+
|
|
98
|
+
Create `firestore-dart-gen.yaml` in your project root:
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
# Firebase Configuration
|
|
102
|
+
firebase:
|
|
103
|
+
serviceAccount: ./firebase_service_account.json
|
|
104
|
+
projectId: my-project-id # optional
|
|
105
|
+
|
|
106
|
+
# Pre-select these collections in the CLI
|
|
107
|
+
collections:
|
|
108
|
+
- users
|
|
109
|
+
- products
|
|
110
|
+
- orders
|
|
111
|
+
|
|
112
|
+
# Default output settings
|
|
113
|
+
output:
|
|
114
|
+
directory: ./lib/src/models
|
|
115
|
+
sampleSize: 20
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Copy from the example file:
|
|
119
|
+
```bash
|
|
120
|
+
cp firestore-dart-gen.example.yaml firestore-dart-gen.yaml
|
|
121
|
+
# Edit with your settings
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Usage with Config File
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# CLI will automatically find firestore-dart-gen.yaml
|
|
128
|
+
firestore-dart-gen
|
|
129
|
+
|
|
130
|
+
# Or specify a custom config file
|
|
131
|
+
firestore-dart-gen --config my-config.yaml
|
|
132
|
+
|
|
133
|
+
# Override config with CLI arguments
|
|
134
|
+
firestore-dart-gen --service-account other.json
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Priority Order
|
|
138
|
+
|
|
139
|
+
Configuration is resolved in this order (highest to lowest priority):
|
|
140
|
+
|
|
141
|
+
1. **CLI arguments** (e.g., `--service-account other.json`)
|
|
142
|
+
2. **Config file** (`firestore-dart-gen.yaml`)
|
|
143
|
+
3. **Environment variables** (`.env` file)
|
|
144
|
+
|
|
145
|
+
**Example:** If you have `serviceAccount` in the YAML but also pass `--service-account`, the CLI argument wins.
|
|
146
|
+
|
|
147
|
+
### Benefits
|
|
148
|
+
|
|
149
|
+
- ✅ Save time - no need to type credentials every run
|
|
150
|
+
- ✅ Pre-select collections you work with frequently
|
|
151
|
+
- ✅ Team consistency - share same defaults
|
|
152
|
+
- ✅ Flexible - can override with CLI args anytime
|
|
153
|
+
|
|
154
|
+
⚠️ **Important:** Add `firestore-dart-gen.yaml` to `.gitignore` if it contains sensitive paths!
|
|
155
|
+
|
|
88
156
|
## Usage
|
|
89
157
|
|
|
90
158
|
### Interactive Mode (Default) 🎮
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface CLIConfig {
|
|
2
|
+
firebase?: {
|
|
3
|
+
serviceAccount?: string;
|
|
4
|
+
projectId?: string;
|
|
5
|
+
};
|
|
6
|
+
collections?: string[];
|
|
7
|
+
output?: {
|
|
8
|
+
directory?: string;
|
|
9
|
+
sampleSize?: number;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare class ConfigFileLoader {
|
|
13
|
+
private static CONFIG_FILES;
|
|
14
|
+
/**
|
|
15
|
+
* Load configuration from YAML file if exists
|
|
16
|
+
*/
|
|
17
|
+
static loadConfig(configPath?: string): CLIConfig | null;
|
|
18
|
+
/**
|
|
19
|
+
* Load config from specific path
|
|
20
|
+
*/
|
|
21
|
+
private static loadFromPath;
|
|
22
|
+
/**
|
|
23
|
+
* Validate configuration structure
|
|
24
|
+
*/
|
|
25
|
+
private static validateConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Resolve service account path
|
|
28
|
+
*/
|
|
29
|
+
static resolveServiceAccountPath(config: CLIConfig | null, cliArg?: string): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve project ID
|
|
32
|
+
*/
|
|
33
|
+
static resolveProjectId(config: CLIConfig | null, cliArg?: string): string | undefined;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=config-file-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-file-loader.d.ts","sourceRoot":"","sources":["../src/config-file-loader.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,YAAY,CAKzB;IAEF;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAkBxD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAe3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAoB7B;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS/F;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAMvF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
exports.ConfigFileLoader = void 0;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const yaml = __importStar(require("js-yaml"));
|
|
43
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
+
class ConfigFileLoader {
|
|
45
|
+
/**
|
|
46
|
+
* Load configuration from YAML file if exists
|
|
47
|
+
*/
|
|
48
|
+
static loadConfig(configPath) {
|
|
49
|
+
// If path provided, try to load it
|
|
50
|
+
if (configPath) {
|
|
51
|
+
return this.loadFromPath(configPath);
|
|
52
|
+
}
|
|
53
|
+
// Try default config file names
|
|
54
|
+
for (const fileName of this.CONFIG_FILES) {
|
|
55
|
+
const filePath = path.resolve(process.cwd(), fileName);
|
|
56
|
+
if (fs.existsSync(filePath)) {
|
|
57
|
+
console.log(chalk_1.default.gray(`📄 Found config file: ${fileName}\n`));
|
|
58
|
+
return this.loadFromPath(filePath);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Load config from specific path
|
|
65
|
+
*/
|
|
66
|
+
static loadFromPath(filePath) {
|
|
67
|
+
try {
|
|
68
|
+
const fileContents = fs.readFileSync(filePath, 'utf8');
|
|
69
|
+
const config = yaml.load(fileContents);
|
|
70
|
+
// Validate basic structure
|
|
71
|
+
this.validateConfig(config);
|
|
72
|
+
return config;
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error(chalk_1.default.yellow(`⚠ Could not load config file: ${error}`));
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Validate configuration structure
|
|
81
|
+
*/
|
|
82
|
+
static validateConfig(config) {
|
|
83
|
+
// Validate service account path if provided
|
|
84
|
+
if (config.firebase?.serviceAccount) {
|
|
85
|
+
const fullPath = path.resolve(process.cwd(), config.firebase.serviceAccount);
|
|
86
|
+
if (!fs.existsSync(fullPath)) {
|
|
87
|
+
console.warn(chalk_1.default.yellow(`⚠ Service account file not found: ${config.firebase.serviceAccount}`));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Validate collections is array if provided
|
|
91
|
+
if (config.collections && !Array.isArray(config.collections)) {
|
|
92
|
+
throw new Error('Config error: collections must be an array');
|
|
93
|
+
}
|
|
94
|
+
// Validate sample size if provided
|
|
95
|
+
if (config.output?.sampleSize && config.output.sampleSize < 1) {
|
|
96
|
+
throw new Error('Config error: sampleSize must be greater than 0');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Resolve service account path
|
|
101
|
+
*/
|
|
102
|
+
static resolveServiceAccountPath(config, cliArg) {
|
|
103
|
+
// Priority: CLI argument > config file > env variable
|
|
104
|
+
if (cliArg)
|
|
105
|
+
return cliArg;
|
|
106
|
+
if (config?.firebase?.serviceAccount) {
|
|
107
|
+
return path.resolve(process.cwd(), config.firebase.serviceAccount);
|
|
108
|
+
}
|
|
109
|
+
return process.env.GOOGLE_APPLICATION_CREDENTIALS;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Resolve project ID
|
|
113
|
+
*/
|
|
114
|
+
static resolveProjectId(config, cliArg) {
|
|
115
|
+
// Priority: CLI argument > config file > env variable
|
|
116
|
+
if (cliArg)
|
|
117
|
+
return cliArg;
|
|
118
|
+
if (config?.firebase?.projectId)
|
|
119
|
+
return config.firebase.projectId;
|
|
120
|
+
return process.env.FIREBASE_PROJECT_ID;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.ConfigFileLoader = ConfigFileLoader;
|
|
124
|
+
ConfigFileLoader.CONFIG_FILES = [
|
|
125
|
+
'firestore-dart-gen.yaml',
|
|
126
|
+
'firestore-dart-gen.yml',
|
|
127
|
+
'.firestore-dart-gen.yaml',
|
|
128
|
+
'.firestore-dart-gen.yml',
|
|
129
|
+
];
|
|
130
|
+
//# sourceMappingURL=config-file-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-file-loader.js","sourceRoot":"","sources":["../src/config-file-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -50,9 +50,10 @@ program
|
|
|
50
50
|
.version('1.0.0')
|
|
51
51
|
.option('--service-account <path>', 'Path to Firebase service account JSON file')
|
|
52
52
|
.option('--project-id <id>', 'Firebase project ID', process.env.FIREBASE_PROJECT_ID)
|
|
53
|
+
.option('-c, --config <path>', 'Path to config file (firestore-dart-gen.yaml)')
|
|
53
54
|
.action(async (options) => {
|
|
54
55
|
try {
|
|
55
|
-
await (0, interactive_cli_1.runInteractiveCLI)(options.serviceAccount, options.projectId);
|
|
56
|
+
await (0, interactive_cli_1.runInteractiveCLI)(options.serviceAccount, options.projectId, options.config);
|
|
56
57
|
}
|
|
57
58
|
catch (error) {
|
|
58
59
|
console.error(chalk_1.default.red('\nError:'), error);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,+CAAiC;AACjC,kDAA0B;AAC1B,uDAAsD;AAEtD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,oBAAoB,CAAC;KAC1B,WAAW,CAAC,iDAAiD,CAAC;KAC9D,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,0BAA0B,EAAE,4CAA4C,CAAC;KAChF,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,IAAA,mCAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,+CAAiC;AACjC,kDAA0B;AAC1B,uDAAsD;AAEtD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,oBAAoB,CAAC;KAC1B,WAAW,CAAC,iDAAiD,CAAC;KAC9D,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,0BAA0B,EAAE,4CAA4C,CAAC;KAChF,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACnF,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,IAAA,mCAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Run interactive CLI mode
|
|
3
3
|
*/
|
|
4
|
-
export declare function runInteractiveCLI(serviceAccountPath?: string, projectId?: string): Promise<void>;
|
|
4
|
+
export declare function runInteractiveCLI(serviceAccountPath?: string, projectId?: string, configPath?: string): Promise<void>;
|
|
5
5
|
//# sourceMappingURL=interactive-cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-cli.d.ts","sourceRoot":"","sources":["../src/interactive-cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive-cli.d.ts","sourceRoot":"","sources":["../src/interactive-cli.ts"],"names":[],"mappings":"AA+CA;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Qf"}
|
package/dist/interactive-cli.js
CHANGED
|
@@ -44,6 +44,7 @@ const child_process_1 = require("child_process");
|
|
|
44
44
|
const firestore_client_1 = require("./firestore-client");
|
|
45
45
|
const schema_analyzer_1 = require("./schema-analyzer");
|
|
46
46
|
const dart_generator_1 = require("./dart-generator");
|
|
47
|
+
const config_file_loader_1 = require("./config-file-loader");
|
|
47
48
|
/**
|
|
48
49
|
* Run dart format command
|
|
49
50
|
*/
|
|
@@ -79,10 +80,15 @@ function runDartFormat(directory) {
|
|
|
79
80
|
/**
|
|
80
81
|
* Run interactive CLI mode
|
|
81
82
|
*/
|
|
82
|
-
async function runInteractiveCLI(serviceAccountPath, projectId) {
|
|
83
|
+
async function runInteractiveCLI(serviceAccountPath, projectId, configPath) {
|
|
83
84
|
console.log(chalk_1.default.bold.blue('\n🔥 Firestore Dart Generator - Interactive Mode\n'));
|
|
85
|
+
// Load config file if exists
|
|
86
|
+
const config = config_file_loader_1.ConfigFileLoader.loadConfig(configPath);
|
|
87
|
+
// Resolve credentials with priority: CLI args > config file > env
|
|
88
|
+
const resolvedServiceAccount = config_file_loader_1.ConfigFileLoader.resolveServiceAccountPath(config, serviceAccountPath);
|
|
89
|
+
const resolvedProjectId = config_file_loader_1.ConfigFileLoader.resolveProjectId(config, projectId);
|
|
84
90
|
// Initialize Firebase
|
|
85
|
-
const client = new firestore_client_1.FirestoreClient(
|
|
91
|
+
const client = new firestore_client_1.FirestoreClient(resolvedProjectId, resolvedServiceAccount);
|
|
86
92
|
// Handle interruption (Ctrl+C)
|
|
87
93
|
process.on('SIGINT', async () => {
|
|
88
94
|
console.log(chalk_1.default.yellow('\n\n⚠ Process interrupted by user'));
|
|
@@ -112,13 +118,22 @@ async function runInteractiveCLI(serviceAccountPath, projectId) {
|
|
|
112
118
|
return;
|
|
113
119
|
}
|
|
114
120
|
console.log(chalk_1.default.blue(`Found ${collections.length} collection(s)\n`));
|
|
121
|
+
// Get pre-selected collections from config
|
|
122
|
+
const preSelected = config?.collections || [];
|
|
123
|
+
if (preSelected.length > 0) {
|
|
124
|
+
console.log(chalk_1.default.gray(`Pre-selected from config: ${preSelected.join(', ')}\n`));
|
|
125
|
+
}
|
|
115
126
|
// Select collections (multiple)
|
|
116
127
|
const { selectedCollections } = await inquirer_1.default.prompt([
|
|
117
128
|
{
|
|
118
129
|
type: 'checkbox',
|
|
119
130
|
name: 'selectedCollections',
|
|
120
131
|
message: 'Select collections to generate models for:',
|
|
121
|
-
choices: collections.map(col => ({
|
|
132
|
+
choices: collections.map(col => ({
|
|
133
|
+
name: col,
|
|
134
|
+
value: col,
|
|
135
|
+
checked: preSelected.includes(col), // PRE-SELECCIONAR
|
|
136
|
+
})),
|
|
122
137
|
validate: (answer) => {
|
|
123
138
|
if (answer.length < 1) {
|
|
124
139
|
return 'You must select at least one collection';
|
|
@@ -157,13 +172,13 @@ async function runInteractiveCLI(serviceAccountPath, projectId) {
|
|
|
157
172
|
console.log(chalk_1.default.gray(` No subcollections found\n`));
|
|
158
173
|
}
|
|
159
174
|
}
|
|
160
|
-
// Configure output directory
|
|
175
|
+
// Configure output directory (with default from config)
|
|
161
176
|
const { outputDirectory } = await inquirer_1.default.prompt([
|
|
162
177
|
{
|
|
163
178
|
type: 'input',
|
|
164
179
|
name: 'outputDirectory',
|
|
165
180
|
message: 'Output directory for generated Dart files:',
|
|
166
|
-
default: './lib/src/models',
|
|
181
|
+
default: config?.output?.directory || './lib/src/models',
|
|
167
182
|
validate: (input) => {
|
|
168
183
|
if (!input || input.trim() === '') {
|
|
169
184
|
return 'Output directory cannot be empty';
|
|
@@ -172,13 +187,13 @@ async function runInteractiveCLI(serviceAccountPath, projectId) {
|
|
|
172
187
|
},
|
|
173
188
|
},
|
|
174
189
|
]);
|
|
175
|
-
// Configure sample size
|
|
190
|
+
// Configure sample size (with default from config)
|
|
176
191
|
const { sampleSize } = await inquirer_1.default.prompt([
|
|
177
192
|
{
|
|
178
193
|
type: 'number',
|
|
179
194
|
name: 'sampleSize',
|
|
180
195
|
message: 'Number of documents to sample per collection:',
|
|
181
|
-
default: 20,
|
|
196
|
+
default: config?.output?.sampleSize || 20,
|
|
182
197
|
validate: (input) => {
|
|
183
198
|
const num = Number(input);
|
|
184
199
|
if (isNaN(num) || num < 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-cli.js","sourceRoot":"","sources":["../src/interactive-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactive-cli.js","sourceRoot":"","sources":["../src/interactive-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -44,4 +44,15 @@ export interface CollectionSelection {
|
|
|
44
44
|
includeSubcollections: boolean;
|
|
45
45
|
subcollections: string[];
|
|
46
46
|
}
|
|
47
|
+
export interface CLIConfig {
|
|
48
|
+
firebase?: {
|
|
49
|
+
serviceAccount?: string;
|
|
50
|
+
projectId?: string;
|
|
51
|
+
};
|
|
52
|
+
collections?: string[];
|
|
53
|
+
output?: {
|
|
54
|
+
directory?: string;
|
|
55
|
+
sampleSize?: number;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
47
58
|
//# sourceMappingURL=types.d.ts.map
|