@loopress/cli 0.7.0 → 0.8.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 (39) hide show
  1. package/README.md +45 -45
  2. package/dist/commands/composer/pull.js +4 -14
  3. package/dist/commands/composer/push.js +7 -16
  4. package/dist/commands/login.js +1 -1
  5. package/dist/commands/logout.js +1 -1
  6. package/dist/commands/plugin/add.js +9 -9
  7. package/dist/commands/plugin/pull.js +7 -18
  8. package/dist/commands/plugin/push.d.ts +1 -0
  9. package/dist/commands/plugin/push.js +20 -45
  10. package/dist/commands/snippet/list.d.ts +1 -1
  11. package/dist/commands/snippet/list.js +23 -38
  12. package/dist/commands/snippet/pull.d.ts +1 -1
  13. package/dist/commands/snippet/pull.js +41 -50
  14. package/dist/commands/snippet/push.d.ts +1 -1
  15. package/dist/commands/snippet/push.js +82 -70
  16. package/dist/config/auth.manager.d.ts +0 -2
  17. package/dist/config/auth.manager.js +5 -25
  18. package/dist/config/json-file.d.ts +2 -0
  19. package/dist/config/json-file.js +21 -0
  20. package/dist/config/project-config.manager.d.ts +1 -3
  21. package/dist/config/project-config.manager.js +7 -23
  22. package/dist/lib/base.d.ts +14 -4
  23. package/dist/lib/base.js +63 -33
  24. package/dist/lib/push-command.d.ts +0 -1
  25. package/dist/lib/push-command.js +0 -1
  26. package/dist/lib/wp-client.d.ts +15 -0
  27. package/dist/lib/wp-client.js +53 -0
  28. package/dist/types/snippet.d.ts +7 -1
  29. package/dist/utils/loopress-config.js +5 -2
  30. package/dist/utils/snippet-plugin-flag.d.ts +3 -0
  31. package/dist/utils/snippet-plugin-flag.js +8 -0
  32. package/dist/utils/snippet-plugin.d.ts +23 -2
  33. package/dist/utils/snippet-plugin.js +168 -13
  34. package/oclif.manifest.json +165 -125
  35. package/package.json +5 -3
  36. package/dist/types/menu.d.ts +0 -7
  37. package/dist/types/menu.js +0 -1
  38. /package/dist/{config/types.d.ts → types/config.d.ts} +0 -0
  39. /package/dist/{config/types.js → types/config.js} +0 -0
@@ -102,7 +102,7 @@
102
102
  ],
