@loopress/cli 0.18.0 → 0.20.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 (87) hide show
  1. package/README.md +260 -75
  2. package/dist/commands/acf/pull.d.ts +1 -1
  3. package/dist/commands/acf/pull.js +12 -25
  4. package/dist/commands/acf/push.d.ts +1 -1
  5. package/dist/commands/acf/push.js +18 -47
  6. package/dist/commands/api/publish.d.ts +9 -0
  7. package/dist/commands/api/publish.js +60 -0
  8. package/dist/commands/api/pull.d.ts +1 -1
  9. package/dist/commands/api/pull.js +11 -26
  10. package/dist/commands/api/push.d.ts +2 -1
  11. package/dist/commands/api/push.js +40 -27
  12. package/dist/commands/composer/init.js +11 -1
  13. package/dist/commands/composer/push.d.ts +1 -0
  14. package/dist/commands/composer/push.js +17 -4
  15. package/dist/commands/doctor.d.ts +8 -0
  16. package/dist/commands/doctor.js +79 -0
  17. package/dist/commands/form/pull.d.ts +1 -2
  18. package/dist/commands/form/pull.js +13 -32
  19. package/dist/commands/form/push.d.ts +1 -1
  20. package/dist/commands/form/push.js +6 -14
  21. package/dist/commands/init.d.ts +2 -0
  22. package/dist/commands/init.js +65 -33
  23. package/dist/commands/page/list.d.ts +9 -0
  24. package/dist/commands/page/list.js +26 -0
  25. package/dist/commands/page/pull.d.ts +13 -0
  26. package/dist/commands/page/pull.js +65 -0
  27. package/dist/commands/page/push.d.ts +16 -0
  28. package/dist/commands/page/push.js +145 -0
  29. package/dist/commands/plugin/push.d.ts +1 -1
  30. package/dist/commands/plugin/push.js +2 -14
  31. package/dist/commands/project/config.d.ts +1 -0
  32. package/dist/commands/project/config.js +32 -0
  33. package/dist/commands/project/push.d.ts +5 -0
  34. package/dist/commands/project/push.js +21 -11
  35. package/dist/commands/project/rotate.d.ts +7 -0
  36. package/dist/commands/project/rotate.js +20 -0
  37. package/dist/commands/seo/pull.d.ts +1 -3
  38. package/dist/commands/seo/pull.js +15 -43
  39. package/dist/commands/seo/push.d.ts +1 -1
  40. package/dist/commands/seo/push.js +4 -17
  41. package/dist/commands/snippet/publish.js +2 -2
  42. package/dist/commands/snippet/pull.d.ts +1 -4
  43. package/dist/commands/snippet/pull.js +12 -60
  44. package/dist/commands/snippet/push.d.ts +1 -1
  45. package/dist/commands/snippet/push.js +4 -13
  46. package/dist/commands/status.d.ts +4 -0
  47. package/dist/commands/status.js +25 -4
  48. package/dist/config/project-config.manager.js +2 -2
  49. package/dist/lib/api-client.d.ts +2 -1
  50. package/dist/lib/api-client.js +10 -3
  51. package/dist/lib/base.d.ts +12 -0
  52. package/dist/lib/base.js +100 -9
  53. package/dist/lib/bootstrap-full-install.d.ts +10 -0
  54. package/dist/lib/bootstrap-full-install.js +66 -0
  55. package/dist/lib/browser-launch.d.ts +8 -0
  56. package/dist/lib/browser-launch.js +20 -0
  57. package/dist/lib/find-orphaned-files.d.ts +7 -0
  58. package/dist/lib/find-orphaned-files.js +29 -0
  59. package/dist/lib/github-release.d.ts +11 -0
  60. package/dist/lib/github-release.js +37 -0
  61. package/dist/lib/interactive.d.ts +1 -0
  62. package/dist/lib/interactive.js +7 -0
  63. package/dist/lib/load-files.d.ts +5 -0
  64. package/dist/lib/load-files.js +31 -0
  65. package/dist/lib/plugin-detection.d.ts +8 -0
  66. package/dist/lib/plugin-detection.js +11 -0
  67. package/dist/lib/push-command.d.ts +7 -0
  68. package/dist/lib/push-command.js +40 -2
  69. package/dist/lib/rotate-app-password.d.ts +6 -0
  70. package/dist/lib/rotate-app-password.js +33 -0
  71. package/dist/lib/temp-admin.d.ts +19 -0
  72. package/dist/lib/temp-admin.js +46 -0
  73. package/dist/lib/wp-client.d.ts +10 -4
  74. package/dist/lib/wp-client.js +29 -12
  75. package/dist/types/project-config.generated.d.ts +4 -0
  76. package/dist/utils/composer.d.ts +3 -0
  77. package/dist/utils/page-format.d.ts +7 -0
  78. package/dist/utils/page-format.js +78 -0
  79. package/dist/utils/seo-format.d.ts +1 -0
  80. package/dist/utils/seo-format.js +5 -0
  81. package/dist/utils/snippet-format.d.ts +2 -0
  82. package/dist/utils/snippet-format.js +27 -1
  83. package/dist/utils/to-slug.d.ts +1 -0
  84. package/dist/utils/to-slug.js +7 -0
  85. package/oclif.manifest.json +688 -29
  86. package/package.json +16 -9
  87. package/schemas/project-config.schema.json +5 -0
