@loopress/cli 0.20.1 → 0.22.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 (118) hide show
  1. package/README.md +254 -75
  2. package/dist/commands/acf/list.d.ts +2 -2
  3. package/dist/commands/acf/list.js +4 -6
  4. package/dist/commands/acf/pull.js +9 -22
  5. package/dist/commands/acf/push.js +4 -7
  6. package/dist/commands/api/list.d.ts +7 -4
  7. package/dist/commands/api/list.js +5 -11
  8. package/dist/commands/api/publish.js +7 -23
  9. package/dist/commands/api/pull.d.ts +8 -1
  10. package/dist/commands/api/pull.js +22 -18
  11. package/dist/commands/api/push.d.ts +7 -1
  12. package/dist/commands/api/push.js +50 -23
  13. package/dist/commands/composer/init.js +6 -6
  14. package/dist/commands/composer/pull.d.ts +7 -1
  15. package/dist/commands/composer/pull.js +4 -2
  16. package/dist/commands/composer/push.d.ts +8 -1
  17. package/dist/commands/composer/push.js +3 -1
  18. package/dist/commands/dev.d.ts +13 -0
  19. package/dist/commands/dev.js +97 -0
  20. package/dist/commands/doctor.js +6 -5
  21. package/dist/commands/form/list.d.ts +2 -4
  22. package/dist/commands/form/list.js +3 -10
  23. package/dist/commands/form/pull.js +15 -24
  24. package/dist/commands/form/push.js +17 -42
  25. package/dist/commands/init.js +7 -7
  26. package/dist/commands/login.js +9 -5
  27. package/dist/commands/logout.js +2 -1
  28. package/dist/commands/page/list.d.ts +2 -4
  29. package/dist/commands/page/list.js +3 -10
  30. package/dist/commands/page/pull.d.ts +13 -1
  31. package/dist/commands/page/pull.js +21 -29
  32. package/dist/commands/page/push.d.ts +11 -1
  33. package/dist/commands/page/push.js +31 -49
  34. package/dist/commands/plugin/add.js +3 -3
  35. package/dist/commands/plugin/pull.d.ts +8 -1
  36. package/dist/commands/plugin/pull.js +11 -11
  37. package/dist/commands/plugin/push.d.ts +12 -1
  38. package/dist/commands/plugin/push.js +41 -27
  39. package/dist/commands/project/config.js +12 -9
  40. package/dist/commands/project/list.d.ts +16 -1
  41. package/dist/commands/project/list.js +22 -16
  42. package/dist/commands/project/pull.js +3 -2
  43. package/dist/commands/project/push.d.ts +5 -0
  44. package/dist/commands/project/push.js +84 -63
  45. package/dist/commands/project/switch.js +2 -2
  46. package/dist/commands/promote.d.ts +18 -0
  47. package/dist/commands/promote.js +90 -0
  48. package/dist/commands/pull.d.ts +12 -0
  49. package/dist/commands/pull.js +51 -0
  50. package/dist/commands/push.d.ts +13 -0
  51. package/dist/commands/push.js +57 -0
  52. package/dist/commands/seo/list.d.ts +9 -2
  53. package/dist/commands/seo/list.js +9 -11
  54. package/dist/commands/seo/pull.js +14 -37
  55. package/dist/commands/seo/push.js +24 -48
  56. package/dist/commands/snippet/list.d.ts +3 -4
  57. package/dist/commands/snippet/list.js +5 -11
  58. package/dist/commands/snippet/publish.js +5 -21
  59. package/dist/commands/snippet/pull.d.ts +13 -1
  60. package/dist/commands/snippet/pull.js +18 -20
  61. package/dist/commands/snippet/push.d.ts +11 -1
  62. package/dist/commands/snippet/push.js +29 -28
  63. package/dist/commands/status.d.ts +13 -1
  64. package/dist/commands/status.js +25 -18
  65. package/dist/commands/validate.d.ts +8 -0
  66. package/dist/commands/validate.js +24 -0
  67. package/dist/config/auth.manager.d.ts +2 -2
  68. package/dist/config/project-config.manager.d.ts +1 -1
  69. package/dist/config/project-config.manager.js +5 -6
  70. package/dist/lib/base.d.ts +11 -2
  71. package/dist/lib/base.js +54 -24
  72. package/dist/lib/bootstrap-full-install.d.ts +1 -1
  73. package/dist/lib/dev-watch.d.ts +16 -0
  74. package/dist/lib/dev-watch.js +71 -0
  75. package/dist/lib/find-orphaned-files.d.ts +3 -2
  76. package/dist/lib/find-orphaned-files.js +40 -4
  77. package/dist/lib/github-release.js +1 -1
  78. package/dist/lib/guard-production-push.d.ts +12 -0
  79. package/dist/lib/guard-production-push.js +20 -0
  80. package/dist/lib/interactive.js +1 -1
  81. package/dist/lib/load-files.d.ts +1 -0
  82. package/dist/lib/load-files.js +40 -11
  83. package/dist/lib/load-snippets.d.ts +1 -1
  84. package/dist/lib/load-snippets.js +66 -59
  85. package/dist/lib/local-callback-server.js +15 -8
  86. package/dist/lib/plugin-detection.d.ts +1 -1
  87. package/dist/lib/push-command.d.ts +3 -0
  88. package/dist/lib/push-command.js +22 -15
  89. package/dist/lib/put-or-create.d.ts +13 -0
  90. package/dist/lib/put-or-create.js +19 -0
  91. package/dist/lib/readdir-tolerant.d.ts +5 -0
  92. package/dist/lib/readdir-tolerant.js +11 -0
  93. package/dist/lib/resolve-linked-project.d.ts +8 -0
  94. package/dist/lib/resolve-linked-project.js +27 -0
  95. package/dist/lib/rotate-app-password.d.ts +1 -1
  96. package/dist/lib/rotate-app-password.js +1 -1
  97. package/dist/lib/temp-admin.d.ts +3 -3
  98. package/dist/lib/temp-admin.js +2 -2
  99. package/dist/lib/validate-local.d.ts +10 -0
  100. package/dist/lib/validate-local.js +183 -0
  101. package/dist/lib/wp-authorize-flow.js +5 -1
  102. package/dist/lib/wp-client.d.ts +2 -2
  103. package/dist/lib/wp-client.js +7 -0
  104. package/dist/types/plugin.d.ts +4 -4
  105. package/dist/types/snippet.d.ts +3 -3
  106. package/dist/utils/composer.d.ts +2 -2
  107. package/dist/utils/form-format.js +1 -1
  108. package/dist/utils/loopress-config.d.ts +1 -1
  109. package/dist/utils/page-format.js +2 -2
  110. package/dist/utils/plugins.d.ts +5 -5
  111. package/dist/utils/plugins.js +3 -3
  112. package/dist/utils/pluralize.d.ts +1 -0
  113. package/dist/utils/pluralize.js +5 -0
  114. package/dist/utils/seo-format.d.ts +6 -6
  115. package/dist/utils/snippet-format.d.ts +2 -2
  116. package/dist/utils/snippet-format.js +10 -5
  117. package/oclif.manifest.json +394 -57
  118. package/package.json +18 -16