103
103
  "flags": {
104
104
  "password": {
105
- "description": "WordPress application password (fallback; prefer `lps project config`)",
105
+ "description": "WordPress application password (overrides project config, requires --user)",
106
106
  "helpGroup": "GLOBAL",
107
107
  "name": "password",
108
108
  "hasDynamicHelp": false,
@@ -110,7 +110,7 @@
110
110
  "type": "option"
111
111
  },
112
112
  "url": {
113
- "description": "WordPress URL (fallback; prefer `lps project config`)",
113
+ "description": "WordPress URL (overrides project config)",
114
114
  "helpGroup": "GLOBAL",
115
115
  "name": "url",
116
116
  "hasDynamicHelp": false,
@@ -118,7 +118,7 @@
118
118
  "type": "option"
119
119
  },
120
120
  "user": {
121
- "description": "WordPress username (fallback; prefer `lps project config`)",
121
+ "description": "WordPress username (overrides project config, requires --password)",
122
122
  "helpGroup": "GLOBAL",
123
123
  "name": "user",
124
124
  "hasDynamicHelp": false,
@@ -127,7 +127,7 @@
127
127
  },
128
128
  "dry-run": {
129
129
  "char": "d",
130
- "description": "Show what would be written without making changes",
130
+ "description": "Show what would change without making changes",
131
131
  "name": "dry-run",
132
132
  "allowNo": false,
133
133
  "type": "boolean"
@@ -141,6 +141,14 @@
141
141
  "pluginType": "core",
142
142
  "strict": true,
143
143
  "enableJsonFlag": false,
144
+ "dryRunFlag": {
145
+ "dry-run": {
146
+ "char": "d",
147
+ "description": "Show what would change without making changes",
148
+ "allowNo": false,
149
+ "type": "boolean"
150
+ }
151
+ },
144
152
  "isESM": true,
145
153
  "relativePath": [
146
154
  "dist",
@@ -159,7 +167,7 @@
159
167
  ],
160
168
  "flags": {
161
169
  "password": {
162
- "description": "WordPress application password (fallback; prefer `lps project config`)",
170
+ "description": "WordPress application password (overrides project config, requires --user)",
163
171
  "helpGroup": "GLOBAL",
164
172
  "name": "password",
165
173
  "hasDynamicHelp": false,
@@ -167,7 +175,7 @@
167
175
  "type": "option"
168
176
  },
169
177
  "url": {
170
- "description": "WordPress URL (fallback; prefer `lps project config`)",
178
+ "description": "WordPress URL (overrides project config)",
171
179
  "helpGroup": "GLOBAL",
172
180
  "name": "url",
173
181
  "hasDynamicHelp": false,
@@ -175,7 +183,7 @@
175
183
  "type": "option"
176
184
  },
177
185
  "user": {
178
- "description": "WordPress username (fallback; prefer `lps project config`)",
186
+ "description": "WordPress username (overrides project config, requires --password)",
179
187
  "helpGroup": "GLOBAL",
180
188
  "name": "user",
181
189
  "hasDynamicHelp": false,
@@ -226,7 +234,7 @@
226
234
  ],
227
235
  "flags": {
228
236
  "password": {
229
- "description": "WordPress application password (fallback; prefer `lps project config`)",
237
+ "description": "WordPress application password (overrides project config, requires --user)",
230
238
  "helpGroup": "GLOBAL",
231
239
  "name": "password",
232
240
  "hasDynamicHelp": false,
@@ -234,7 +242,7 @@
234
242
  "type": "option"
235
243
  },
236
244
  "url": {
237
- "description": "WordPress URL (fallback; prefer `lps project config`)",
245
+ "description": "WordPress URL (overrides project config)",
238
246
  "helpGroup": "GLOBAL",
239
247
  "name": "url",
240
248
  "hasDynamicHelp": false,
@@ -242,7 +250,7 @@
242
250
  "type": "option"
243
251
  },
244
252
  "user": {
245
- "description": "WordPress username (fallback; prefer `lps project config`)",
253
+ "description": "WordPress username (overrides project config, requires --password)",
246
254
  "helpGroup": "GLOBAL",
247
255
  "name": "user",
248
256
  "hasDynamicHelp": false,
@@ -251,7 +259,7 @@
251
259
  },
252
260
  "dry-run": {
253
261
  "char": "d",
254
- "description": "Show what would be written without making changes",
262
+ "description": "Show what would change without making changes",
255
263
  "name": "dry-run",
256
264
  "allowNo": false,
257
265
  "type": "boolean"
@@ -265,6 +273,14 @@
265
273
  "pluginType": "core",
266
274
  "strict": true,
267
275
  "enableJsonFlag": false,
276
+ "dryRunFlag": {
277
+ "dry-run": {
278
+ "char": "d",
279
+ "description": "Show what would change without making changes",
280
+ "allowNo": false,
281
+ "type": "boolean"
282
+ }
283
+ },
268
284
  "isESM": true,
269
285
  "relativePath": [
270
286
  "dist",
@@ -283,7 +299,7 @@
283
299
  ],
284
300
  "flags": {
285
301
  "password": {
286
- "description": "WordPress application password (fallback; prefer `lps project config`)",
302
+ "description": "WordPress application password (overrides project config, requires --user)",
287
303
  "helpGroup": "GLOBAL",
288
304
  "name": "password",
289
305
  "hasDynamicHelp": false,
@@ -291,7 +307,7 @@
291
307
  "type": "option"
292
308
  },
293
309
  "url": {
294
- "description": "WordPress URL (fallback; prefer `lps project config`)",
310
+ "description": "WordPress URL (overrides project config)",
295
311
  "helpGroup": "GLOBAL",
296
312
  "name": "url",
297
313
  "hasDynamicHelp": false,
@@ -299,7 +315,7 @@
299
315
  "type": "option"
300
316
  },
301
317
  "user": {
302
- "description": "WordPress username (fallback; prefer `lps project config`)",
318
+ "description": "WordPress username (overrides project config, requires --password)",
303
319
  "helpGroup": "GLOBAL",
304
320
  "name": "user",
305
321
  "hasDynamicHelp": false,
@@ -308,7 +324,7 @@
308
324
  },
309
325
  "dry-run": {
310
326
  "char": "d",
311
- "description": "Show what would be written without making changes",
327
+ "description": "Show what would change without making changes",
312
328
  "name": "dry-run",
313
329
  "allowNo": false,
314
330
  "type": "boolean"
@@ -322,6 +338,14 @@
322
338
  "pluginType": "core",
323
339
  "strict": true,
324
340
  "enableJsonFlag": false,
341
+ "dryRunFlag": {
342
+ "dry-run": {
343
+ "char": "d",
344
+ "description": "Show what would change without making changes",
345
+ "allowNo": false,
346
+ "type": "boolean"
347
+ }
348
+ },
325
349
  "isESM": true,
326
350
  "relativePath": [
327
351
  "dist",
@@ -340,7 +364,7 @@
340
364
  ],
341
365
  "flags": {
342
366
  "password": {
343
- "description": "WordPress application password (fallback; prefer `lps project config`)",
367
+ "description": "WordPress application password (overrides project config, requires --user)",
344
368
  "helpGroup": "GLOBAL",
345
369
  "name": "password",
346
370
  "hasDynamicHelp": false,
@@ -348,7 +372,7 @@
348
372
  "type": "option"
349
373
  },
350
374
  "url": {
351
- "description": "WordPress URL (fallback; prefer `lps project config`)",
375
+ "description": "WordPress URL (overrides project config)",
352
376
  "helpGroup": "GLOBAL",
353
377
  "name": "url",
354
378
  "hasDynamicHelp": false,
@@ -356,7 +380,7 @@
356
380
  "type": "option"
357
381
  },
358
382
  "user": {
359
- "description": "WordPress username (fallback; prefer `lps project config`)",
383
+ "description": "WordPress username (overrides project config, requires --password)",
360
384
  "helpGroup": "GLOBAL",
361
385
  "name": "user",
362
386
  "hasDynamicHelp": false,
@@ -386,102 +410,6 @@
386
410
  "push.js"
387
411
  ]
388
412
  },
389
- "project:config": {
390
- "aliases": [],
391
- "args": {},
392
- "description": "Add or update a WordPress project environment",
393
- "examples": [
394
- "$ lps project config"
395
- ],
396
- "flags": {},
397
- "hasDynamicHelp": false,
398
- "hiddenAliases": [],
399
- "id": "project:config",
400
- "pluginAlias": "@loopress/cli",
401
- "pluginName": "@loopress/cli",
402
- "pluginType": "core",
403
- "strict": true,
404
- "enableJsonFlag": false,
405
- "isESM": true,
406
- "relativePath": [
407
- "dist",
408
- "commands",
409
- "project",
410
- "config.js"
411
- ]
412
- },
413
- "project:list": {
414
- "aliases": [],
415
- "args": {},
416
- "description": "List configured WordPress projects",
417
- "examples": [
418
- "$ lps project list"
419
- ],
420
- "flags": {},
421
- "hasDynamicHelp": false,
422
- "hiddenAliases": [],
423
- "id": "project:list",
424
- "pluginAlias": "@loopress/cli",
425
- "pluginName": "@loopress/cli",
426
- "pluginType": "core",
427
- "strict": true,
428
- "enableJsonFlag": false,
429
- "isESM": true,
430
- "relativePath": [
431
- "dist",
432
- "commands",
433
- "project",
434
- "list.js"
435
- ]
436
- },
437
- "project:remove": {
438
- "aliases": [],
439
- "args": {},
440
- "description": "Remove one or more WordPress projects or environments",
441
- "examples": [
442
- "$ lps project remove"
443
- ],
444
- "flags": {},
445
- "hasDynamicHelp": false,
446
- "hiddenAliases": [],
447
- "id": "project:remove",
448
- "pluginAlias": "@loopress/cli",
449
- "pluginName": "@loopress/cli",
450
- "pluginType": "core",
451
- "strict": true,
452
- "enableJsonFlag": false,
453
- "isESM": true,
454
- "relativePath": [
455
- "dist",
456
- "commands",
457
- "project",
458
- "remove.js"
459
- ]
460
- },
461
- "project:switch": {
462
- "aliases": [],
463
- "args": {},
464
- "description": "Switch the active project and environment",
465
- "examples": [
466
- "$ lps project switch"
467
- ],
468
- "flags": {},
469
- "hasDynamicHelp": false,
470
- "hiddenAliases": [],
471
- "id": "project:switch",
472
- "pluginAlias": "@loopress/cli",
473
- "pluginName": "@loopress/cli",
474
- "pluginType": "core",
475
- "strict": true,
476
- "enableJsonFlag": false,
477
- "isESM": true,
478
- "relativePath": [
479
- "dist",
480
- "commands",
481
- "project",
482
- "switch.js"
483
- ]
484
- },
485
413
  "snippet:list": {
486
414
  "aliases": [],
487
415
  "args": {},
@@ -493,7 +421,7 @@
493
421
  ],
494
422
  "flags": {
495
423
  "password": {
496
- "description": "WordPress application password (fallback; prefer `lps project config`)",
424
+ "description": "WordPress application password (overrides project config, requires --user)",
497
425
  "helpGroup": "GLOBAL",
498
426
  "name": "password",
499
427
  "hasDynamicHelp": false,
@@ -501,7 +429,7 @@
501
429
  "type": "option"
502
430
  },
503
431
  "url": {
504
- "description": "WordPress URL (fallback; prefer `lps project config`)",
432
+ "description": "WordPress URL (overrides project config)",
505
433
  "helpGroup": "GLOBAL",
506
434
  "name": "url",
507
435
  "hasDynamicHelp": false,
@@ -509,7 +437,7 @@
509
437
  "type": "option"
510
438
  },
511
439
  "user": {
512
- "description": "WordPress username (fallback; prefer `lps project config`)",
440
+ "description": "WordPress username (overrides project config, requires --password)",
513
441
  "helpGroup": "GLOBAL",
514
442
  "name": "user",
515
443
  "hasDynamicHelp": false,
@@ -544,6 +472,14 @@
544
472
  "pluginType": "core",
545
473
  "strict": true,
546
474
  "enableJsonFlag": false,
475
+ "dryRunFlag": {
476
+ "dry-run": {
477
+ "char": "d",
478
+ "description": "Show what would change without making changes",
479
+ "allowNo": false,
480
+ "type": "boolean"
481
+ }
482
+ },
547
483
  "isESM": true,
548
484
  "relativePath": [
549
485
  "dist",
@@ -569,7 +505,7 @@
569
505
  ],
570
506
  "flags": {
571
507
  "password": {
572
- "description": "WordPress application password (fallback; prefer `lps project config`)",
508
+ "description": "WordPress application password (overrides project config, requires --user)",
573
509
  "helpGroup": "GLOBAL",
574
510
  "name": "password",
575
511
  "hasDynamicHelp": false,
@@ -577,7 +513,7 @@
577
513
  "type": "option"
578
514
  },
579
515
  "url": {
580
- "description": "WordPress URL (fallback; prefer `lps project config`)",
516
+ "description": "WordPress URL (overrides project config)",
581
517
  "helpGroup": "GLOBAL",
582
518
  "name": "url",
583
519
  "hasDynamicHelp": false,
@@ -585,7 +521,7 @@
585
521
  "type": "option"
586
522
  },
587
523
  "user": {
588
- "description": "WordPress username (fallback; prefer `lps project config`)",
524
+ "description": "WordPress username (overrides project config, requires --password)",
589
525
  "helpGroup": "GLOBAL",
590
526
  "name": "user",
591
527
  "hasDynamicHelp": false,
@@ -594,7 +530,7 @@
594
530
  },
595
531
  "dry-run": {
596
532
  "char": "d",
597
- "description": "Show what would be written without making changes",
533
+ "description": "Show what would change without making changes",
598
534
  "name": "dry-run",
599
535
  "allowNo": false,
600
536
  "type": "boolean"
@@ -620,6 +556,14 @@
620
556
  "pluginType": "core",
621
557
  "strict": true,
622
558
  "enableJsonFlag": false,
559
+ "dryRunFlag": {
560
+ "dry-run": {
561
+ "char": "d",
562
+ "description": "Show what would change without making changes",
563
+ "allowNo": false,
564
+ "type": "boolean"
565
+ }
566
+ },
623
567
  "isESM": true,
624
568
  "relativePath": [
625
569
  "dist",
@@ -645,7 +589,7 @@
645
589
  ],
646
590
  "flags": {
647
591
  "password": {
648
- "description": "WordPress application password (fallback; prefer `lps project config`)",
592
+ "description": "WordPress application password (overrides project config, requires --user)",
649
593
  "helpGroup": "GLOBAL",
650
594
  "name": "password",
651
595
  "hasDynamicHelp": false,
@@ -653,7 +597,7 @@
653
597
  "type": "option"
654
598
  },
655
599
  "url": {
656
- "description": "WordPress URL (fallback; prefer `lps project config`)",
600
+ "description": "WordPress URL (overrides project config)",
657
601
  "helpGroup": "GLOBAL",
658
602
  "name": "url",
659
603
  "hasDynamicHelp": false,
@@ -661,7 +605,7 @@
661
605
  "type": "option"
662
606
  },
663
607
  "user": {
664
- "description": "WordPress username (fallback; prefer `lps project config`)",
608
+ "description": "WordPress username (overrides project config, requires --password)",
665
609
  "helpGroup": "GLOBAL",
666
610
  "name": "user",
667
611
  "hasDynamicHelp": false,
@@ -702,7 +646,103 @@
702
646
  "snippet",
703
647
  "push.js"
704
648
  ]
649
+ },
650
+ "project:config": {
651
+ "aliases": [],
652
+ "args": {},
653
+ "description": "Add or update a WordPress project environment",
654
+ "examples": [
655
+ "$ lps project config"
656
+ ],
657
+ "flags": {},
658
+ "hasDynamicHelp": false,
659
+ "hiddenAliases": [],
660
+ "id": "project:config",
661
+ "pluginAlias": "@loopress/cli",
662
+ "pluginName": "@loopress/cli",
663
+ "pluginType": "core",
664
+ "strict": true,
665
+ "enableJsonFlag": false,
666
+ "isESM": true,
667
+ "relativePath": [
668
+ "dist",
669
+ "commands",
670
+ "project",
671
+ "config.js"
672
+ ]
673
+ },
674
+ "project:list": {
675
+ "aliases": [],
676
+ "args": {},
677
+ "description": "List configured WordPress projects",
678
+ "examples": [
679
+ "$ lps project list"
680
+ ],
681
+ "flags": {},
682
+ "hasDynamicHelp": false,
683
+ "hiddenAliases": [],
684
+ "id": "project:list",
685
+ "pluginAlias": "@loopress/cli",
686
+ "pluginName": "@loopress/cli",
687
+ "pluginType": "core",
688
+ "strict": true,
689
+ "enableJsonFlag": false,
690
+ "isESM": true,
691
+ "relativePath": [
692
+ "dist",
693
+ "commands",
694
+ "project",
695
+ "list.js"
696
+ ]
697
+ },
698
+ "project:remove": {
699
+ "aliases": [],
700
+ "args": {},
701
+ "description": "Remove one or more WordPress projects or environments",
702
+ "examples": [
703
+ "$ lps project remove"
704
+ ],
705
+ "flags": {},
706
+ "hasDynamicHelp": false,
707
+ "hiddenAliases": [],
708
+ "id": "project:remove",
709
+ "pluginAlias": "@loopress/cli",
710
+ "pluginName": "@loopress/cli",
711
+ "pluginType": "core",
712
+ "strict": true,
713
+ "enableJsonFlag": false,
714
+ "isESM": true,
715
+ "relativePath": [
716
+ "dist",
717
+ "commands",
718
+ "project",
719
+ "remove.js"
720
+ ]
721
+ },
722
+ "project:switch": {
723
+ "aliases": [],
724
+ "args": {},
725
+ "description": "Switch the active project and environment",
726
+ "examples": [
727
+ "$ lps project switch"
728
+ ],
729
+ "flags": {},
730
+ "hasDynamicHelp": false,
731
+ "hiddenAliases": [],
732
+ "id": "project:switch",
733
+ "pluginAlias": "@loopress/cli",
734
+ "pluginName": "@loopress/cli",
735
+ "pluginType": "core",
736
+ "strict": true,
737
+ "enableJsonFlag": false,
738
+ "isESM": true,
739
+ "relativePath": [
740
+ "dist",
741
+ "commands",
742
+ "project",
743
+ "switch.js"
744
+ ]
705
745
  }
706
746
  },
707
- "version": "0.7.0"
747
+ "version": "0.8.0"
708
748
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loopress/cli",
3
- "description": "CLI tool for syncing WordPress CodeSnippets, styles, and menus via the REST API",
4
- "version": "0.7.0",
3
+ "description": "CLI tool for syncing WordPress code snippets, plugins, and Composer dependencies via the REST API",
4
+ "version": "0.8.0",
5
5
  "author": "jean-smaug",
6
6
  "bin": {
7
7
  "loopress": "bin/run.js",
@@ -17,13 +17,15 @@
17
17
  "@oclif/plugin-plugins": "^5.4.80",
18
18
  "glob": "13.0.6",
19
19
  "got": "^15.0.7",
20
- "slugify": "^1.6.9"
20
+ "slugify": "^1.6.9",
21
+ "write-file-atomic": "^5.0.1"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@eslint/compat": "2.1.0",
24
25
  "@oclif/prettier-config": "^0.2.1",
25
26
  "@oclif/test": "^4.1.20",
26
27
  "@types/node": "26.0.1",
28
+ "@types/write-file-atomic": "^4.0.3",
27
29
  "@vitest/coverage-v8": "4.1.9",
28
30
  "eslint": "^9",
29
31
  "eslint-config-oclif": "^6.0.174",
@@ -1,7 +0,0 @@
1
- export interface NavMenu {
2
- [key: string]: any;
3
- description?: string;
4
- id: number;
5
- name: string;
6
- slug: string;
7
- }
@@ -1 +0,0 @@
1
- export {};
File without changes
File without changes