@@ -1,5 +1,53 @@
1
1
  {
2
2
  "commands": {
3
+ "doctor": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Diagnose connectivity, plugin and credential problems for the targeted environment",
7
+ "examples": [
8
+ "$ lps doctor",
9
+ "$ lps doctor --env production"
10
+ ],
11
+ "flags": {
12
+ "env": {
13
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
14
+ "name": "env",
15
+ "hasDynamicHelp": false,
16
+ "multiple": false,
17
+ "type": "option"
18
+ }
19
+ },
20
+ "hasDynamicHelp": false,
21
+ "hiddenAliases": [],
22
+ "id": "doctor",
23
+ "pluginAlias": "@loopress/cli",
24
+ "pluginName": "@loopress/cli",
25
+ "pluginType": "core",
26
+ "strict": true,
27
+ "enableJsonFlag": false,
28
+ "dryRunFlag": {
29
+ "dry-run": {
30
+ "char": "d",
31
+ "description": "Show what would change without making changes",
32
+ "allowNo": false,
33
+ "type": "boolean"
34
+ }
35
+ },
36
+ "yesFlag": {
37
+ "yes": {
38
+ "char": "y",
39
+ "description": "Answer yes to confirmation prompts",
40
+ "allowNo": false,
41
+ "type": "boolean"
42
+ }
43
+ },
44
+ "isESM": true,
45
+ "relativePath": [
46
+ "dist",
47
+ "commands",
48
+ "doctor.js"
49
+ ]
50
+ },
3
51
  "init": {
4
52
  "aliases": [],
5
53
  "args": {},
@@ -95,9 +143,18 @@
95
143
  "args": {},
96
144
  "description": "Show which WordPress project and environment commands will target",
97
145
  "examples": [
98
- "$ lps status"
146
+ "$ lps status",
147
+ "$ lps status --env staging"
99
148
  ],
100
- "flags": {},
149
+ "flags": {
150
+ "env": {
151
+ "description": "Show what would be targeted with this environment, as other commands do with --env",
152
+ "name": "env",
153
+ "hasDynamicHelp": false,
154
+ "multiple": false,
155
+ "type": "option"
156
+ }
157
+ },
101
158
  "hasDynamicHelp": false,
102
159
  "hiddenAliases": [],
103
160
  "id": "status",
@@ -122,6 +179,13 @@
122
179
  "$ lps acf list --type field-groups"
123
180
  ],
124
181
  "flags": {
182
+ "env": {
183
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
184
+ "name": "env",
185
+ "hasDynamicHelp": false,
186
+ "multiple": false,
187
+ "type": "option"
188
+ },
125
189
  "json": {
126
190
  "char": "j",
127
191
  "description": "Output in JSON format",
@@ -159,6 +223,14 @@
159
223
  "type": "boolean"
160
224
  }
161
225
  },
226
+ "yesFlag": {
227
+ "yes": {
228
+ "char": "y",
229
+ "description": "Answer yes to confirmation prompts",
230
+ "allowNo": false,
231
+ "type": "boolean"
232
+ }
233
+ },
162
234
  "isESM": true,
163
235
  "relativePath": [
164
236
  "dist",
@@ -181,6 +253,13 @@
181
253
  "$ lps acf pull --type field-groups"
182
254
  ],
183
255
  "flags": {
256
+ "env": {
257
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
258
+ "name": "env",
259
+ "hasDynamicHelp": false,
260
+ "multiple": false,
261
+ "type": "option"
262
+ },
184
263
  "dry-run": {
185
264
  "char": "d",
186
265
  "description": "Show what would change without making changes",
@@ -188,6 +267,13 @@
188
267
  "allowNo": false,
189
268
  "type": "boolean"
190
269
  },
270
+ "yes": {
271
+ "char": "y",
272
+ "description": "Answer yes to confirmation prompts",
273
+ "name": "yes",
274
+ "allowNo": false,
275
+ "type": "boolean"
276
+ },
191
277
  "type": {
192
278
  "description": "Limit to specific ACF object types",
193
279
  "name": "type",
@@ -218,6 +304,14 @@
218
304
  "type": "boolean"
219
305
  }
220
306
  },
307
+ "yesFlag": {
308
+ "yes": {
309
+ "char": "y",
310
+ "description": "Answer yes to confirmation prompts",
311
+ "allowNo": false,
312
+ "type": "boolean"
313
+ }
314
+ },
221
315
  "isESM": true,
222
316
  "relativePath": [
223
317
  "dist",
@@ -240,6 +334,13 @@
240
334
  "$ lps acf push --type field-groups"
241
335
  ],
242
336
  "flags": {
337
+ "env": {
338
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
339
+ "name": "env",
340
+ "hasDynamicHelp": false,
341
+ "multiple": false,
342
+ "type": "option"
343
+ },
243
344
  "dry-run": {
244
345
  "char": "d",
245
346
  "description": "Show what would change without making changes",
@@ -247,6 +348,13 @@
247
348
  "allowNo": false,
248
349
  "type": "boolean"
249
350
  },
351
+ "yes": {
352
+ "char": "y",
353
+ "description": "Answer yes to confirmation prompts",
354
+ "name": "yes",
355
+ "allowNo": false,
356
+ "type": "boolean"
357
+ },
250
358
  "type": {
251
359
  "description": "Limit to specific ACF object types",
252
360
  "name": "type",
@@ -284,6 +392,13 @@
284
392
  "$ lps api list"
285
393
  ],
286
394
  "flags": {
395
+ "env": {
396
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
397
+ "name": "env",
398
+ "hasDynamicHelp": false,
399
+ "multiple": false,
400
+ "type": "option"
401
+ },
287
402
  "json": {
288
403
  "char": "j",
289
404
  "description": "Output in JSON format",
@@ -308,6 +423,14 @@
308
423
  "type": "boolean"
309
424
  }
310
425
  },
426
+ "yesFlag": {
427
+ "yes": {
428
+ "char": "y",
429
+ "description": "Answer yes to confirmation prompts",
430
+ "allowNo": false,
431
+ "type": "boolean"
432
+ }
433
+ },
311
434
  "isESM": true,
312
435
  "relativePath": [
313
436
  "dist",
@@ -316,6 +439,36 @@
316
439
  "list.js"
317
440
  ]
318
441
  },
442
+ "api:publish": {
443
+ "aliases": [],
444
+ "args": {
445
+ "path": {
446
+ "description": "Path to api directory (overrides project config)",
447
+ "name": "path"
448
+ }
449
+ },
450
+ "description": "Publish custom API routes to your Loopress account so they can be deployed to other projects. Does not touch any WordPress site.",
451
+ "examples": [
452
+ "$ lps api publish",
453
+ "$ lps api publish --path ./api"
454
+ ],
455
+ "flags": {},
456
+ "hasDynamicHelp": false,
457
+ "hiddenAliases": [],
458
+ "id": "api:publish",
459
+ "pluginAlias": "@loopress/cli",
460
+ "pluginName": "@loopress/cli",
461
+ "pluginType": "core",
462
+ "strict": true,
463
+ "enableJsonFlag": false,
464
+ "isESM": true,
465
+ "relativePath": [
466
+ "dist",
467
+ "commands",
468
+ "api",
469
+ "publish.js"
470
+ ]
471
+ },
319
472
  "api:pull": {
320
473
  "aliases": [],
321
474
  "args": {
@@ -330,12 +483,26 @@
330
483
  "$ lps api pull --path ./api"
331
484
  ],
332
485
  "flags": {
486
+ "env": {
487
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
488
+ "name": "env",
489
+ "hasDynamicHelp": false,
490
+ "multiple": false,
491
+ "type": "option"
492
+ },
333
493
  "dry-run": {
334
494
  "char": "d",
335
495
  "description": "Show what would change without making changes",
336
496
  "name": "dry-run",
337
497
  "allowNo": false,
338
498
  "type": "boolean"
499
+ },
500
+ "yes": {
501
+ "char": "y",
502
+ "description": "Answer yes to confirmation prompts",
503
+ "name": "yes",
504
+ "allowNo": false,
505
+ "type": "boolean"
339
506
  }
340
507
  },
341
508
  "hasDynamicHelp": false,
@@ -354,6 +521,14 @@
354
521
  "type": "boolean"
355
522
  }
356
523
  },
