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/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;IACrE,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
+ {"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":"AA8CA;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Pf"}
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"}
@@ -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(projectId, serviceAccountPath);
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 => ({ name: col, value: col, checked: false })),
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