@loopress/cli 0.32.0 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1729,82 +1729,6 @@
1729
1729
  "push.js"
1730
1730
  ]
1731
1731
  },
1732
- "content:copy": {
1733
- "aliases": [],
1734
- "args": {
1735
- "from": {
1736
- "description": "Environment to copy the content from",
1737
- "name": "from",
1738
- "required": true
1739
- }
1740
- },
1741
- "description": "Replace the local site's content (posts, pages, public custom post types, terms) with the content of <from>, then push the project to the local site so tracked configuration wins. Media stay served by <from>, users, comments and orders are never copied.",
1742
- "examples": [
1743
- "$ lps content copy production",
1744
- "$ lps content copy staging --dry-run"
1745
- ],
1746
- "flags": {
1747
- "json": {
1748
- "description": "Format output as json.",
1749
- "helpGroup": "GLOBAL",
1750
- "name": "json",
1751
- "allowNo": false,
1752
- "type": "boolean"
1753
- },
1754
- "env": {
1755
- "hidden": true,
1756
- "name": "env",
1757
- "hasDynamicHelp": false,
1758
- "multiple": false,
1759
- "type": "option"
1760
- },
1761
- "dry-run": {
1762
- "char": "d",
1763
- "description": "Show what would change without making changes",
1764
- "name": "dry-run",
1765
- "allowNo": false,
1766
- "type": "boolean"
1767
- },
1768
- "yes": {
1769
- "char": "y",
1770
- "description": "Answer yes to confirmation prompts",
1771
- "name": "yes",
1772
- "allowNo": false,
1773
- "type": "boolean"
1774
- }
1775
- },
1776
- "hasDynamicHelp": false,
1777
- "hiddenAliases": [],
1778
- "id": "content:copy",
1779
- "pluginAlias": "@loopress/cli",
1780
- "pluginName": "@loopress/cli",
1781
- "pluginType": "core",
1782
- "strict": true,
1783
- "enableJsonFlag": true,
1784
- "dryRunFlag": {
1785
- "dry-run": {
1786
- "char": "d",
1787
- "description": "Show what would change without making changes",
1788
- "allowNo": false,
1789
- "type": "boolean"
1790
- }
1791
- },
1792
- "yesFlag": {
1793
- "yes": {
1794
- "char": "y",
1795
- "description": "Answer yes to confirmation prompts",
1796
- "allowNo": false,
1797
- "type": "boolean"
1798
- }
1799
- },
1800
- "isESM": true,
1801
- "relativePath": [
1802
- "dist",
1803
- "commands",
1804
- "content",
1805
- "copy.js"
1806
- ]
1807
- },
1808
1732
  "app:list": {
1809
1733
  "aliases": [],
1810
1734
  "args": {},
@@ -2103,6 +2027,82 @@
2103
2027
  "remove.js"
2104
2028
  ]
2105
2029
  },
2030
+ "content:copy": {
2031
+ "aliases": [],
2032
+ "args": {
2033
+ "from": {
2034
+ "description": "Environment to copy the content from",
2035
+ "name": "from",
2036
+ "required": true
2037
+ }
2038
+ },
2039
+ "description": "Replace the local site's content (posts, pages, public custom post types, terms) with the content of <from>, then push the project to the local site so tracked configuration wins. Media stay served by <from>, users, comments and orders are never copied.",
2040
+ "examples": [
2041
+ "$ lps content copy production",
2042
+ "$ lps content copy staging --dry-run"
2043
+ ],
2044
+ "flags": {
2045
+ "json": {
2046
+ "description": "Format output as json.",
2047
+ "helpGroup": "GLOBAL",
2048
+ "name": "json",
2049
+ "allowNo": false,
2050
+ "type": "boolean"
2051
+ },
2052
+ "env": {
2053
+ "hidden": true,
2054
+ "name": "env",
2055
+ "hasDynamicHelp": false,
2056
+ "multiple": false,
2057
+ "type": "option"
2058
+ },
2059
+ "dry-run": {
2060
+ "char": "d",
2061
+ "description": "Show what would change without making changes",
2062
+ "name": "dry-run",
2063
+ "allowNo": false,
2064
+ "type": "boolean"
2065
+ },
2066
+ "yes": {
2067
+ "char": "y",
2068
+ "description": "Answer yes to confirmation prompts",
2069
+ "name": "yes",
2070
+ "allowNo": false,
2071
+ "type": "boolean"
2072
+ }
2073
+ },
2074
+ "hasDynamicHelp": false,
2075
+ "hiddenAliases": [],
2076
+ "id": "content:copy",
2077
+ "pluginAlias": "@loopress/cli",
2078
+ "pluginName": "@loopress/cli",
2079
+ "pluginType": "core",
2080
+ "strict": true,
2081
+ "enableJsonFlag": true,
2082
+ "dryRunFlag": {
2083
+ "dry-run": {
2084
+ "char": "d",
2085
+ "description": "Show what would change without making changes",
2086
+ "allowNo": false,
2087
+ "type": "boolean"
2088
+ }
2089
+ },
2090
+ "yesFlag": {
2091
+ "yes": {
2092
+ "char": "y",
2093
+ "description": "Answer yes to confirmation prompts",
2094
+ "allowNo": false,
2095
+ "type": "boolean"
2096
+ }
2097
+ },
2098
+ "isESM": true,
2099
+ "relativePath": [
2100
+ "dist",
2101
+ "commands",
2102
+ "content",
2103
+ "copy.js"
2104
+ ]
2105
+ },
2106
2106
  "cpt:diff": {
2107
2107
  "aliases": [],
2108
2108
  "args": {
@@ -5038,19 +5038,20 @@
5038
5038
  "push.js"
5039
5039
  ]
5040
5040
  },