524
+ "yesFlag": {
525
+ "yes": {
526
+ "char": "y",
527
+ "description": "Answer yes to confirmation prompts",
528
+ "allowNo": false,
529
+ "type": "boolean"
530
+ }
531
+ },
357
532
  "isESM": true,
358
533
  "relativePath": [
359
534
  "dist",
@@ -376,12 +551,26 @@
376
551
  "$ lps api push --path ./api"
377
552
  ],
378
553
  "flags": {
554
+ "env": {
555
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
556
+ "name": "env",
557
+ "hasDynamicHelp": false,
558
+ "multiple": false,
559
+ "type": "option"
560
+ },
379
561
  "dry-run": {
380
562
  "char": "d",
381
563
  "description": "Show what would change without making changes",
382
564
  "name": "dry-run",
383
565
  "allowNo": false,
384
566
  "type": "boolean"
567
+ },
568
+ "yes": {
569
+ "char": "y",
570
+ "description": "Answer yes to confirmation prompts",
571
+ "name": "yes",
572
+ "allowNo": false,
573
+ "type": "boolean"
385
574
  }
386
575
  },
387
576
  "hasDynamicHelp": false,
@@ -399,6 +588,164 @@
399
588
  "push.js"
400
589
  ]
401
590
  },
591
+ "composer:init": {
592
+ "aliases": [],
593
+ "args": {},
594
+ "description": "Create a composer.json wired to WPackagist for installing WordPress.org plugins and themes",
595
+ "examples": [
596
+ "$ lps composer init",
597
+ "$ lps composer init --dry-run"
598
+ ],
599
+ "flags": {
600
+ "env": {
601
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
602
+ "name": "env",
603
+ "hasDynamicHelp": false,
604
+ "multiple": false,
605
+ "type": "option"
606
+ },
607
+ "dry-run": {
608
+ "char": "d",
609
+ "description": "Show what would change without making changes",
610
+ "name": "dry-run",
611
+ "allowNo": false,
612
+ "type": "boolean"
613
+ }
614
+ },
615
+ "hasDynamicHelp": false,
616
+ "hiddenAliases": [],
617
+ "id": "composer:init",
618
+ "pluginAlias": "@loopress/cli",
619
+ "pluginName": "@loopress/cli",
620
+ "pluginType": "core",
621
+ "strict": true,
622
+ "enableJsonFlag": false,
623
+ "dryRunFlag": {
624
+ "dry-run": {
625
+ "char": "d",
626
+ "description": "Show what would change without making changes",
627
+ "allowNo": false,
628
+ "type": "boolean"
629
+ }
630
+ },
631
+ "yesFlag": {
632
+ "yes": {
633
+ "char": "y",
634
+ "description": "Answer yes to confirmation prompts",
635
+ "allowNo": false,
636
+ "type": "boolean"
637
+ }
638
+ },
639
+ "isESM": true,
640
+ "relativePath": [
641
+ "dist",
642
+ "commands",
643
+ "composer",
644
+ "init.js"
645
+ ]
646
+ },
647
+ "composer:pull": {
648
+ "aliases": [],
649
+ "args": {},
650
+ "description": "Pull composer.json and composer.lock from WordPress",
651
+ "examples": [
652
+ "$ lps composer pull",
653
+ "$ lps composer pull --dry-run"
654
+ ],
655
+ "flags": {
656
+ "env": {
657
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
658
+ "name": "env",
659
+ "hasDynamicHelp": false,
660
+ "multiple": false,
661
+ "type": "option"
662
+ },
663
+ "dry-run": {
664
+ "char": "d",
665
+ "description": "Show what would change without making changes",
666
+ "name": "dry-run",
667
+ "allowNo": false,
668
+ "type": "boolean"
669
+ }
670
+ },
671
+ "hasDynamicHelp": false,
672
+ "hiddenAliases": [],
673
+ "id": "composer:pull",
674
+ "pluginAlias": "@loopress/cli",
675
+ "pluginName": "@loopress/cli",
676
+ "pluginType": "core",
677
+ "strict": true,
678
+ "enableJsonFlag": false,
679
+ "dryRunFlag": {
680
+ "dry-run": {
681
+ "char": "d",
682
+ "description": "Show what would change without making changes",
683
+ "allowNo": false,
684
+ "type": "boolean"
685
+ }
686
+ },
687
+ "yesFlag": {
688
+ "yes": {
689
+ "char": "y",
690
+ "description": "Answer yes to confirmation prompts",
691
+ "allowNo": false,
692
+ "type": "boolean"
693
+ }
694
+ },
695
+ "isESM": true,
696
+ "relativePath": [
697
+ "dist",
698
+ "commands",
699
+ "composer",
700
+ "pull.js"
701
+ ]
702
+ },
703
+ "composer:push": {
704
+ "aliases": [],
705
+ "args": {},
706
+ "description": "Push composer.json and composer.lock to WordPress and run composer install",
707
+ "examples": [
708
+ "$ lps composer push",
709
+ "$ lps composer push --dry-run"
710
+ ],
711
+ "flags": {
712
+ "env": {
713
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
714
+ "name": "env",
715
+ "hasDynamicHelp": false,
716
+ "multiple": false,
717
+ "type": "option"
718
+ },
719
+ "dry-run": {
720
+ "char": "d",
721
+ "description": "Show what would change without making changes",
722
+ "name": "dry-run",
723
+ "allowNo": false,
724
+ "type": "boolean"
725
+ },
726
+ "yes": {
727
+ "char": "y",
728
+ "description": "Answer yes to confirmation prompts",
729
+ "name": "yes",
730
+ "allowNo": false,
731
+ "type": "boolean"
732
+ }
733
+ },
734
+ "hasDynamicHelp": false,
735
+ "hiddenAliases": [],
736
+ "id": "composer:push",
737
+ "pluginAlias": "@loopress/cli",
738
+ "pluginName": "@loopress/cli",
739
+ "pluginType": "core",
740
+ "strict": true,
741
+ "isESM": true,
742
+ "relativePath": [
743
+ "dist",
744
+ "commands",
745
+ "composer",
746
+ "push.js"
747
+ ]
748
+ },
402
749
  "form:list": {
403
750
  "aliases": [],
404
751
  "args": {},
@@ -407,6 +754,13 @@
407
754
  "$ lps form list"
408
755
  ],