package/README.md CHANGED
@@ -21,7 +21,7 @@ $ npm install -g @loopress/cli
21
21
  $ lps COMMAND
22
22
  running command...
23
23
  $ lps (--version)
24
- @loopress/cli/0.20.1 linux-x64 node-v24.18.0
24
+ @loopress/cli/0.22.0 linux-x64 node-v24.19.0
25
25
  $ lps --help [COMMAND]
26
26
  USAGE
27
27
  $ lps COMMAND
@@ -57,6 +57,7 @@ report.
57
57
  * [`lps composer init`](#lps-composer-init)
58
58
  * [`lps composer pull`](#lps-composer-pull)
59
59
  * [`lps composer push`](#lps-composer-push)
60
+ * [`lps dev`](#lps-dev)
60
61
  * [`lps doctor`](#lps-doctor)
61
62
  * [`lps form list`](#lps-form-list)
62
63
  * [`lps form pull [PATH]`](#lps-form-pull-path)
@@ -78,6 +79,9 @@ report.
78
79
  * [`lps project remove`](#lps-project-remove)
79
80
  * [`lps project rotate`](#lps-project-rotate)
80
81
  * [`lps project switch`](#lps-project-switch)
82
+ * [`lps promote FROM TO`](#lps-promote-from-to)
83
+ * [`lps pull`](#lps-pull)
84
+ * [`lps push`](#lps-push)
81
85
  * [`lps seo list`](#lps-seo-list)
82
86
  * [`lps seo pull [PATH]`](#lps-seo-pull-path)
83
87
  * [`lps seo push [PATH]`](#lps-seo-push-path)
@@ -88,6 +92,7 @@ report.
88
92
  * [`lps status`](#lps-status)
89
93
  * [`lps telemetry disable`](#lps-telemetry-disable)
90
94
  * [`lps telemetry enable`](#lps-telemetry-enable)
95
+ * [`lps validate`](#lps-validate)
91
96
 
92
97
  ## `lps acf list`
93
98
 
@@ -95,13 +100,15 @@ List ACF field groups, post types, taxonomies, and options pages from WordPress
95
100
 
96
101
  ```
97
102
  USAGE
98
- $ lps acf list [--env <value>] [-j] [--type field-groups|post-types|taxonomies|options-pages...]
103
+ $ lps acf list [--json] [--env <value>] [--type field-groups|post-types|taxonomies|options-pages...]
99
104
 
100
105
  FLAGS
101
- -j, --json Output in JSON format
102
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
103
- --type=<option>... Limit to specific ACF object types
104
- <options: field-groups|post-types|taxonomies|options-pages>
106
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
107
+ --type=<option>... Limit to specific ACF object types
108
+ <options: field-groups|post-types|taxonomies|options-pages>
109
+
110
+ GLOBAL FLAGS
111
+ --json Format output as json.
105
112
 
106
113
  DESCRIPTION
107
114
  List ACF field groups, post types, taxonomies, and options pages from WordPress
@@ -112,7 +119,7 @@ EXAMPLES
112
119
  $ lps acf list --type field-groups
113
120
  ```
114
121
 
115
- _See code: [src/commands/acf/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/acf/list.ts)_
122
+ _See code: [src/commands/acf/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/acf/list.ts)_
116
123
 
117
124
  ## `lps acf pull [PATH]`
118
125
 
@@ -141,7 +148,7 @@ EXAMPLES
141
148
  $ lps acf pull --type field-groups
142
149
  ```
143
150
 
144
- _See code: [src/commands/acf/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/acf/pull.ts)_
151
+ _See code: [src/commands/acf/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/acf/pull.ts)_
145
152
 
146
153
  ## `lps acf push [PATH]`
147
154
 
@@ -170,7 +177,7 @@ EXAMPLES
170
177
  $ lps acf push --type field-groups
171
178
  ```
172
179
 
173
- _See code: [src/commands/acf/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/acf/push.ts)_
180
+ _See code: [src/commands/acf/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/acf/push.ts)_
174
181
 
175
182
  ## `lps api list`
176
183
 
@@ -178,11 +185,13 @@ List custom API route files from WordPress
178
185
 
179
186
  ```
180
187
  USAGE
181
- $ lps api list [--env <value>] [-j]
188
+ $ lps api list [--json] [--env <value>]
182
189
 
183
190
  FLAGS
184
- -j, --json Output in JSON format
185
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
191
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
192
+
193
+ GLOBAL FLAGS
194
+ --json Format output as json.
186
195
 
187
196
  DESCRIPTION
188
197
  List custom API route files from WordPress
@@ -191,7 +200,7 @@ EXAMPLES
191
200
  $ lps api list
192
201
  ```
193
202
 
194
- _See code: [src/commands/api/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/api/list.ts)_
203
+ _See code: [src/commands/api/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/api/list.ts)_
195
204
 
196
205
  ## `lps api publish [PATH]`
197
206
 
@@ -214,7 +223,7 @@ EXAMPLES
214
223
  $ lps api publish --path ./api
215
224
  ```
216
225
 
217
- _See code: [src/commands/api/publish.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/api/publish.ts)_
226
+ _See code: [src/commands/api/publish.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/api/publish.ts)_
218
227
 
219
228
  ## `lps api pull [PATH]`
220
229
 
@@ -222,7 +231,7 @@ Pull custom API route files from WordPress
222
231
 
223
232
  ```
224
233
  USAGE
225
- $ lps api pull [PATH] [--env <value>] [-d] [-y]
234
+ $ lps api pull [PATH] [--json] [--env <value>] [-d] [-y]
226
235
 
227
236
  ARGUMENTS
228
237
  [PATH] Path to api directory (overrides project config)
@@ -232,6 +241,9 @@ FLAGS
232
241
  -y, --yes Answer yes to confirmation prompts
233
242
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
234
243
 
244
+ GLOBAL FLAGS
245
+ --json Format output as json.
246
+
235
247
  DESCRIPTION
236
248
  Pull custom API route files from WordPress
237
249
 
@@ -241,7 +253,7 @@ EXAMPLES
241
253
  $ lps api pull --path ./api
242
254
  ```
243
255
 
244
- _See code: [src/commands/api/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/api/pull.ts)_
256
+ _See code: [src/commands/api/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/api/pull.ts)_
245
257
 
246
258
  ## `lps api push [PATH]`
247
259
 
@@ -249,7 +261,7 @@ Push custom API route files to WordPress
249
261
 
250
262
  ```
251
263
  USAGE
252
- $ lps api push [PATH] [--env <value>] [-d] [-y]
264
+ $ lps api push [PATH] [--json] [--env <value>] [-d] [-y]
253
265
 
254
266
  ARGUMENTS
255
267
  [PATH] Path to api directory (overrides project config)
@@ -259,6 +271,9 @@ FLAGS
259
271
  -y, --yes Answer yes to confirmation prompts
260
272
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
261
273
 
274
+ GLOBAL FLAGS
275
+ --json Format output as json.
276
+
262
277
  DESCRIPTION
263
278
  Push custom API route files to WordPress
264
279
 
@@ -268,7 +283,7 @@ EXAMPLES
268
283
  $ lps api push --path ./api
269
284
  ```
270
285
 
271
- _See code: [src/commands/api/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/api/push.ts)_
286
+ _See code: [src/commands/api/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/api/push.ts)_
272
287
 
273
288
  ## `lps composer init`
274
289
 
@@ -291,7 +306,7 @@ EXAMPLES
291
306
  $ lps composer init --dry-run
292
307
  ```
293
308
 
294
- _See code: [src/commands/composer/init.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/composer/init.ts)_
309
+ _See code: [src/commands/composer/init.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/composer/init.ts)_
295
310
 
296
311
  ## `lps composer pull`
297
312
 
@@ -299,12 +314,15 @@ Pull composer.json and composer.lock from WordPress
299
314
 
300
315
  ```
301
316
  USAGE
302
- $ lps composer pull [--env <value>] [-d]
317
+ $ lps composer pull [--json] [--env <value>] [-d]
303
318
 
304
319
  FLAGS
305
320
  -d, --dry-run Show what would change without making changes
306
321
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
307
322
 
323
+ GLOBAL FLAGS
324
+ --json Format output as json.
325
+
308
326
  DESCRIPTION
309
327
  Pull composer.json and composer.lock from WordPress
310
328
 
@@ -314,7 +332,7 @@ EXAMPLES
314
332
  $ lps composer pull --dry-run
315
333
  ```
316
334
 
317
- _See code: [src/commands/composer/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/composer/pull.ts)_
335
+ _See code: [src/commands/composer/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/composer/pull.ts)_
318
336
 
319
337
  ## `lps composer push`
320
338
 
@@ -322,13 +340,16 @@ Push composer.json and composer.lock to WordPress and run composer install
322
340
 
323
341
  ```
324
342
  USAGE
325
- $ lps composer push [--env <value>] [-d] [-y]
343
+ $ lps composer push [--json] [--env <value>] [-d] [-y]
326
344
 
327
345
  FLAGS
328
346
  -d, --dry-run Show what would change without making changes
329
347
  -y, --yes Answer yes to confirmation prompts
330
348
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
331
349
 
350
+ GLOBAL FLAGS
351
+ --json Format output as json.
352
+
332
353
  DESCRIPTION
333
354
  Push composer.json and composer.lock to WordPress and run composer install
334
355
 
@@ -338,7 +359,33 @@ EXAMPLES
338
359
  $ lps composer push --dry-run
339
360
  ```
340
361
 
341
- _See code: [src/commands/composer/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/composer/push.ts)_
362
+ _See code: [src/commands/composer/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/composer/push.ts)_
363
+
364
+ ## `lps dev`
365
+
366
+ Watch project files and push changes to the local WordPress instance as they happen. Always targets the "local" environment, run `lps snippet push` etc. directly for any other environment.
367
+
368
+ ```
369
+ USAGE
370
+ $ lps dev [--only <value>] [--skip <value>]
371
+
372
+ FLAGS
373
+ --only=<value> Only watch these resource types (comma-separated): snippets, pages, api, plugins
374
+ --skip=<value> Skip these resource types (comma-separated): snippets, pages, api, plugins
375
+
376
+ DESCRIPTION
377
+ Watch project files and push changes to the local WordPress instance as they happen. Always targets the "local"
378
+ environment, run `lps snippet push` etc. directly for any other environment.
379
+
380
+ EXAMPLES
381
+ $ lps dev
382
+
383
+ $ lps dev --only=snippets,pages
384
+
385
+ $ lps dev --skip=plugins
386
+ ```
387
+
388
+ _See code: [src/commands/dev.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/dev.ts)_
342
389
 
343
390
  ## `lps doctor`
344
391
 
@@ -360,7 +407,7 @@ EXAMPLES
360
407
  $ lps doctor --env production
361
408
  ```
362
409
 
363
- _See code: [src/commands/doctor.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/doctor.ts)_
410
+ _See code: [src/commands/doctor.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/doctor.ts)_
364
411
 
365
412
  ## `lps form list`
366
413
 
@@ -368,11 +415,13 @@ List forms from WordPress
368
415
 
369
416
  ```
370
417
  USAGE
371
- $ lps form list [--env <value>] [-j]
418
+ $ lps form list [--json] [--env <value>]
372
419
 
373
420
  FLAGS
374
- -j, --json Output in JSON format
375
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
421
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
422
+
423
+ GLOBAL FLAGS
424
+ --json Format output as json.
376
425
 
377
426
  DESCRIPTION
378
427
  List forms from WordPress
@@ -381,7 +430,7 @@ EXAMPLES
381
430
  $ lps form list
382
431
  ```
383
432
 
384
- _See code: [src/commands/form/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/form/list.ts)_
433
+ _See code: [src/commands/form/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/form/list.ts)_
385
434
 
386
435
  ## `lps form pull [PATH]`
387
436
 
@@ -406,7 +455,7 @@ EXAMPLES
406
455
  $ lps form pull
407
456
  ```
408
457
 
409
- _See code: [src/commands/form/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/form/pull.ts)_
458
+ _See code: [src/commands/form/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/form/pull.ts)_
410
459
 
411
460
  ## `lps form push [PATH]`
412
461
 
@@ -432,7 +481,7 @@ EXAMPLES
432
481
  $ lps form push
433
482
  ```
434
483
 
435
- _See code: [src/commands/form/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/form/push.ts)_
484
+ _See code: [src/commands/form/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/form/push.ts)_
436
485
 
437
486
  ## `lps help [COMMAND]`
438
487
 
@@ -452,7 +501,7 @@ DESCRIPTION
452
501
  Display help for lps.
453
502
  ```
454
503
 
455
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/6.2.55/src/commands/help.ts)_
504
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/6.3.0/src/commands/help.ts)_
456
505
 
457
506
  ## `lps init`
458
507
 
@@ -469,7 +518,7 @@ EXAMPLES
469
518
  $ lps init
470
519
  ```
471
520
 
472
- _See code: [src/commands/init.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/init.ts)_
521
+ _See code: [src/commands/init.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/init.ts)_
473
522
 
474
523
  ## `lps login`
475
524
 
@@ -486,7 +535,7 @@ EXAMPLES
486
535
  $ lps login
487
536
  ```
488
537
 
489
- _See code: [src/commands/login.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/login.ts)_
538
+ _See code: [src/commands/login.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/login.ts)_
490
539
 
491
540
  ## `lps logout`
492
541
 
@@ -503,7 +552,7 @@ EXAMPLES
503
552
  $ lps logout
504
553
  ```
505
554
 
506
- _See code: [src/commands/logout.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/logout.ts)_
555
+ _See code: [src/commands/logout.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/logout.ts)_
507
556
 
508
557
  ## `lps page list`
509
558
 
@@ -511,11 +560,13 @@ List pages from WordPress
511
560
 
512
561
  ```
513
562
  USAGE
514
- $ lps page list [--env <value>] [-j]
563
+ $ lps page list [--json] [--env <value>]
515
564
 
516
565
  FLAGS
517
- -j, --json Output in JSON format
518
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
566
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
567
+
568
+ GLOBAL FLAGS
569
+ --json Format output as json.
519
570
 
520
571
  DESCRIPTION
521
572
  List pages from WordPress
@@ -524,7 +575,7 @@ EXAMPLES
524
575
  $ lps page list
525
576
  ```
526
577
 
527
- _See code: [src/commands/page/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/page/list.ts)_
578
+ _See code: [src/commands/page/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/page/list.ts)_
528
579
 
529
580
  ## `lps page pull [PATH]`
530
581
 
@@ -532,7 +583,7 @@ Pull pages from WordPress
532
583
 
533
584
  ```
534
585
  USAGE
535
- $ lps page pull [PATH] [--env <value>] [-d] [-y]
586
+ $ lps page pull [PATH] [--json] [--env <value>] [-d] [-y]
536
587
 
537
588
  ARGUMENTS
538
589
  [PATH] Path to pages directory (overrides project config)
@@ -542,6 +593,9 @@ FLAGS
542
593
  -y, --yes Answer yes to confirmation prompts
543
594
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
544
595
 
596
+ GLOBAL FLAGS
597
+ --json Format output as json.
598
+
545
599
  DESCRIPTION
546
600
  Pull pages from WordPress
547
601
 
@@ -549,7 +603,7 @@ EXAMPLES
549
603
  $ lps page pull
550
604
  ```
551
605
 
552
- _See code: [src/commands/page/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/page/pull.ts)_
606
+ _See code: [src/commands/page/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/page/pull.ts)_
553
607
 
554
608
  ## `lps page push [PATH]`
555
609
 
@@ -557,7 +611,7 @@ Push pages to WordPress. Local files created or updated remotely are renamed on
557
611
 
558
612
  ```
559
613
  USAGE
560
- $ lps page push [PATH] [--env <value>] [-d] [-y]
614
+ $ lps page push [PATH] [--json] [--env <value>] [-d] [-y]
561
615
 
562
616
  ARGUMENTS
563
617
  [PATH] Path to pages directory (overrides project config)
@@ -567,6 +621,9 @@ FLAGS
567
621
  -y, --yes Answer yes to confirmation prompts
568
622
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
569
623
 
624
+ GLOBAL FLAGS
625
+ --json Format output as json.
626
+
570
627
  DESCRIPTION
571
628
  Push pages to WordPress. Local files created or updated remotely are renamed on disk to the `<id>-<slug>` convention.
572
629
 
@@ -574,7 +631,7 @@ EXAMPLES
574
631
  $ lps page push
575
632
  ```
576
633
 
577
- _See code: [src/commands/page/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/page/push.ts)_
634
+ _See code: [src/commands/page/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/page/push.ts)_
578
635
 
579
636
  ## `lps plugin add SLUG`
580
637
 
@@ -600,7 +657,7 @@ EXAMPLES
600
657
  $ lps plugin add contact-form-7 --dry-run
601
658
  ```
602
659
 
603
- _See code: [src/commands/plugin/add.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/plugin/add.ts)_
660
+ _See code: [src/commands/plugin/add.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/plugin/add.ts)_
604
661
 
605
662
  ## `lps plugin pull`
606
663
 
@@ -608,12 +665,15 @@ Pull installed plugins from WordPress into loopress.json
608
665
 
609
666
  ```
610
667
  USAGE
611
- $ lps plugin pull [--env <value>] [-d]
668
+ $ lps plugin pull [--json] [--env <value>] [-d]
612
669
 
613
670
  FLAGS
614
671
  -d, --dry-run Show what would change without making changes
615
672
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
616
673
 
674
+ GLOBAL FLAGS
675
+ --json Format output as json.
676
+
617
677
  DESCRIPTION
618
678
  Pull installed plugins from WordPress into loopress.json
619
679
 
@@ -623,7 +683,7 @@ EXAMPLES
623
683
  $ lps plugin pull --dry-run
624
684
  ```
625
685
 
626
- _See code: [src/commands/plugin/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/plugin/pull.ts)_
686
+ _See code: [src/commands/plugin/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/plugin/pull.ts)_
627
687
 
628
688
  ## `lps plugin push`
629
689
 
@@ -631,13 +691,16 @@ Push plugins to WordPress to match loopress.json
631
691
 
632
692
  ```
633
693
  USAGE
634
- $ lps plugin push [--env <value>] [-d] [-y]
694
+ $ lps plugin push [--json] [--env <value>] [-d] [-y]
635
695
 
636
696
  FLAGS
637
697
  -d, --dry-run Show what would change without making changes
638
698
  -y, --yes Answer yes to confirmation prompts
639
699
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
640
700
 
701
+ GLOBAL FLAGS
702
+ --json Format output as json.
703
+
641
704
  DESCRIPTION
642
705
  Push plugins to WordPress to match loopress.json
643
706
 
@@ -647,7 +710,7 @@ EXAMPLES
647
710
  $ lps plugin push --dry-run
648
711
  ```
649
712
 
650
- _See code: [src/commands/plugin/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/plugin/push.ts)_
713
+ _See code: [src/commands/plugin/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/plugin/push.ts)_
651
714
 
652
715
  ## `lps project config`
653
716
 
@@ -665,7 +728,7 @@ EXAMPLES
665
728
  $ lps project config
666
729
  ```
667
730
 
668
- _See code: [src/commands/project/config.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/config.ts)_
731
+ _See code: [src/commands/project/config.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/config.ts)_
669
732
 
670
733
  ## `lps project list`
671
734
 
@@ -673,7 +736,10 @@ List configured WordPress projects
673
736
 
674
737
  ```
675
738
  USAGE
676
- $ lps project list
739
+ $ lps project list [--json]
740
+
741
+ GLOBAL FLAGS
742
+ --json Format output as json.
677
743
 
678
744
  DESCRIPTION
679
745
  List configured WordPress projects
@@ -682,7 +748,7 @@ EXAMPLES
682
748
  $ lps project list
683
749
  ```
684
750
 
685
- _See code: [src/commands/project/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/list.ts)_
751
+ _See code: [src/commands/project/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/list.ts)_
686
752
 
687
753
  ## `lps project pull`
688
754
 
@@ -699,7 +765,7 @@ EXAMPLES
699
765
  $ lps project pull
700
766
  ```
701
767
 
702
- _See code: [src/commands/project/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/pull.ts)_
768
+ _See code: [src/commands/project/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/pull.ts)_
703
769
 
704
770
  ## `lps project push`
705
771
 
@@ -719,7 +785,7 @@ EXAMPLES
719
785
  $ lps project push
720
786
  ```
721
787
 
722
- _See code: [src/commands/project/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/push.ts)_
788
+ _See code: [src/commands/project/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/push.ts)_
723
789
 
724
790
  ## `lps project remove`
725
791
 
@@ -736,7 +802,7 @@ EXAMPLES
736
802
  $ lps project remove
737
803
  ```
738
804
 
739
- _See code: [src/commands/project/remove.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/remove.ts)_
805
+ _See code: [src/commands/project/remove.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/remove.ts)_
740
806
 
741
807
  ## `lps project rotate`
742
808
 
@@ -758,7 +824,7 @@ EXAMPLES
758
824
  $ lps project rotate --env staging
759
825
  ```
760
826
 
761
- _See code: [src/commands/project/rotate.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/rotate.ts)_
827
+ _See code: [src/commands/project/rotate.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/rotate.ts)_
762
828
 
763
829
  ## `lps project switch`
764
830
 
@@ -775,7 +841,87 @@ EXAMPLES
775
841
  $ lps project switch
776
842
  ```
777
843
 
778
- _See code: [src/commands/project/switch.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/project/switch.ts)_
844
+ _See code: [src/commands/project/switch.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/project/switch.ts)_
845
+
846
+ ## `lps promote FROM TO`
847
+
848
+ Copy every tracked resource from one environment to another by pulling from <from> then pushing to <to>. Local tracked files are overwritten with <from> in the process.
849
+
850
+ ```
851
+ USAGE
852
+ $ lps promote FROM TO [-d] [-y]
853
+
854
+ ARGUMENTS
855
+ FROM Environment to copy the configuration from
856
+ TO Environment to copy the configuration to
857
+
858
+ FLAGS
859
+ -d, --dry-run Show what would change without making changes
860
+ -y, --yes Answer yes to confirmation prompts
861
+
862
+ DESCRIPTION
863
+ Copy every tracked resource from one environment to another by pulling from <from> then pushing to <to>. Local tracked
864
+ files are overwritten with <from> in the process.
865
+
866
+ EXAMPLES
867
+ $ lps promote staging production
868
+
869
+ $ lps promote production staging --dry-run
870
+ ```
871
+
872
+ _See code: [src/commands/promote.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/promote.ts)_
873
+
874
+ ## `lps pull`
875
+
876
+ Pull all content, plugins, composer dependencies, ACF, API routes, forms, pages, SEO, and snippets, from WordPress
877
+
878
+ ```
879
+ USAGE
880
+ $ lps pull [--env <value>] [-d] [-y]
881
+
882
+ FLAGS
883
+ -d, --dry-run Show what would change without making changes
884
+ -y, --yes Answer yes to confirmation prompts
885
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
886
+
887
+ DESCRIPTION
888
+ Pull all content, plugins, composer dependencies, ACF, API routes, forms, pages, SEO, and snippets, from WordPress
889
+
890
+ EXAMPLES
891
+ $ lps pull
892
+
893
+ $ lps pull --env staging
894
+
895
+ $ lps pull --dry-run
896
+ ```
897
+
898
+ _See code: [src/commands/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/pull.ts)_
899
+
900
+ ## `lps push`
901
+
902
+ Push all local content, plugins, composer dependencies, ACF, API routes, forms, pages, SEO, and snippets, to WordPress
903
+
904
+ ```
905
+ USAGE
906
+ $ lps push [--env <value>] [-d] [-y]
907
+
908
+ FLAGS
909
+ -d, --dry-run Show what would change without making changes
910
+ -y, --yes Answer yes to confirmation prompts
911
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
912
+
913
+ DESCRIPTION
914
+ Push all local content, plugins, composer dependencies, ACF, API routes, forms, pages, SEO, and snippets, to WordPress
915
+
916
+ EXAMPLES
917
+ $ lps push
918
+
919
+ $ lps push --env staging
920
+
921
+ $ lps push --dry-run
922
+ ```
923
+
924
+ _See code: [src/commands/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/push.ts)_
779
925
 
780
926
  ## `lps seo list`
781
927
 
@@ -783,12 +929,14 @@ List posts with SEO meta, and redirects if supported by the active SEO plugin, o
783
929
 
784
930
  ```
785
931
  USAGE
786
- $ lps seo list [--env <value>] [-j] [--post-type <value>...]
932
+ $ lps seo list [--json] [--env <value>] [--post-type <value>...]
787
933
 
788
934
  FLAGS
789
- -j, --json Output in JSON format
790
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
791
- --post-type=<value>... Limit to specific post types
935
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
936
+ --post-type=<value>... Limit to specific post types
937
+
938
+ GLOBAL FLAGS
939
+ --json Format output as json.
792
940
 
793
941
  DESCRIPTION
794
942
  List posts with SEO meta, and redirects if supported by the active SEO plugin, on WordPress
@@ -799,7 +947,7 @@ EXAMPLES
799
947
  $ lps seo list --post-type post
800
948
  ```
801
949
 
802
- _See code: [src/commands/seo/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/seo/list.ts)_
950
+ _See code: [src/commands/seo/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/seo/list.ts)_
803
951
 
804
952
  ## `lps seo pull [PATH]`
805
953
 
@@ -827,7 +975,7 @@ EXAMPLES
827
975
  $ lps seo pull --post-type post --post-type page
828
976
  ```
829
977
 
830
- _See code: [src/commands/seo/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/seo/pull.ts)_
978
+ _See code: [src/commands/seo/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/seo/pull.ts)_
831
979
 
832
980
  ## `lps seo push [PATH]`
833
981
 
@@ -853,7 +1001,7 @@ EXAMPLES
853
1001
  $ lps seo push
854
1002
  ```
855
1003
 
856
- _See code: [src/commands/seo/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/seo/push.ts)_
1004
+ _See code: [src/commands/seo/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/seo/push.ts)_
857
1005
 
858
1006
  ## `lps snippet list`
859
1007
 
@@ -861,11 +1009,13 @@ List snippets from WordPress
861
1009
 
862
1010
  ```
863
1011
  USAGE
864
- $ lps snippet list [--env <value>] [-j]
1012
+ $ lps snippet list [--json] [--env <value>]
865
1013
 
866
1014
  FLAGS
867
- -j, --json Output in JSON format
868
- --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1015
+ --env=<value> Target environment by name, overriding the globally active one (lps project switch)
1016
+
1017
+ GLOBAL FLAGS
1018
+ --json Format output as json.
869
1019
 
870
1020
  DESCRIPTION
871
1021
  List snippets from WordPress
@@ -874,7 +1024,7 @@ EXAMPLES
874
1024
  $ lps snippet list
875
1025
  ```
876
1026
 
877
- _See code: [src/commands/snippet/list.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/snippet/list.ts)_
1027
+ _See code: [src/commands/snippet/list.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/snippet/list.ts)_
878
1028
 
879
1029
  ## `lps snippet publish [PATH]`
880
1030
 
@@ -897,7 +1047,7 @@ EXAMPLES
897
1047
  $ lps snippet publish --path ./snippets
898
1048
  ```
899
1049
 
900
- _See code: [src/commands/snippet/publish.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/snippet/publish.ts)_
1050
+ _See code: [src/commands/snippet/publish.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/snippet/publish.ts)_
901
1051
 
902
1052
  ## `lps snippet pull [PATH]`
903
1053
 
@@ -905,7 +1055,7 @@ Pull snippets from WordPress
905
1055
 
906
1056
  ```
907
1057
  USAGE
908
- $ lps snippet pull [PATH] [--env <value>] [-d] [-y]
1058
+ $ lps snippet pull [PATH] [--json] [--env <value>] [-d] [-y]
909
1059
 
910
1060
  ARGUMENTS
911
1061
  [PATH] Path to snippets directory (overrides project config)
@@ -915,6 +1065,9 @@ FLAGS
915
1065
  -y, --yes Answer yes to confirmation prompts
916
1066
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
917
1067
 
1068
+ GLOBAL FLAGS
1069
+ --json Format output as json.
1070
+
918
1071
  DESCRIPTION
919
1072
  Pull snippets from WordPress
920
1073
 
@@ -924,7 +1077,7 @@ EXAMPLES
924
1077
  $ lps snippet pull --path ./snippets
925
1078
  ```
926
1079
 
927
- _See code: [src/commands/snippet/pull.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/snippet/pull.ts)_
1080
+ _See code: [src/commands/snippet/pull.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/snippet/pull.ts)_
928
1081
 
929
1082
  ## `lps snippet push [PATH]`
930
1083
 
@@ -932,7 +1085,7 @@ Push snippets to WordPress. Local snippet files created or updated remotely are
932
1085
 
933
1086
  ```
934
1087
  USAGE
935
- $ lps snippet push [PATH] [--env <value>] [-d] [-y]
1088
+ $ lps snippet push [PATH] [--json] [--env <value>] [-d] [-y]
936
1089
 
937
1090
  ARGUMENTS
938
1091
  [PATH] Path to snippets directory (overrides project config)
@@ -942,6 +1095,9 @@ FLAGS
942
1095
  -y, --yes Answer yes to confirmation prompts
943
1096
  --env=<value> Target environment by name, overriding the globally active one (lps project switch)
944
1097
 
1098
+ GLOBAL FLAGS
1099
+ --json Format output as json.
1100
+
945
1101
  DESCRIPTION
946
1102
  Push snippets to WordPress. Local snippet files created or updated remotely are renamed on disk to the `<id>-<slug>`
947
1103
  convention.
@@ -952,7 +1108,7 @@ EXAMPLES
952
1108
  $ lps snippet push --path ./snippets
953
1109
  ```
954
1110
 
955
- _See code: [src/commands/snippet/push.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/snippet/push.ts)_
1111
+ _See code: [src/commands/snippet/push.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/snippet/push.ts)_
956
1112
 
957
1113
  ## `lps status`
958
1114
 
@@ -960,11 +1116,14 @@ Show which WordPress project and environment commands will target
960
1116
 
961
1117
  ```
962
1118
  USAGE
963
- $ lps status [--env <value>]
1119
+ $ lps status [--json] [--env <value>]
964
1120
 
965
1121
  FLAGS
966
1122
  --env=<value> Show what would be targeted with this environment, as other commands do with --env
967
1123
 
1124
+ GLOBAL FLAGS
1125
+ --json Format output as json.
1126
+
968
1127
  DESCRIPTION
969
1128
  Show which WordPress project and environment commands will target
970
1129
 
@@ -974,7 +1133,7 @@ EXAMPLES
974
1133
  $ lps status --env staging
975
1134
  ```
976
1135
 
977
- _See code: [src/commands/status.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/status.ts)_
1136
+ _See code: [src/commands/status.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/status.ts)_
978
1137
 
979
1138
  ## `lps telemetry disable`
980
1139
 
@@ -991,7 +1150,7 @@ EXAMPLES
991
1150
  $ lps telemetry disable
992
1151
  ```
993
1152
 
994
- _See code: [src/commands/telemetry/disable.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/telemetry/disable.ts)_
1153
+ _See code: [src/commands/telemetry/disable.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/telemetry/disable.ts)_
995
1154
 
996
1155
  ## `lps telemetry enable`
997
1156
 
@@ -1008,5 +1167,25 @@ EXAMPLES
1008
1167
  $ lps telemetry enable
1009
1168
  ```
1010
1169
 
1011
- _See code: [src/commands/telemetry/enable.ts](https://github.com/loopress/loopress/blob/v0.20.1/src/commands/telemetry/enable.ts)_
1170
+ _See code: [src/commands/telemetry/enable.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/telemetry/enable.ts)_
1171
+
1172
+ ## `lps validate`
1173
+
1174
+ Check local tracked files are well formed and push-ready, without contacting WordPress
1175
+
1176
+ ```
1177
+ USAGE
1178
+ $ lps validate [--json]
1179
+
1180
+ GLOBAL FLAGS
1181
+ --json Format output as json.
1182
+
1183
+ DESCRIPTION
1184
+ Check local tracked files are well formed and push-ready, without contacting WordPress
1185
+
1186
+ EXAMPLES
1187
+ $ lps validate
1188
+ ```
1189
+
1190
+ _See code: [src/commands/validate.ts](https://github.com/loopress/loopress/blob/v0.22.0/src/commands/validate.ts)_
1012
1191
  <!-- commandsstop -->