5041
- "pattern:diff": {
5041
+ "plugin:add": {
5042
5042
  "aliases": [],
5043
5043
  "args": {
5044
- "path": {
5045
- "description": "Path to patterns directory (overrides project config)",
5046
- "name": "path"
5044
+ "slug": {
5045
+ "description": "Plugin slug on WordPress.org",
5046
+ "name": "slug",
5047
+ "required": true
5047
5048
  }
5048
5049
  },
5049
- "description": "Show what differs in block patterns between your local patterns/ files and a WordPress environment, or between two environments",
5050
+ "description": "Add a WordPress.org plugin to loopress.json",
5050
5051
  "examples": [
5051
- "$ lps pattern diff",
5052
- "$ lps pattern diff --env staging",
5053
- "$ lps pattern diff --env staging --against production"
5052
+ "$ lps plugin add woocommerce",
5053
+ "$ lps plugin add woocommerce --version 9.4.2",
5054
+ "$ lps plugin add contact-form-7 --dry-run"
5054
5055
  ],
5055
5056
  "flags": {
5056
5057
  "json": {
@@ -5067,9 +5068,16 @@
5067
5068
  "multiple": false,
5068
5069
  "type": "option"
5069
5070
  },
5070
- "against": {
5071
- "description": "Compare the primary environment against this second environment instead of against local files",
5072
- "name": "against",
5071
+ "dry-run": {
5072
+ "char": "d",
5073
+ "description": "Show what would change without making changes",
5074
+ "name": "dry-run",
5075
+ "allowNo": false,
5076
+ "type": "boolean"
5077
+ },
5078
+ "version": {
5079
+ "description": "Exact version to pin (default: \"latest\", tracked on every push)",
5080
+ "name": "version",
5073
5081
  "hasDynamicHelp": false,
5074
5082
  "multiple": false,
5075
5083
  "type": "option"
@@ -5077,7 +5085,7 @@
5077
5085
  },
5078
5086
  "hasDynamicHelp": false,
5079
5087
  "hiddenAliases": [],
5080
- "id": "pattern:diff",
5088
+ "id": "plugin:add",
5081
5089
  "pluginAlias": "@loopress/cli",
5082
5090
  "pluginName": "@loopress/cli",
5083
5091
  "pluginType": "core",
@@ -5099,28 +5107,20 @@
5099
5107
  "type": "boolean"
5100
5108
  }
5101
5109
  },
5102
- "againstFlag": {
5103
- "against": {
5104
- "description": "Compare the primary environment against this second environment instead of against local files",
5105
- "input": [],
5106
- "multiple": false,
5107
- "type": "option"
5108
- }
5109
- },
5110
5110
  "isESM": true,
5111
5111
  "relativePath": [
5112
5112
  "dist",
5113
5113
  "commands",
5114
- "pattern",
5115
- "diff.js"
5114
+ "plugin",
5115
+ "add.js"
5116
5116
  ]
5117
5117
  },
5118
- "pattern:list": {
5118
+ "plugin:audit": {
5119
5119
  "aliases": [],
5120
5120
  "args": {},
5121
- "description": "List the block patterns registered on WordPress by Loopress, the theme and plugins (not WordPress core). Only Loopress ones are pulled and pushed.",
5121
+ "description": "Check the plugins in loopress.json for known vulnerabilities (wpvulnerability.net) and health issues",
5122
5122
  "examples": [
5123
- "$ lps pattern list"
5123
+ "$ lps plugin audit"
5124
5124
  ],
5125
5125
  "flags": {
5126
5126
  "json": {
@@ -5140,7 +5140,7 @@
5140
5140
  },
5141
5141
  "hasDynamicHelp": false,
5142
5142
  "hiddenAliases": [],
5143
- "id": "pattern:list",
5143
+ "id": "plugin:audit",
5144
5144
  "pluginAlias": "@loopress/cli",
5145
5145
  "pluginName": "@loopress/cli",
5146
5146
  "pluginType": "core",
@@ -5166,21 +5166,17 @@
5166
5166
  "relativePath": [
5167
5167
  "dist",
5168
5168
  "commands",
5169
- "pattern",
5170
- "list.js"
5169
+ "plugin",
5170
+ "audit.js"
5171
5171
  ]
5172
5172
  },
5173
- "pattern:pull": {
5173
+ "plugin:pull": {
5174
5174
  "aliases": [],
5175
- "args": {
5176
- "path": {
5177
- "description": "Path to the patterns directory (overrides project config)",
5178
- "name": "path"
5179
- }
5180
- },
5181
- "description": "Pull the block patterns Loopress manages on WordPress into patterns/<slug>.html files. Patterns registered by the theme or a plugin are never pulled, see `lps pattern list`.",
5175
+ "args": {},
5176
+ "description": "Pull installed plugins from WordPress into loopress.json (or composer.json), pinned to their live versions. Plugins already tracked are refreshed; new ones are offered as a list to tick, so plugins that only belong on this environment (cache, security, backups) stay out of the project.",
5182
5177
  "examples": [
5183
- "$ lps pattern pull"
5178
+ "$ lps plugin pull",
5179
+ "$ lps plugin pull --env production --plugin query-monitor"
5184
5180
  ],
5185
5181
  "flags": {
5186
5182
  "json": {
@@ -5210,11 +5206,18 @@
5210
5206
  "name": "yes",
5211
5207
  "allowNo": false,
5212
5208
  "type": "boolean"
5209
+ },
5210
+ "plugin": {
5211
+ "description": "Start tracking this installed plugin too, without asking (repeatable)",
5212
+ "name": "plugin",
5213
+ "hasDynamicHelp": false,
5214
+ "multiple": true,
5215
+ "type": "option"
5213
5216
  }
5214
5217
  },
5215
5218
  "hasDynamicHelp": false,
5216
5219
  "hiddenAliases": [],
5217
- "id": "pattern:pull",
5220
+ "id": "plugin:pull",
5218
5221
  "pluginAlias": "@loopress/cli",
5219
5222
  "pluginName": "@loopress/cli",
5220
5223
  "pluginType": "core",
@@ -5240,21 +5243,18 @@
5240
5243
  "relativePath": [
5241
5244
  "dist",
5242
5245
  "commands",
5243
- "pattern",
5246
+ "plugin",
5244
5247
  "pull.js"
5245
5248
  ]
5246
5249
  },
5247
- "pattern:push": {
5250
+ "plugin:push": {
5248
5251
  "aliases": [],
5249
- "args": {
5250
- "path": {
5251
- "description": "Path to the patterns directory (overrides project config)",
5252
- "name": "path"
5253
- }
5254
- },
5255
- "description": "Push local block patterns (patterns/<slug>.html, block markup under a title/categories header) to WordPress, registered as loopress/<slug> and referenced with <!-- wp:pattern {\"slug\":\"loopress/<slug>\"} /-->. Create or update only, never deletes a pattern (use `lps pattern rm`).",
5252
+ "args": {},
5253
+ "description": "Install WordPress.org plugins on WordPress to match loopress.json (active state included) or composer.json, via Composer + WPackagist",
5256
5254
  "examples": [
5257
- "$ lps pattern push"
5255
+ "$ lps plugin push",
5256
+ "$ lps plugin push --dry-run",
5257
+ "$ lps plugin push --force --prune"
5258
5258
  ],
5259
5259
  "flags": {
5260
5260
  "json": {
@@ -5296,14 +5296,32 @@
5296
5296
  "name": "yes",
5297
5297
  "allowNo": false,
5298
5298
  "type": "boolean"
5299
- }
5300
- },
5301
- "hasDynamicHelp": false,
5302
- "hiddenAliases": [],
5303
- "id": "pattern:push",
5304
- "pluginAlias": "@loopress/cli",
5305
- "pluginName": "@loopress/cli",
5306
- "pluginType": "core",
5299
+ },
5300
+ "activate": {
5301
+ "description": "composer.json projects only: activate every plugin it declares. Without it, plugins keep their current state and new ones stay inactive",
5302
+ "name": "activate",
5303
+ "allowNo": false,
5304
+ "type": "boolean"
5305
+ },
5306
+ "force": {
5307
+ "description": "Allow downgrades and let Loopress take over plugins installed outside it (replaces their files)",
5308
+ "name": "force",
5309
+ "allowNo": false,
5310
+ "type": "boolean"
5311
+ },
5312
+ "prune": {
5313
+ "description": "Deactivate plugins that are active on the site but absent from loopress.json (or composer.json)",
5314
+ "name": "prune",
5315
+ "allowNo": false,
5316
+ "type": "boolean"
5317
+ }
5318
+ },
5319
+ "hasDynamicHelp": false,
5320
+ "hiddenAliases": [],
5321
+ "id": "plugin:push",
5322
+ "pluginAlias": "@loopress/cli",
5323
+ "pluginName": "@loopress/cli",
5324
+ "pluginType": "core",
5307
5325
  "strict": true,
5308
5326
  "enableJsonFlag": true,
5309
5327
  "dryRunFlag": {
@@ -5326,25 +5344,16 @@
5326
5344
  "relativePath": [
5327
5345
  "dist",
5328
5346
  "commands",
5329
- "pattern",
5347
+ "plugin",
5330
5348
  "push.js"
5331
5349
  ]
5332
5350
  },
5333
- "pattern:rm": {
5334
- "aliases": [
5335
- "pattern:remove"
5336
- ],
5337
- "args": {
5338
- "slug": {
5339
- "description": "The pattern slug, its patterns/ file name without .html",
5340
- "name": "slug",
5341
- "required": true
5342
- }
5343
- },
5344
- "description": "Stop registering a Loopress block pattern on WordPress. A wp:pattern reference to it renders nothing until it is pushed again, copies already inserted in posts stay.",
5351
+ "plugin:status": {
5352
+ "aliases": [],
5353
+ "args": {},
5354
+ "description": "Compare the plugins on WordPress against loopress.json and report drift (missing, wrong version, inactive, untracked)",
5345
5355
  "examples": [
5346
- "$ lps pattern rm <slug>",
5347
- "$ lps pattern remove <slug> --yes"
5356
+ "$ lps plugin status"
5348
5357
  ],
5349
5358
  "flags": {
5350
5359
  "json": {
@@ -5360,25 +5369,11 @@
5360
5369
  "hasDynamicHelp": false,
5361
5370
  "multiple": false,
5362
5371
  "type": "option"
5363
- },
5364
- "dry-run": {
5365
- "char": "d",
5366
- "description": "Show what would change without making changes",
5367
- "name": "dry-run",
5368
- "allowNo": false,
5369
- "type": "boolean"
5370
- },
5371
- "yes": {
5372
- "char": "y",
5373
- "description": "Answer yes to confirmation prompts",
5374
- "name": "yes",
5375
- "allowNo": false,
5376
- "type": "boolean"
5377
5372
  }
5378
5373
  },
5379
5374
  "hasDynamicHelp": false,
5380
5375
  "hiddenAliases": [],
5381
- "id": "pattern:rm",
5376
+ "id": "plugin:status",
5382
5377
  "pluginAlias": "@loopress/cli",
5383
5378
  "pluginName": "@loopress/cli",
5384
5379
  "pluginType": "core",
@@ -5404,11 +5399,11 @@
5404
5399
  "relativePath": [
5405
5400
  "dist",
5406
5401
  "commands",
5407
- "pattern",
5408
- "rm.js"
5402
+ "plugin",
5403
+ "status.js"
5409
5404
  ]
5410
5405
  },
5411
- "pattern:rollback": {
5406
+ "pattern:diff": {
5412
5407
  "aliases": [],
5413
5408
  "args": {
5414
5409
  "path": {
@@ -5416,12 +5411,11 @@
5416
5411
  "name": "path"
5417
5412
  }
5418
5413
  },
5419
- "description": "Restore block patterns to a snapshot taken automatically before an earlier `lps pattern push`",
5414
+ "description": "Show what differs in block patterns between your local patterns/ files and a WordPress environment, or between two environments",
5420
5415
  "examples": [
5421
- "$ lps pattern rollback",
5422
- "$ lps pattern rollback --list",
5423
- "$ lps pattern rollback --to 1732000000000",
5424
- "$ lps pattern rollback --dry-run"
5416
+ "$ lps pattern diff",
5417
+ "$ lps pattern diff --env staging",
5418
+ "$ lps pattern diff --env staging --against production"
5425
5419
  ],
5426
5420
  "flags": {
5427
5421
  "json": {
@@ -5438,29 +5432,9 @@
5438
5432
  "multiple": false,
5439
5433
  "type": "option"
5440
5434
  },
5441
- "dry-run": {
5442
- "char": "d",
5443
- "description": "Show what would change without making changes",
5444
- "name": "dry-run",
5445
- "allowNo": false,
5446
- "type": "boolean"
5447
- },
5448
- "yes": {
5449
- "char": "y",
5450
- "description": "Answer yes to confirmation prompts",
5451
- "name": "yes",
5452
- "allowNo": false,
5453
- "type": "boolean"
5454
- },
5455
- "list": {
5456
- "description": "List available snapshots instead of rolling back",
5457
- "name": "list",
5458
- "allowNo": false,
5459
- "type": "boolean"
5460
- },
5461
- "to": {
5462
- "description": "Roll back to this snapshot id instead of the most recent one",
5463
- "name": "to",
5435
+ "against": {
5436
+ "description": "Compare the primary environment against this second environment instead of against local files",
5437
+ "name": "against",
5464
5438
  "hasDynamicHelp": false,
5465
5439
  "multiple": false,
5466
5440
  "type": "option"
@@ -5468,7 +5442,7 @@
5468
5442
  },
5469
5443
  "hasDynamicHelp": false,
5470
5444
  "hiddenAliases": [],
5471
- "id": "pattern:rollback",
5445
+ "id": "pattern:diff",
5472
5446
  "pluginAlias": "@loopress/cli",
5473
5447
  "pluginName": "@loopress/cli",
5474
5448
  "pluginType": "core",
@@ -5490,28 +5464,28 @@
5490
5464
  "type": "boolean"
5491
5465
  }
5492
5466
  },
5467
+ "againstFlag": {
5468
+ "against": {
5469
+ "description": "Compare the primary environment against this second environment instead of against local files",
5470
+ "input": [],
5471
+ "multiple": false,
5472
+ "type": "option"
5473
+ }
5474
+ },
5493
5475
  "isESM": true,
5494
5476
  "relativePath": [
5495
5477
  "dist",
5496
5478
  "commands",
5497
5479
  "pattern",
5498
- "rollback.js"
5480
+ "diff.js"
5499
5481
  ]
5500
5482
  },
5501
- "plugin:add": {
5483
+ "pattern:list": {
5502
5484
  "aliases": [],
5503
- "args": {
5504
- "slug": {
5505
- "description": "Plugin slug on WordPress.org",
5506
- "name": "slug",
5507
- "required": true
5508
- }
5509
- },
5510
- "description": "Add a WordPress.org plugin to loopress.json",
5485
+ "args": {},
5486
+ "description": "List the block patterns registered on WordPress by Loopress, the theme and plugins (not WordPress core). Only Loopress ones are pulled and pushed.",
5511
5487
  "examples": [
5512
- "$ lps plugin add woocommerce",
5513
- "$ lps plugin add woocommerce --version 9.4.2",
5514
- "$ lps plugin add contact-form-7 --dry-run"
5488
+ "$ lps pattern list"
5515
5489
  ],
5516
5490
  "flags": {
5517
5491
  "json": {
@@ -5527,25 +5501,11 @@
5527
5501
  "hasDynamicHelp": false,
5528
5502
  "multiple": false,
5529
5503
  "type": "option"
5530
- },
5531
- "dry-run": {
5532
- "char": "d",
5533
- "description": "Show what would change without making changes",
5534
- "name": "dry-run",
5535
- "allowNo": false,
5536
- "type": "boolean"
5537
- },
5538
- "version": {
5539
- "description": "Exact version to pin (default: \"latest\", tracked on every push)",
5540
- "name": "version",
5541
- "hasDynamicHelp": false,
5542
- "multiple": false,
5543
- "type": "option"
5544
5504
  }
5545
5505
  },
5546
5506
  "hasDynamicHelp": false,
5547
5507
  "hiddenAliases": [],
5548
- "id": "plugin:add",
5508
+ "id": "pattern:list",
5549
5509
  "pluginAlias": "@loopress/cli",
5550
5510
  "pluginName": "@loopress/cli",
5551
5511
  "pluginType": "core",
@@ -5571,16 +5531,21 @@
5571
5531
  "relativePath": [
5572
5532
  "dist",
5573
5533
  "commands",
5574
- "plugin",
5575
- "add.js"
5534
+ "pattern",
5535
+ "list.js"
5576
5536
  ]
5577
5537
  },
5578
- "plugin:audit": {
5538
+ "pattern:pull": {
5579
5539
  "aliases": [],
5580
- "args": {},
5581
- "description": "Check the plugins in loopress.json for known vulnerabilities (wpvulnerability.net) and health issues",
5540
+ "args": {
5541
+ "path": {
5542
+ "description": "Path to the patterns directory (overrides project config)",
5543
+ "name": "path"
5544
+ }
5545
+ },
5546
+ "description": "Pull the block patterns Loopress manages on WordPress into patterns/<slug>.html files. Patterns registered by the theme or a plugin are never pulled, see `lps pattern list`.",
5582
5547
  "examples": [
5583
- "$ lps plugin audit"
5548
+ "$ lps pattern pull"
5584
5549
  ],
5585
5550
  "flags": {
5586
5551
  "json": {
@@ -5596,11 +5561,25 @@
5596
5561
  "hasDynamicHelp": false,
5597
5562
  "multiple": false,
5598
5563
  "type": "option"
5564
+ },
5565
+ "dry-run": {
5566
+ "char": "d",
5567
+ "description": "Show what would change without making changes",
5568
+ "name": "dry-run",
5569
+ "allowNo": false,
5570
+ "type": "boolean"
5571
+ },
5572
+ "yes": {
5573
+ "char": "y",
5574
+ "description": "Answer yes to confirmation prompts",
5575
+ "name": "yes",
5576
+ "allowNo": false,
5577
+ "type": "boolean"
5599
5578
  }
5600
5579
  },
5601
5580
  "hasDynamicHelp": false,
5602
5581
  "hiddenAliases": [],
5603
- "id": "plugin:audit",
5582
+ "id": "pattern:pull",
5604
5583
  "pluginAlias": "@loopress/cli",
5605
5584
  "pluginName": "@loopress/cli",
5606
5585
  "pluginType": "core",
@@ -5626,17 +5605,21 @@
5626
5605
  "relativePath": [
5627
5606
  "dist",
5628
5607
  "commands",
5629
- "plugin",
5630
- "audit.js"
5608
+ "pattern",
5609
+ "pull.js"
5631
5610
  ]
5632
5611
  },
5633
- "plugin:pull": {
5612
+ "pattern:push": {
5634
5613
  "aliases": [],
5635
- "args": {},
5636
- "description": "Pull installed plugins from WordPress into loopress.json (or composer.json), pinned to their live versions. Plugins already tracked are refreshed; new ones are offered as a list to tick, so plugins that only belong on this environment (cache, security, backups) stay out of the project.",
5614
+ "args": {
5615
+ "path": {
5616
+ "description": "Path to the patterns directory (overrides project config)",
5617
+ "name": "path"
5618
+ }
5619
+ },
5620
+ "description": "Push local block patterns (patterns/<slug>.html, block markup under a title/categories header) to WordPress, registered as loopress/<slug> and referenced with <!-- wp:pattern {\"slug\":\"loopress/<slug>\"} /-->. Create or update only, never deletes a pattern (use `lps pattern rm`).",
5637
5621
  "examples": [
5638
- "$ lps plugin pull",
5639
- "$ lps plugin pull --env production --plugin query-monitor"
5622
+ "$ lps pattern push"
5640
5623
  ],
5641
5624
  "flags": {
5642
5625
  "json": {
@@ -5653,6 +5636,18 @@
5653
5636
  "multiple": false,
5654
5637
  "type": "option"
5655
5638
  },
5639
+ "overwrite": {
5640
+ "description": "Push even over changes made on the site outside Loopress since your last push. Pages: also take over a same-slug page Loopress did not create",
5641
+ "name": "overwrite",
5642
+ "allowNo": false,
5643
+ "type": "boolean"
5644
+ },
5645
+ "production-confirmed": {
5646
+ "hidden": true,
5647
+ "name": "production-confirmed",
5648
+ "allowNo": false,
5649
+ "type": "boolean"
5650
+ },
5656
5651
  "dry-run": {
5657
5652
  "char": "d",
5658
5653
  "description": "Show what would change without making changes",
@@ -5666,18 +5661,11 @@
5666
5661
  "name": "yes",
5667
5662
  "allowNo": false,
5668
5663
  "type": "boolean"
5669
- },
5670
- "plugin": {
5671
- "description": "Start tracking this installed plugin too, without asking (repeatable)",
5672
- "name": "plugin",
5673
- "hasDynamicHelp": false,
5674
- "multiple": true,
5675
- "type": "option"
5676
5664
  }
5677
5665
  },
5678
5666
  "hasDynamicHelp": false,
5679
5667
  "hiddenAliases": [],
5680
- "id": "plugin:pull",
5668
+ "id": "pattern:push",
5681
5669
  "pluginAlias": "@loopress/cli",
5682
5670
  "pluginName": "@loopress/cli",
5683
5671
  "pluginType": "core",
@@ -5703,18 +5691,25 @@
5703
5691
  "relativePath": [
5704
5692
  "dist",
5705
5693
  "commands",
5706
- "plugin",
5707
- "pull.js"
5694
+ "pattern",
5695
+ "push.js"
5708
5696
  ]
5709
5697
  },
5710
- "plugin:push": {
5711
- "aliases": [],
5712
- "args": {},
5713
- "description": "Install WordPress.org plugins on WordPress to match loopress.json (active state included) or composer.json, via Composer + WPackagist",
5698
+ "pattern:rm": {
5699
+ "aliases": [
5700
+ "pattern:remove"
5701
+ ],
5702
+ "args": {
5703
+ "slug": {
5704
+ "description": "The pattern slug, its patterns/ file name without .html",
5705
+ "name": "slug",
5706
+ "required": true
5707
+ }
5708
+ },
5709
+ "description": "Stop registering a Loopress block pattern on WordPress. A wp:pattern reference to it renders nothing until it is pushed again, copies already inserted in posts stay.",
5714
5710
  "examples": [
5715
- "$ lps plugin push",
5716
- "$ lps plugin push --dry-run",
5717
- "$ lps plugin push --force --prune"
5711
+ "$ lps pattern rm <slug>",
5712
+ "$ lps pattern remove <slug> --yes"
5718
5713
  ],
5719
5714
  "flags": {
5720
5715
  "json": {
@@ -5731,18 +5726,6 @@
5731
5726
  "multiple": false,
5732
5727
  "type": "option"
5733
5728
  },
5734
- "overwrite": {
5735
- "description": "Push even over changes made on the site outside Loopress since your last push. Pages: also take over a same-slug page Loopress did not create",
5736
- "name": "overwrite",
5737
- "allowNo": false,
5738
- "type": "boolean"
5739
- },
5740
- "production-confirmed": {
5741
- "hidden": true,
5742
- "name": "production-confirmed",
5743
- "allowNo": false,
5744
- "type": "boolean"
5745
- },
5746
5729
  "dry-run": {
5747
5730
  "char": "d",
5748
5731
  "description": "Show what would change without making changes",
@@ -5756,29 +5739,11 @@
5756
5739
  "name": "yes",
5757
5740
  "allowNo": false,
5758
5741
  "type": "boolean"
5759
- },
5760
- "activate": {
5761
- "description": "composer.json projects only: activate every plugin it declares. Without it, plugins keep their current state and new ones stay inactive",
5762
- "name": "activate",
5763
- "allowNo": false,
5764
- "type": "boolean"
5765
- },
5766
- "force": {
5767
- "description": "Allow downgrades and let Loopress take over plugins installed outside it (replaces their files)",
5768
- "name": "force",
5769
- "allowNo": false,
5770
- "type": "boolean"
5771
- },
5772
- "prune": {
5773
- "description": "Deactivate plugins that are active on the site but absent from loopress.json (or composer.json)",
5774
- "name": "prune",
5775
- "allowNo": false,
5776
- "type": "boolean"
5777
5742
  }
5778
5743
  },
5779
5744
  "hasDynamicHelp": false,
5780
5745
  "hiddenAliases": [],
5781
- "id": "plugin:push",
5746
+ "id": "pattern:rm",
5782
5747
  "pluginAlias": "@loopress/cli",
5783
5748
  "pluginName": "@loopress/cli",
5784
5749
  "pluginType": "core",
@@ -5804,16 +5769,24 @@
5804
5769
  "relativePath": [
5805
5770
  "dist",
5806
5771
  "commands",
5807
- "plugin",
5808
- "push.js"
5772
+ "pattern",
5773
+ "rm.js"
5809
5774
  ]
5810
5775
  },
5811
- "plugin:status": {
5776
+ "pattern:rollback": {
5812
5777
  "aliases": [],
5813
- "args": {},
5814
- "description": "Compare the plugins on WordPress against loopress.json and report drift (missing, wrong version, inactive, untracked)",
5778
+ "args": {
5779
+ "path": {
5780
+ "description": "Path to patterns directory (overrides project config)",
5781
+ "name": "path"
5782
+ }
5783
+ },
5784
+ "description": "Restore block patterns to a snapshot taken automatically before an earlier `lps pattern push`",
5815
5785
  "examples": [
5816
- "$ lps plugin status"
5786
+ "$ lps pattern rollback",
5787
+ "$ lps pattern rollback --list",
5788
+ "$ lps pattern rollback --to 1732000000000",
5789
+ "$ lps pattern rollback --dry-run"
5817
5790
  ],
5818
5791
  "flags": {
5819
5792
  "json": {
@@ -5829,11 +5802,38 @@
5829
5802
  "hasDynamicHelp": false,
5830
5803
  "multiple": false,
5831
5804
  "type": "option"
5805
+ },
5806
+ "dry-run": {
5807
+ "char": "d",
5808
+ "description": "Show what would change without making changes",
5809
+ "name": "dry-run",
5810
+ "allowNo": false,
5811
+ "type": "boolean"
5812
+ },
5813
+ "yes": {
5814
+ "char": "y",
5815
+ "description": "Answer yes to confirmation prompts",
5816
+ "name": "yes",
5817
+ "allowNo": false,
5818
+ "type": "boolean"
5819
+ },
5820
+ "list": {
5821
+ "description": "List available snapshots instead of rolling back",
5822
+ "name": "list",
5823
+ "allowNo": false,
5824
+ "type": "boolean"
5825
+ },
5826
+ "to": {
5827
+ "description": "Roll back to this snapshot id instead of the most recent one",
5828
+ "name": "to",
5829
+ "hasDynamicHelp": false,
5830
+ "multiple": false,
5831
+ "type": "option"
5832
5832
  }
5833
5833
  },
5834
5834
  "hasDynamicHelp": false,
5835
5835
  "hiddenAliases": [],
5836
- "id": "plugin:status",
5836
+ "id": "pattern:rollback",
5837
5837
  "pluginAlias": "@loopress/cli",
5838
5838
  "pluginName": "@loopress/cli",
5839
5839
  "pluginType": "core",
@@ -5859,8 +5859,8 @@
5859
5859
  "relativePath": [
5860
5860
  "dist",
5861
5861
  "commands",
5862
- "plugin",
5863
- "status.js"
5862
+ "pattern",
5863
+ "rollback.js"
5864
5864
  ]
5865
5865
  },
5866
5866
  "project:config": {
@@ -6946,6 +6946,54 @@
6946
6946
  "rollback.js"
6947
6947
  ]
6948
6948
  },
6949
+ "telemetry:disable": {
6950
+ "aliases": [],
6951
+ "args": {},
6952
+ "description": "Disable error reporting to Sentry",
6953
+ "examples": [
6954
+ "$ lps telemetry disable"
6955
+ ],
6956
+ "flags": {},
6957
+ "hasDynamicHelp": false,
6958
+ "hiddenAliases": [],
6959
+ "id": "telemetry:disable",
6960
+ "pluginAlias": "@loopress/cli",
6961
+ "pluginName": "@loopress/cli",
6962
+ "pluginType": "core",
6963
+ "strict": true,
6964
+ "enableJsonFlag": false,
6965
+ "isESM": true,
6966
+ "relativePath": [
6967
+ "dist",
6968
+ "commands",
6969
+ "telemetry",
6970
+ "disable.js"
6971
+ ]
6972
+ },
6973
+ "telemetry:enable": {
6974
+ "aliases": [],
6975
+ "args": {},
6976
+ "description": "Enable error reporting to Sentry",
6977
+ "examples": [
6978
+ "$ lps telemetry enable"
6979
+ ],
6980
+ "flags": {},
6981
+ "hasDynamicHelp": false,
6982
+ "hiddenAliases": [],
6983
+ "id": "telemetry:enable",
6984
+ "pluginAlias": "@loopress/cli",
6985
+ "pluginName": "@loopress/cli",
6986
+ "pluginType": "core",
6987
+ "strict": true,
6988
+ "enableJsonFlag": false,
6989
+ "isESM": true,
6990
+ "relativePath": [
6991
+ "dist",
6992
+ "commands",
6993
+ "telemetry",
6994
+ "enable.js"
6995
+ ]
6996
+ },
6949
6997
  "taxonomy:diff": {
6950
6998
  "aliases": [],
6951
6999
  "args": {
@@ -7406,54 +7454,6 @@
7406
7454
  "rollback.js"
7407
7455
  ]
7408
7456
  },
7409
- "telemetry:disable": {
7410
- "aliases": [],
7411
- "args": {},
7412
- "description": "Disable error reporting to Sentry",
7413
- "examples": [
7414
- "$ lps telemetry disable"
7415
- ],
7416
- "flags": {},
7417
- "hasDynamicHelp": false,
7418
- "hiddenAliases": [],
7419
- "id": "telemetry:disable",
7420
- "pluginAlias": "@loopress/cli",
7421
- "pluginName": "@loopress/cli",
7422
- "pluginType": "core",
7423
- "strict": true,
7424
- "enableJsonFlag": false,
7425
- "isESM": true,
7426
- "relativePath": [
7427
- "dist",
7428
- "commands",
7429
- "telemetry",
7430
- "disable.js"
7431
- ]
7432
- },
7433
- "telemetry:enable": {
7434
- "aliases": [],
7435
- "args": {},
7436
- "description": "Enable error reporting to Sentry",
7437
- "examples": [
7438
- "$ lps telemetry enable"
7439
- ],
7440
- "flags": {},
7441
- "hasDynamicHelp": false,
7442
- "hiddenAliases": [],
7443
- "id": "telemetry:enable",
7444
- "pluginAlias": "@loopress/cli",
7445
- "pluginName": "@loopress/cli",
7446
- "pluginType": "core",
7447
- "strict": true,
7448
- "enableJsonFlag": false,
7449
- "isESM": true,
7450
- "relativePath": [
7451
- "dist",
7452
- "commands",
7453
- "telemetry",
7454
- "enable.js"
7455
- ]
7456
- },
7457
7457
  "theme:add": {
7458
7458
  "aliases": [],
7459
7459
  "args": {
@@ -8415,5 +8415,5 @@
8415
8415
  ]
8416
8416
  }
8417
8417
  },
8418
- "version": "0.32.0"
8418
+ "version": "0.32.1"
8419
8419
  }