409
756
  "flags": {
757
+ "env": {
758
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
759
+ "name": "env",
760
+ "hasDynamicHelp": false,
761
+ "multiple": false,
762
+ "type": "option"
763
+ },
410
764
  "json": {
411
765
  "char": "j",
412
766
  "description": "Output in JSON format",
@@ -431,6 +785,14 @@
431
785
  "type": "boolean"
432
786
  }
433
787
  },
788
+ "yesFlag": {
789
+ "yes": {
790
+ "char": "y",
791
+ "description": "Answer yes to confirmation prompts",
792
+ "allowNo": false,
793
+ "type": "boolean"
794
+ }
795
+ },
434
796
  "isESM": true,
435
797
  "relativePath": [
436
798
  "dist",
@@ -452,12 +814,26 @@
452
814
  "$ lps form pull"
453
815
  ],
454
816
  "flags": {
817
+ "env": {
818
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
819
+ "name": "env",
820
+ "hasDynamicHelp": false,
821
+ "multiple": false,
822
+ "type": "option"
823
+ },
455
824
  "dry-run": {
456
825
  "char": "d",
457
826
  "description": "Show what would change without making changes",
458
827
  "name": "dry-run",
459
828
  "allowNo": false,
460
829
  "type": "boolean"
830
+ },
831
+ "yes": {
832
+ "char": "y",
833
+ "description": "Answer yes to confirmation prompts",
834
+ "name": "yes",
835
+ "allowNo": false,
836
+ "type": "boolean"
461
837
  }
462
838
  },
