@@ -296,6 +296,15 @@ const command: GluegunCommand = {
296
296
} ) ;
297
297
}
298
298
299
+ // State Management packages
300
+ if ( options . zustand ) {
301
+ // Add zustand package
302
+ cliResults . packages . push ( {
303
+ name : 'zustand' ,
304
+ type : 'state-management'
305
+ } ) ;
306
+ }
307
+
299
308
// Internalization packages
300
309
if ( options . i18next ) {
301
310
cliResults . packages . push ( {
@@ -354,6 +363,12 @@ const command: GluegunCommand = {
354
363
script += '--drawer+tabs ' ;
355
364
}
356
365
}
366
+
367
+ const stateManagementPackage = cliResults . packages . find ( ( p ) => p . type === 'state-management' ) ;
368
+
369
+ if ( stateManagementPackage ) {
370
+ script += `--${ stateManagementPackage . name } ` ;
371
+ }
357
372
} else {
358
373
// Add the packages
359
374
cliResults . packages . forEach ( ( p ) => {
@@ -408,6 +423,9 @@ const command: GluegunCommand = {
408
423
const internalizationPackage = packages . find ( ( p ) => p . type === 'internationalization' ) ;
409
424
const analyticsPackage = packages . find ( ( p ) => p . type === 'analytics' ) ;
410
425
426
+ //add the state management package if it is selected
427
+ const stateManagementPackage = packages . find ( ( p ) => p . type === 'state-management' ) || undefined ;
428
+
411
429
let files : string [ ] = [ ] ;
412
430
413
431
files = configureProjectFiles (
@@ -418,7 +436,8 @@ const command: GluegunCommand = {
418
436
analyticsPackage ,
419
437
toolbox ,
420
438
cliResults ,
421
- internalizationPackage
439
+ internalizationPackage ,
440
+ stateManagementPackage
422
441
) ;
423
442
424
443
// Once all the files are defined, format and generate them
@@ -434,7 +453,8 @@ const command: GluegunCommand = {
434
453
packageManager ,
435
454
stylingPackage ,
436
455
toolbox ,
437
- internalizationPackage
456
+ internalizationPackage ,
457
+ stateManagementPackage
438
458
) ;
439
459
440
460
await printOutput ( cliResults , formattedFiles , toolbox , stylingPackage ) ;
0 commit comments