463
839
  "hasDynamicHelp": false,
@@ -476,6 +852,14 @@
476
852
  "type": "boolean"
477
853
  }
478
854
  },
855
+ "yesFlag": {
856
+ "yes": {
857
+ "char": "y",
858
+ "description": "Answer yes to confirmation prompts",
859
+ "allowNo": false,
860
+ "type": "boolean"
861
+ }
862
+ },
479
863
  "isESM": true,
480
864
  "relativePath": [
481
865
  "dist",
@@ -497,12 +881,26 @@
497
881
  "$ lps form push"
498
882
  ],
499
883
  "flags": {
884
+ "env": {
885
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
886
+ "name": "env",
887
+ "hasDynamicHelp": false,
888
+ "multiple": false,
889
+ "type": "option"
890
+ },
500
891
  "dry-run": {
501
892
  "char": "d",
502
893
  "description": "Show what would change without making changes",
503
894
  "name": "dry-run",
504
895
  "allowNo": false,
505
896
  "type": "boolean"
897
+ },
898
+ "yes": {
899
+ "char": "y",
900
+ "description": "Answer yes to confirmation prompts",
901
+ "name": "yes",
902
+ "allowNo": false,
903
+ "type": "boolean"
506
904
  }
507
905
  },
508
906
  "hasDynamicHelp": false,
@@ -520,26 +918,32 @@
520
918
  "push.js"
521
919
  ]
522
920
  },
523
- "composer:init": {
921
+ "page:list": {
524
922
  "aliases": [],
525
923
  "args": {},
526
- "description": "Create a composer.json wired to WPackagist for installing WordPress.org plugins and themes",
924
+ "description": "List pages from WordPress",
527
925
  "examples": [
528
- "$ lps composer init",
529
- "$ lps composer init --dry-run"
926
+ "$ lps page list"
530
927
  ],
531
928
  "flags": {
532
- "dry-run": {
533
- "char": "d",
534
- "description": "Show what would change without making changes",
535
- "name": "dry-run",
929
+ "env": {
930
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
931
+ "name": "env",
932
+ "hasDynamicHelp": false,
933
+ "multiple": false,
934
+ "type": "option"
935
+ },
936
+ "json": {
937
+ "char": "j",
938
+ "description": "Output in JSON format",
939
+ "name": "json",
536
940
  "allowNo": false,
537
941
  "type": "boolean"
538
942
  }
539
943
  },
540
944
  "hasDynamicHelp": false,
541
945
  "hiddenAliases": [],
542
- "id": "composer:init",
946
+ "id": "page:list",
543
947
  "pluginAlias": "@loopress/cli",
544
948
  "pluginName": "@loopress/cli",
545
949
  "pluginType": "core",
@@ -553,34 +957,60 @@
553
957
  "type": "boolean"
554
958
  }
555
959
  },
960
+ "yesFlag": {
961
+ "yes": {
962
+ "char": "y",
963
+ "description": "Answer yes to confirmation prompts",
964
+ "allowNo": false,
965
+ "type": "boolean"
966
+ }
967
+ },
556
968
  "isESM": true,
557
969
  "relativePath": [
558
970
  "dist",
559
971
  "commands",
560
- "composer",
561
- "init.js"
972
+ "page",
973
+ "list.js"
562
974
  ]
563
975
  },
564
- "composer:pull": {
976
+ "page:pull": {
565
977
  "aliases": [],
566
- "args": {},
567
- "description": "Pull composer.json and composer.lock from WordPress",
978
+ "args": {
979
+ "path": {
980
+ "description": "Path to pages directory (overrides project config)",
981
+ "name": "path"
982
+ }
983
+ },
984
+ "description": "Pull pages from WordPress",
568
985
  "examples": [
569
- "$ lps composer pull",
570
- "$ lps composer pull --dry-run"
986
+ "$ lps page pull"
571
987
  ],
572
988
  "flags": {
989
+ "env": {
990
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
991
+ "name": "env",
992
+ "hasDynamicHelp": false,
993
+ "multiple": false,
994
+ "type": "option"
995
+ },
573
996
  "dry-run": {
574
997
  "char": "d",
575
998
  "description": "Show what would change without making changes",
576
999
  "name": "dry-run",
577
1000
  "allowNo": false,
578
1001
  "type": "boolean"
1002
+ },
1003
+ "yes": {
1004
+ "char": "y",
1005
+ "description": "Answer yes to confirmation prompts",
1006
+ "name": "yes",
1007
+ "allowNo": false,
1008
+ "type": "boolean"
579
1009
  }
580
1010
  },
581
1011
  "hasDynamicHelp": false,
582
1012
  "hiddenAliases": [],
583
- "id": "composer:pull",
1013
+ "id": "page:pull",
584
1014
  "pluginAlias": "@loopress/cli",
585
1015
  "pluginName": "@loopress/cli",
586
1016
  "pluginType": "core",
@@ -594,34 +1024,60 @@
594
1024
  "type": "boolean"
595
1025
  }
596
1026
  },
1027
+ "yesFlag": {
1028
+ "yes": {
1029
+ "char": "y",
1030
+ "description": "Answer yes to confirmation prompts",
1031
+ "allowNo": false,
1032
+ "type": "boolean"
1033
+ }
1034
+ },
597
1035
  "isESM": true,
598
1036
  "relativePath": [
599
1037
  "dist",
600
1038
  "commands",
601
- "composer",
1039
+ "page",
602
1040
  "pull.js"
603
1041
  ]
604
1042
  },
605
- "composer:push": {
1043
+ "page:push": {
606
1044
  "aliases": [],
607
- "args": {},
608
- "description": "Push composer.json and composer.lock to WordPress and run composer install",
1045
+ "args": {
1046
+ "path": {
1047
+ "description": "Path to pages directory (overrides project config)",
1048
+ "name": "path"
1049
+ }
1050
+ },
1051
+ "description": "Push pages to WordPress. Local files created or updated remotely are renamed on disk to the `<id>-<slug>` convention.",
609
1052
  "examples": [
610
- "$ lps composer push",
611
- "$ lps composer push --dry-run"
1053
+ "$ lps page push"
612
1054
  ],
613
1055
  "flags": {
1056
+ "env": {
1057
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1058
+ "name": "env",
1059
+ "hasDynamicHelp": false,
1060
+ "multiple": false,
1061
+ "type": "option"
1062
+ },
614
1063
  "dry-run": {
615
1064
  "char": "d",
616
1065
  "description": "Show what would change without making changes",
617
1066
  "name": "dry-run",
618
1067
  "allowNo": false,
619
1068
  "type": "boolean"
1069
+ },
1070
+ "yes": {
1071
+ "char": "y",
1072
+ "description": "Answer yes to confirmation prompts",
1073
+ "name": "yes",
1074
+ "allowNo": false,
1075
+ "type": "boolean"
620
1076
  }
621
1077
  },
622
1078
  "hasDynamicHelp": false,
623
1079
  "hiddenAliases": [],
624
- "id": "composer:push",
1080
+ "id": "page:push",
625
1081
  "pluginAlias": "@loopress/cli",
626
1082
  "pluginName": "@loopress/cli",
627
1083
  "pluginType": "core",
@@ -630,7 +1086,7 @@
630
1086
  "relativePath": [
631
1087
  "dist",
632
1088
  "commands",
633
- "composer",
1089
+ "page",
634
1090
  "push.js"
635
1091
  ]
636
1092
  },
@@ -649,6 +1105,13 @@
649
1105
  "$ lps plugin add contact-form-7 --dry-run"
650
1106
  ],
651
1107
  "flags": {
1108
+ "env": {
1109
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1110
+ "name": "env",
1111
+ "hasDynamicHelp": false,
1112
+ "multiple": false,
1113
+ "type": "option"
1114
+ },
652
1115
  "dry-run": {
653
1116
  "char": "d",
654
1117
  "description": "Show what would change without making changes",
@@ -673,6 +1136,14 @@
673
1136
  "type": "boolean"
674
1137
  }
675
1138
  },
1139
+ "yesFlag": {
1140
+ "yes": {
1141
+ "char": "y",
1142
+ "description": "Answer yes to confirmation prompts",
1143
+ "allowNo": false,
1144
+ "type": "boolean"
1145
+ }
1146
+ },
676
1147
  "isESM": true,
677
1148
  "relativePath": [
678
1149
  "dist",
@@ -690,6 +1161,13 @@
690
1161
  "$ lps plugin pull --dry-run"
691
1162
  ],
692
1163
  "flags": {
1164
+ "env": {
1165
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1166
+ "name": "env",
1167
+ "hasDynamicHelp": false,
1168
+ "multiple": false,
1169
+ "type": "option"
1170
+ },
693
1171
  "dry-run": {
694
1172
  "char": "d",
695
1173
  "description": "Show what would change without making changes",
@@ -714,6 +1192,14 @@
714
1192
  "type": "boolean"
715
1193
  }
716
1194
  },
1195
+ "yesFlag": {
1196
+ "yes": {
1197
+ "char": "y",
1198
+ "description": "Answer yes to confirmation prompts",
1199
+ "allowNo": false,
1200
+ "type": "boolean"
1201
+ }
1202
+ },
717
1203
  "isESM": true,
718
1204
  "relativePath": [
719
1205
  "dist",
@@ -731,12 +1217,26 @@
731
1217
  "$ lps plugin push --dry-run"
732
1218
  ],
733
1219
  "flags": {
1220
+ "env": {
1221
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1222
+ "name": "env",
1223
+ "hasDynamicHelp": false,
1224
+ "multiple": false,
1225
+ "type": "option"
1226
+ },
734
1227
  "dry-run": {
735
1228
  "char": "d",
736
1229
  "description": "Show what would change without making changes",
737
1230
  "name": "dry-run",
738
1231
  "allowNo": false,
739
1232
  "type": "boolean"
1233
+ },
1234
+ "yes": {
1235
+ "char": "y",
1236
+ "description": "Answer yes to confirmation prompts",
1237
+ "name": "yes",
1238
+ "allowNo": false,
1239
+ "type": "boolean"
740
1240
  }
741
1241
  },
742
1242
  "hasDynamicHelp": false,
@@ -833,7 +1333,15 @@
833
1333
  "examples": [
834
1334
  "$ lps project push"
835
1335
  ],
836
- "flags": {},
1336
+ "flags": {
1337
+ "yes": {
1338
+ "char": "y",
1339
+ "description": "Answer yes to confirmation prompts",
1340
+ "name": "yes",
1341
+ "allowNo": false,
1342
+ "type": "boolean"
1343
+ }
1344
+ },
837
1345
  "hasDynamicHelp": false,
838
1346
  "hiddenAliases": [],
839
1347
  "id": "project:push",
@@ -874,6 +1382,55 @@
874
1382
  "remove.js"
875
1383
  ]
876
1384
  },
1385
+ "project:rotate": {
1386
+ "aliases": [],
1387
+ "args": {},
1388
+ "description": "Rotate the WordPress application password for the current (or --env) environment",
1389
+ "examples": [
1390
+ "$ lps project rotate",
1391
+ "$ lps project rotate --env staging"
1392
+ ],
1393
+ "flags": {
1394
+ "env": {
1395
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1396
+ "name": "env",
1397
+ "hasDynamicHelp": false,
1398
+ "multiple": false,
1399
+ "type": "option"
1400
+ }
1401
+ },
1402
+ "hasDynamicHelp": false,
1403
+ "hiddenAliases": [],
1404
+ "id": "project:rotate",
1405
+ "pluginAlias": "@loopress/cli",
1406
+ "pluginName": "@loopress/cli",
1407
+ "pluginType": "core",
1408
+ "strict": true,
1409
+ "enableJsonFlag": false,
1410
+ "dryRunFlag": {
1411
+ "dry-run": {
1412
+ "char": "d",
1413
+ "description": "Show what would change without making changes",
1414
+ "allowNo": false,
1415
+ "type": "boolean"
1416
+ }
1417
+ },
1418
+ "yesFlag": {
1419
+ "yes": {
1420
+ "char": "y",
1421
+ "description": "Answer yes to confirmation prompts",
1422
+ "allowNo": false,
1423
+ "type": "boolean"
1424
+ }
1425
+ },
1426
+ "isESM": true,
1427
+ "relativePath": [
1428
+ "dist",
1429
+ "commands",
1430
+ "project",
1431
+ "rotate.js"
1432
+ ]
1433
+ },
877
1434
  "project:switch": {
878
1435
  "aliases": [],
879
1436
  "args": {},
@@ -907,6 +1464,13 @@
907
1464
  "$ lps seo list --post-type post"
908
1465
  ],
909
1466
  "flags": {
1467
+ "env": {
1468
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1469
+ "name": "env",
1470
+ "hasDynamicHelp": false,
1471
+ "multiple": false,
1472
+ "type": "option"
1473
+ },
910
1474
  "json": {
911
1475
  "char": "j",
912
1476
  "description": "Output in JSON format",
@@ -938,6 +1502,14 @@
938
1502
  "type": "boolean"
939
1503
  }
940
1504
  },
1505
+ "yesFlag": {
1506
+ "yes": {
1507
+ "char": "y",
1508
+ "description": "Answer yes to confirmation prompts",
1509
+ "allowNo": false,
1510
+ "type": "boolean"
1511
+ }
1512
+ },
941
1513
  "isESM": true,
942
1514
  "relativePath": [
943
1515
  "dist",
@@ -960,6 +1532,13 @@
960
1532
  "$ lps seo pull --post-type post --post-type page"
961
1533
  ],
962
1534
  "flags": {
1535
+ "env": {
1536
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1537
+ "name": "env",
1538
+ "hasDynamicHelp": false,
1539
+ "multiple": false,
1540
+ "type": "option"
1541
+ },
963
1542
  "dry-run": {
964
1543
  "char": "d",
965
1544
  "description": "Show what would change without making changes",
@@ -967,6 +1546,13 @@
967
1546
  "allowNo": false,
968
1547
  "type": "boolean"
969
1548
  },
1549
+ "yes": {
1550
+ "char": "y",
1551
+ "description": "Answer yes to confirmation prompts",
1552
+ "name": "yes",
1553
+ "allowNo": false,
1554
+ "type": "boolean"
1555
+ },
970
1556
  "post-type": {
971
1557
  "description": "Limit post meta to specific post types",
972
1558
  "name": "post-type",
@@ -991,6 +1577,14 @@
991
1577
  "type": "boolean"
992
1578
  }
993
1579
  },
1580
+ "yesFlag": {
1581
+ "yes": {
1582
+ "char": "y",
1583
+ "description": "Answer yes to confirmation prompts",
1584
+ "allowNo": false,
1585
+ "type": "boolean"
1586
+ }
1587
+ },
994
1588
  "isESM": true,
995
1589
  "relativePath": [
996
1590
  "dist",
@@ -1012,12 +1606,26 @@
1012
1606
  "$ lps seo push"
1013
1607
  ],
1014
1608
  "flags": {
1609
+ "env": {
1610
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1611
+ "name": "env",
1612
+ "hasDynamicHelp": false,
1613
+ "multiple": false,
1614
+ "type": "option"
1615
+ },
1015
1616
  "dry-run": {
1016
1617
  "char": "d",
1017
1618
  "description": "Show what would change without making changes",
1018
1619
  "name": "dry-run",
1019
1620
  "allowNo": false,
1020
1621
  "type": "boolean"
1622
+ },
1623
+ "yes": {
1624
+ "char": "y",
1625
+ "description": "Answer yes to confirmation prompts",
1626
+ "name": "yes",
1627
+ "allowNo": false,
1628
+ "type": "boolean"
1021
1629
  }
1022
1630
  },
1023
1631
  "hasDynamicHelp": false,
@@ -1043,6 +1651,13 @@
1043
1651
  "$ lps snippet list"
1044
1652
  ],
1045
1653
  "flags": {
1654
+ "env": {
1655
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1656
+ "name": "env",
1657
+ "hasDynamicHelp": false,
1658
+ "multiple": false,
1659
+ "type": "option"
1660
+ },
1046
1661
  "json": {
1047
1662
  "char": "j",
1048
1663
  "description": "Output in JSON format",
@@ -1067,6 +1682,14 @@
1067
1682
  "type": "boolean"
1068
1683
  }
1069
1684
  },
1685
+ "yesFlag": {
1686
+ "yes": {
1687
+ "char": "y",
1688
+ "description": "Answer yes to confirmation prompts",
1689
+ "allowNo": false,
1690
+ "type": "boolean"
1691
+ }
1692
+ },
1070
1693
  "isESM": true,
1071
1694
  "relativePath": [
1072
1695
  "dist",
@@ -1119,12 +1742,26 @@
1119
1742
  "$ lps snippet pull --path ./snippets"
1120
1743
  ],
1121
1744
  "flags": {
1745
+ "env": {
1746
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1747
+ "name": "env",
1748
+ "hasDynamicHelp": false,
1749
+ "multiple": false,
1750
+ "type": "option"
1751
+ },
1122
1752
  "dry-run": {
1123
1753
  "char": "d",
1124
1754
  "description": "Show what would change without making changes",
1125
1755
  "name": "dry-run",
1126
1756
  "allowNo": false,
1127
1757
  "type": "boolean"
1758
+ },
1759
+ "yes": {
1760
+ "char": "y",
1761
+ "description": "Answer yes to confirmation prompts",
1762
+ "name": "yes",
1763
+ "allowNo": false,
1764
+ "type": "boolean"
1128
1765
  }
1129
1766
  },
1130
1767
  "hasDynamicHelp": false,
@@ -1143,6 +1780,14 @@
1143
1780
  "type": "boolean"
1144
1781
  }
1145
1782
  },
1783
+ "yesFlag": {
1784
+ "yes": {
1785
+ "char": "y",
1786
+ "description": "Answer yes to confirmation prompts",
1787
+ "allowNo": false,
1788
+ "type": "boolean"
1789
+ }
1790
+ },
1146
1791
  "isESM": true,
1147
1792
  "relativePath": [
1148
1793
  "dist",
@@ -1165,12 +1810,26 @@
1165
1810
  "$ lps snippet push --path ./snippets"
1166
1811
  ],
1167
1812
  "flags": {
1813
+ "env": {
1814
+ "description": "Target environment by name, overriding the globally active one (lps project switch)",
1815
+ "name": "env",
1816
+ "hasDynamicHelp": false,
1817
+ "multiple": false,
1818
+ "type": "option"
1819
+ },
1168
1820
  "dry-run": {
1169
1821
  "char": "d",
1170
1822
  "description": "Show what would change without making changes",
1171
1823
  "name": "dry-run",
1172
1824
  "allowNo": false,
1173
1825
  "type": "boolean"
1826
+ },
1827
+ "yes": {
1828
+ "char": "y",
1829
+ "description": "Answer yes to confirmation prompts",
1830
+ "name": "yes",
1831
+ "allowNo": false,
1832
+ "type": "boolean"
1174
1833
  }
1175
1834
  },
1176
1835
  "hasDynamicHelp": false,
@@ -1237,5 +1896,5 @@
1237
1896
  ]
1238
1897
  }
1239
1898
  },
1240
- "version": "0.18.0"
1899
+ "version": "0.20.0"
1241
1900
  }