@loopress/cli 0.6.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.
- package/README.md +98 -117
- package/dist/commands/composer/pull.js +5 -15
- package/dist/commands/composer/push.js +8 -17
- package/dist/commands/init.js +15 -6
- package/dist/commands/login.js +2 -2
- package/dist/commands/logout.js +2 -2
- package/dist/commands/plugin/add.d.ts +0 -2
- package/dist/commands/plugin/add.js +11 -32
- package/dist/commands/plugin/pull.js +8 -19
- package/dist/commands/plugin/push.d.ts +1 -0
- package/dist/commands/plugin/push.js +23 -48
- package/dist/commands/project/config.d.ts +1 -0
- package/dist/commands/project/config.js +36 -17
- package/dist/commands/project/list.js +4 -5
- package/dist/commands/project/remove.js +33 -14
- package/dist/commands/project/switch.d.ts +2 -0
- package/dist/commands/project/switch.js +28 -9
- package/dist/commands/snippet/list.d.ts +1 -1
- package/dist/commands/snippet/list.js +26 -41
- package/dist/commands/snippet/pull.d.ts +1 -1
- package/dist/commands/snippet/pull.js +45 -53
- package/dist/commands/snippet/push.d.ts +2 -2
- package/dist/commands/snippet/push.js +112 -68
- package/dist/commands/{project/remove-env.d.ts → status.d.ts} +3 -1
- package/dist/commands/status.js +66 -0
- package/dist/config/auth.manager.d.ts +0 -2
- package/dist/config/auth.manager.js +5 -25
- package/dist/config/json-file.d.ts +2 -0
- package/dist/config/json-file.js +21 -0
- package/dist/config/project-config.manager.d.ts +18 -13
- package/dist/config/project-config.manager.js +90 -59
- package/dist/lib/base.d.ts +14 -4
- package/dist/lib/base.js +69 -29
- package/dist/lib/push-command.d.ts +0 -1
- package/dist/lib/push-command.js +0 -1
- package/dist/lib/wp-client.d.ts +15 -0
- package/dist/lib/wp-client.js +53 -0
- package/dist/{config/types.d.ts → types/config.d.ts} +5 -2
- package/dist/types/snippet.d.ts +8 -0
- package/dist/utils/loopress-config.js +5 -2
- package/dist/utils/snippet-plugin-flag.d.ts +3 -0
- package/dist/utils/snippet-plugin-flag.js +8 -0
- package/dist/utils/snippet-plugin.d.ts +24 -2
- package/dist/utils/snippet-plugin.js +170 -14
- package/oclif.manifest.json +122 -108
- package/package.json +21 -4
- package/dist/commands/project/remove-env.js +0 -33
- package/dist/commands/project/switch-env.d.ts +0 -6
- package/dist/commands/project/switch-env.js +0 -33
- package/dist/types/menu.d.ts +0 -7
- package/dist/types/menu.js +0 -1
- /package/dist/{config/types.js → types/config.js} +0 -0
package/oclif.manifest.json
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"login": {
|
|
27
27
|
"aliases": [],
|
|
28
28
|
"args": {},
|
|
29
|
-
"description": "Log in to Loopress
|
|
29
|
+
"description": "Log in to the Loopress console",
|
|
30
30
|
"examples": [
|
|
31
31
|
"$ lps login"
|
|
32
32
|
],
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"logout": {
|
|
50
50
|
"aliases": [],
|
|
51
51
|
"args": {},
|
|
52
|
-
"description": "Log out from Loopress console",
|
|
52
|
+
"description": "Log out from the Loopress console",
|
|
53
53
|
"examples": [
|
|
54
54
|
"$ lps logout"
|
|
55
55
|
],
|
|
@@ -69,17 +69,40 @@
|
|
|
69
69
|
"logout.js"
|
|
70
70
|
]
|
|
71
71
|
},
|
|
72
|
+
"status": {
|
|
73
|
+
"aliases": [],
|
|
74
|
+
"args": {},
|
|
75
|
+
"description": "Show which WordPress project and environment commands will target",
|
|
76
|
+
"examples": [
|
|
77
|
+
"$ lps status"
|
|
78
|
+
],
|
|
79
|
+
"flags": {},
|
|
80
|
+
"hasDynamicHelp": false,
|
|
81
|
+
"hiddenAliases": [],
|
|
82
|
+
"id": "status",
|
|
83
|
+
"pluginAlias": "@loopress/cli",
|
|
84
|
+
"pluginName": "@loopress/cli",
|
|
85
|
+
"pluginType": "core",
|
|
86
|
+
"strict": true,
|
|
87
|
+
"enableJsonFlag": false,
|
|
88
|
+
"isESM": true,
|
|
89
|
+
"relativePath": [
|
|
90
|
+
"dist",
|
|
91
|
+
"commands",
|
|
92
|
+
"status.js"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
72
95
|
"composer:pull": {
|
|
73
96
|
"aliases": [],
|
|
74
97
|
"args": {},
|
|
75
|
-
"description": "Pull composer.lock from
|
|
98
|
+
"description": "Pull composer.lock from WordPress",
|
|
76
99
|
"examples": [
|
|
77
100
|
"$ lps composer pull",
|
|
78
101
|
"$ lps composer pull --dry-run"
|
|
79
102
|
],
|
|
80
103
|
"flags": {
|
|
81
104
|
"password": {
|
|
82
|
-
"description": "WordPress application password (
|
|
105
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
83
106
|
"helpGroup": "GLOBAL",
|
|
84
107
|
"name": "password",
|
|
85
108
|
"hasDynamicHelp": false,
|
|
@@ -87,7 +110,7 @@
|
|
|
87
110
|
"type": "option"
|
|
88
111
|
},
|
|
89
112
|
"url": {
|
|
90
|
-
"description": "WordPress URL (
|
|
113
|
+
"description": "WordPress URL (overrides project config)",
|
|
91
114
|
"helpGroup": "GLOBAL",
|
|
92
115
|
"name": "url",
|
|
93
116
|
"hasDynamicHelp": false,
|
|
@@ -95,7 +118,7 @@
|
|
|
95
118
|
"type": "option"
|
|
96
119
|
},
|
|
97
120
|
"user": {
|
|
98
|
-
"description": "WordPress username (
|
|
121
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
99
122
|
"helpGroup": "GLOBAL",
|
|
100
123
|
"name": "user",
|
|
101
124
|
"hasDynamicHelp": false,
|
|
@@ -104,7 +127,7 @@
|
|
|
104
127
|
},
|
|
105
128
|
"dry-run": {
|
|
106
129
|
"char": "d",
|
|
107
|
-
"description": "Show what would
|
|
130
|
+
"description": "Show what would change without making changes",
|
|
108
131
|
"name": "dry-run",
|
|
109
132
|
"allowNo": false,
|
|
110
133
|
"type": "boolean"
|
|
@@ -118,6 +141,14 @@
|
|
|
118
141
|
"pluginType": "core",
|
|
119
142
|
"strict": true,
|
|
120
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
|
+
},
|
|
121
152
|
"isESM": true,
|
|
122
153
|
"relativePath": [
|
|
123
154
|
"dist",
|
|
@@ -129,14 +160,14 @@
|
|
|
129
160
|
"composer:push": {
|
|
130
161
|
"aliases": [],
|
|
131
162
|
"args": {},
|
|
132
|
-
"description": "
|
|
163
|
+
"description": "Push composer.json and composer.lock to WordPress and run composer install",
|
|
133
164
|
"examples": [
|
|
134
165
|
"$ lps composer push",
|
|
135
166
|
"$ lps composer push --dry-run"
|
|
136
167
|
],
|
|
137
168
|
"flags": {
|
|
138
169
|
"password": {
|
|
139
|
-
"description": "WordPress application password (
|
|
170
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
140
171
|
"helpGroup": "GLOBAL",
|
|
141
172
|
"name": "password",
|
|
142
173
|
"hasDynamicHelp": false,
|
|
@@ -144,7 +175,7 @@
|
|
|
144
175
|
"type": "option"
|
|
145
176
|
},
|
|
146
177
|
"url": {
|
|
147
|
-
"description": "WordPress URL (
|
|
178
|
+
"description": "WordPress URL (overrides project config)",
|
|
148
179
|
"helpGroup": "GLOBAL",
|
|
149
180
|
"name": "url",
|
|
150
181
|
"hasDynamicHelp": false,
|
|
@@ -152,7 +183,7 @@
|
|
|
152
183
|
"type": "option"
|
|
153
184
|
},
|
|
154
185
|
"user": {
|
|
155
|
-
"description": "WordPress username (
|
|
186
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
156
187
|
"helpGroup": "GLOBAL",
|
|
157
188
|
"name": "user",
|
|
158
189
|
"hasDynamicHelp": false,
|
|
@@ -186,7 +217,7 @@
|
|
|
186
217
|
"aliases": [],
|
|
187
218
|
"args": {
|
|
188
219
|
"slug": {
|
|
189
|
-
"description": "Plugin slug
|
|
220
|
+
"description": "Plugin slug on WordPress.org",
|
|
190
221
|
"name": "slug",
|
|
191
222
|
"required": true
|
|
192
223
|
},
|
|
@@ -195,16 +226,15 @@
|
|
|
195
226
|
"name": "version"
|
|
196
227
|
}
|
|
197
228
|
},
|
|
198
|
-
"description": "Add a plugin to loopress.json
|
|
229
|
+
"description": "Add a WordPress.org plugin to loopress.json",
|
|
199
230
|
"examples": [
|
|
200
231
|
"$ lps plugin add woocommerce",
|
|
201
232
|
"$ lps plugin add woocommerce 8.9.1",
|
|
202
|
-
"$ lps plugin add wpackagist-plugin/advanced-custom-fields",
|
|
203
233
|
"$ lps plugin add contact-form-7 --dry-run"
|
|
204
234
|
],
|
|
205
235
|
"flags": {
|
|
206
236
|
"password": {
|
|
207
|
-
"description": "WordPress application password (
|
|
237
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
208
238
|
"helpGroup": "GLOBAL",
|
|
209
239
|
"name": "password",
|
|
210
240
|
"hasDynamicHelp": false,
|
|
@@ -212,7 +242,7 @@
|
|
|
212
242
|
"type": "option"
|
|
213
243
|
},
|
|
214
244
|
"url": {
|
|
215
|
-
"description": "WordPress URL (
|
|
245
|
+
"description": "WordPress URL (overrides project config)",
|
|
216
246
|
"helpGroup": "GLOBAL",
|
|
217
247
|
"name": "url",
|
|
218
248
|
"hasDynamicHelp": false,
|
|
@@ -220,7 +250,7 @@
|
|
|
220
250
|
"type": "option"
|
|
221
251
|
},
|
|
222
252
|
"user": {
|
|
223
|
-
"description": "WordPress username (
|
|
253
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
224
254
|
"helpGroup": "GLOBAL",
|
|
225
255
|
"name": "user",
|
|
226
256
|
"hasDynamicHelp": false,
|
|
@@ -229,7 +259,7 @@
|
|
|
229
259
|
},
|
|
230
260
|
"dry-run": {
|
|
231
261
|
"char": "d",
|
|
232
|
-
"description": "Show what would
|
|
262
|
+
"description": "Show what would change without making changes",
|
|
233
263
|
"name": "dry-run",
|
|
234
264
|
"allowNo": false,
|
|
235
265
|
"type": "boolean"
|
|
@@ -243,6 +273,14 @@
|
|
|
243
273
|
"pluginType": "core",
|
|
244
274
|
"strict": true,
|
|
245
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
|
+
},
|
|
246
284
|
"isESM": true,
|
|
247
285
|
"relativePath": [
|
|
248
286
|
"dist",
|
|
@@ -256,12 +294,12 @@
|
|
|
256
294
|
"args": {},
|
|
257
295
|
"description": "Pull installed plugins from WordPress into loopress.json",
|
|
258
296
|
"examples": [
|
|
259
|
-
"$ lps
|
|
260
|
-
"$ lps
|
|
297
|
+
"$ lps plugin pull",
|
|
298
|
+
"$ lps plugin pull --dry-run"
|
|
261
299
|
],
|
|
262
300
|
"flags": {
|
|
263
301
|
"password": {
|
|
264
|
-
"description": "WordPress application password (
|
|
302
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
265
303
|
"helpGroup": "GLOBAL",
|
|
266
304
|
"name": "password",
|
|
267
305
|
"hasDynamicHelp": false,
|
|
@@ -269,7 +307,7 @@
|
|
|
269
307
|
"type": "option"
|
|
270
308
|
},
|
|
271
309
|
"url": {
|
|
272
|
-
"description": "WordPress URL (
|
|
310
|
+
"description": "WordPress URL (overrides project config)",
|
|
273
311
|
"helpGroup": "GLOBAL",
|
|
274
312
|
"name": "url",
|
|
275
313
|
"hasDynamicHelp": false,
|
|
@@ -277,7 +315,7 @@
|
|
|
277
315
|
"type": "option"
|
|
278
316
|
},
|
|
279
317
|
"user": {
|
|
280
|
-
"description": "WordPress username (
|
|
318
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
281
319
|
"helpGroup": "GLOBAL",
|
|
282
320
|
"name": "user",
|
|
283
321
|
"hasDynamicHelp": false,
|
|
@@ -286,7 +324,7 @@
|
|
|
286
324
|
},
|
|
287
325
|
"dry-run": {
|
|
288
326
|
"char": "d",
|
|
289
|
-
"description": "Show what would
|
|
327
|
+
"description": "Show what would change without making changes",
|
|
290
328
|
"name": "dry-run",
|
|
291
329
|
"allowNo": false,
|
|
292
330
|
"type": "boolean"
|
|
@@ -300,6 +338,14 @@
|
|
|
300
338
|
"pluginType": "core",
|
|
301
339
|
"strict": true,
|
|
302
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
|
+
},
|
|
303
349
|
"isESM": true,
|
|
304
350
|
"relativePath": [
|
|
305
351
|
"dist",
|
|
@@ -311,14 +357,14 @@
|
|
|
311
357
|
"plugin:push": {
|
|
312
358
|
"aliases": [],
|
|
313
359
|
"args": {},
|
|
314
|
-
"description": "
|
|
360
|
+
"description": "Push plugins to WordPress to match loopress.json",
|
|
315
361
|
"examples": [
|
|
316
|
-
"$ lps
|
|
317
|
-
"$ lps
|
|
362
|
+
"$ lps plugin push",
|
|
363
|
+
"$ lps plugin push --dry-run"
|
|
318
364
|
],
|
|
319
365
|
"flags": {
|
|
320
366
|
"password": {
|
|
321
|
-
"description": "WordPress application password (
|
|
367
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
322
368
|
"helpGroup": "GLOBAL",
|
|
323
369
|
"name": "password",
|
|
324
370
|
"hasDynamicHelp": false,
|
|
@@ -326,7 +372,7 @@
|
|
|
326
372
|
"type": "option"
|
|
327
373
|
},
|
|
328
374
|
"url": {
|
|
329
|
-
"description": "WordPress URL (
|
|
375
|
+
"description": "WordPress URL (overrides project config)",
|
|
330
376
|
"helpGroup": "GLOBAL",
|
|
331
377
|
"name": "url",
|
|
332
378
|
"hasDynamicHelp": false,
|
|
@@ -334,7 +380,7 @@
|
|
|
334
380
|
"type": "option"
|
|
335
381
|
},
|
|
336
382
|
"user": {
|
|
337
|
-
"description": "WordPress username (
|
|
383
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
338
384
|
"helpGroup": "GLOBAL",
|
|
339
385
|
"name": "user",
|
|
340
386
|
"hasDynamicHelp": false,
|
|
@@ -369,13 +415,13 @@
|
|
|
369
415
|
"args": {},
|
|
370
416
|
"description": "List snippets from WordPress",
|
|
371
417
|
"examples": [
|
|
372
|
-
"$ lps
|
|
373
|
-
"$ lps
|
|
374
|
-
"$ lps
|
|
418
|
+
"$ lps snippet list",
|
|
419
|
+
"$ lps snippet list --url http://example.com",
|
|
420
|
+
"$ lps snippet list --plugin wpcode"
|
|
375
421
|
],
|
|
376
422
|
"flags": {
|
|
377
423
|
"password": {
|
|
378
|
-
"description": "WordPress application password (
|
|
424
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
379
425
|
"helpGroup": "GLOBAL",
|
|
380
426
|
"name": "password",
|
|
381
427
|
"hasDynamicHelp": false,
|
|
@@ -383,7 +429,7 @@
|
|
|
383
429
|
"type": "option"
|
|
384
430
|
},
|
|
385
431
|
"url": {
|
|
386
|
-
"description": "WordPress URL (
|
|
432
|
+
"description": "WordPress URL (overrides project config)",
|
|
387
433
|
"helpGroup": "GLOBAL",
|
|
388
434
|
"name": "url",
|
|
389
435
|
"hasDynamicHelp": false,
|
|
@@ -391,7 +437,7 @@
|
|
|
391
437
|
"type": "option"
|
|
392
438
|
},
|
|
393
439
|
"user": {
|
|
394
|
-
"description": "WordPress username (
|
|
440
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
395
441
|
"helpGroup": "GLOBAL",
|
|
396
442
|
"name": "user",
|
|
397
443
|
"hasDynamicHelp": false,
|
|
@@ -426,6 +472,14 @@
|
|
|
426
472
|
"pluginType": "core",
|
|
427
473
|
"strict": true,
|
|
428
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
|
+
},
|
|
429
483
|
"isESM": true,
|
|
430
484
|
"relativePath": [
|
|
431
485
|
"dist",
|
|
@@ -444,14 +498,14 @@
|
|
|
444
498
|
},
|
|
445
499
|
"description": "Pull snippets from WordPress",
|
|
446
500
|
"examples": [
|
|
447
|
-
"$ lps
|
|
448
|
-
"$ lps
|
|
449
|
-
"$ lps
|
|
450
|
-
"$ lps
|
|
501
|
+
"$ lps snippet pull",
|
|
502
|
+
"$ lps snippet pull --url http://example.com",
|
|
503
|
+
"$ lps snippet pull --path ./snippets",
|
|
504
|
+
"$ lps snippet pull --plugin wpcode"
|
|
451
505
|
],
|
|
452
506
|
"flags": {
|
|
453
507
|
"password": {
|
|
454
|
-
"description": "WordPress application password (
|
|
508
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
455
509
|
"helpGroup": "GLOBAL",
|
|
456
510
|
"name": "password",
|
|
457
511
|
"hasDynamicHelp": false,
|
|
@@ -459,7 +513,7 @@
|
|
|
459
513
|
"type": "option"
|
|
460
514
|
},
|
|
461
515
|
"url": {
|
|
462
|
-
"description": "WordPress URL (
|
|
516
|
+
"description": "WordPress URL (overrides project config)",
|
|
463
517
|
"helpGroup": "GLOBAL",
|
|
464
518
|
"name": "url",
|
|
465
519
|
"hasDynamicHelp": false,
|
|
@@ -467,17 +521,17 @@
|
|
|
467
521
|
"type": "option"
|
|
468
522
|
},
|
|
469
523
|
"user": {
|
|
470
|
-
"description": "WordPress username (
|
|
524
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
471
525
|
"helpGroup": "GLOBAL",
|
|
472
526
|
"name": "user",
|
|
473
527
|
"hasDynamicHelp": false,
|
|
474
528
|
"multiple": false,
|
|
475
529
|
"type": "option"
|
|
476
530
|
},
|
|
477
|
-
"
|
|
531
|
+
"dry-run": {
|
|
478
532
|
"char": "d",
|
|
479
|
-
"description": "
|
|
480
|
-
"name": "
|
|
533
|
+
"description": "Show what would change without making changes",
|
|
534
|
+
"name": "dry-run",
|
|
481
535
|
"allowNo": false,
|
|
482
536
|
"type": "boolean"
|
|
483
537
|
},
|
|
@@ -502,6 +556,14 @@
|
|
|
502
556
|
"pluginType": "core",
|
|
503
557
|
"strict": true,
|
|
504
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
|
+
},
|
|
505
567
|
"isESM": true,
|
|
506
568
|
"relativePath": [
|
|
507
569
|
"dist",
|
|
@@ -518,16 +580,16 @@
|
|
|
518
580
|
"name": "path"
|
|
519
581
|
}
|
|
520
582
|
},
|
|
521
|
-
"description": "Push snippets to WordPress",
|
|
583
|
+
"description": "Push snippets to WordPress. Local snippet files created or updated remotely are renamed on disk to the `<id>-<slug>` convention.",
|
|
522
584
|
"examples": [
|
|
523
|
-
"$ lps
|
|
524
|
-
"$ lps
|
|
525
|
-
"$ lps
|
|
526
|
-
"$ lps
|
|
585
|
+
"$ lps snippet push",
|
|
586
|
+
"$ lps snippet push --url http://example.com",
|
|
587
|
+
"$ lps snippet push --path ./snippets",
|
|
588
|
+
"$ lps snippet push --plugin wpcode"
|
|
527
589
|
],
|
|
528
590
|
"flags": {
|
|
529
591
|
"password": {
|
|
530
|
-
"description": "WordPress application password (
|
|
592
|
+
"description": "WordPress application password (overrides project config, requires --user)",
|
|
531
593
|
"helpGroup": "GLOBAL",
|
|
532
594
|
"name": "password",
|
|
533
595
|
"hasDynamicHelp": false,
|
|
@@ -535,7 +597,7 @@
|
|
|
535
597
|
"type": "option"
|
|
536
598
|
},
|
|
537
599
|
"url": {
|
|
538
|
-
"description": "WordPress URL (
|
|
600
|
+
"description": "WordPress URL (overrides project config)",
|
|
539
601
|
"helpGroup": "GLOBAL",
|
|
540
602
|
"name": "url",
|
|
541
603
|
"hasDynamicHelp": false,
|
|
@@ -543,17 +605,17 @@
|
|
|
543
605
|
"type": "option"
|
|
544
606
|
},
|
|
545
607
|
"user": {
|
|
546
|
-
"description": "WordPress username (
|
|
608
|
+
"description": "WordPress username (overrides project config, requires --password)",
|
|
547
609
|
"helpGroup": "GLOBAL",
|
|
548
610
|
"name": "user",
|
|
549
611
|
"hasDynamicHelp": false,
|
|
550
612
|
"multiple": false,
|
|
551
613
|
"type": "option"
|
|
552
614
|
},
|
|
553
|
-
"
|
|
615
|
+
"dry-run": {
|
|
554
616
|
"char": "d",
|
|
555
|
-
"description": "
|
|
556
|
-
"name": "
|
|
617
|
+
"description": "Show what would change without making changes",
|
|
618
|
+
"name": "dry-run",
|
|
557
619
|
"allowNo": false,
|
|
558
620
|
"type": "boolean"
|
|
559
621
|
},
|
|
@@ -633,34 +695,10 @@
|
|
|
633
695
|
"list.js"
|
|
634
696
|
]
|
|
635
697
|
},
|
|
636
|
-
"project:remove-env": {
|
|
637
|
-
"aliases": [],
|
|
638
|
-
"args": {},
|
|
639
|
-
"description": "Remove one or more environments from the current project",
|
|
640
|
-
"examples": [
|
|
641
|
-
"$ lps project remove-env"
|
|
642
|
-
],
|
|
643
|
-
"flags": {},
|
|
644
|
-
"hasDynamicHelp": false,
|
|
645
|
-
"hiddenAliases": [],
|
|
646
|
-
"id": "project:remove-env",
|
|
647
|
-
"pluginAlias": "@loopress/cli",
|
|
648
|
-
"pluginName": "@loopress/cli",
|
|
649
|
-
"pluginType": "core",
|
|
650
|
-
"strict": true,
|
|
651
|
-
"enableJsonFlag": false,
|
|
652
|
-
"isESM": true,
|
|
653
|
-
"relativePath": [
|
|
654
|
-
"dist",
|
|
655
|
-
"commands",
|
|
656
|
-
"project",
|
|
657
|
-
"remove-env.js"
|
|
658
|
-
]
|
|
659
|
-
},
|
|
660
698
|
"project:remove": {
|
|
661
699
|
"aliases": [],
|
|
662
700
|
"args": {},
|
|
663
|
-
"description": "Remove one or more WordPress
|
|
701
|
+
"description": "Remove one or more WordPress projects or environments",
|
|
664
702
|
"examples": [
|
|
665
703
|
"$ lps project remove"
|
|
666
704
|
],
|
|
@@ -681,34 +719,10 @@
|
|
|
681
719
|
"remove.js"
|
|
682
720
|
]
|
|
683
721
|
},
|
|
684
|
-
"project:switch-env": {
|
|
685
|
-
"aliases": [],
|
|
686
|
-
"args": {},
|
|
687
|
-
"description": "Switch the active environment within the current project",
|
|
688
|
-
"examples": [
|
|
689
|
-
"$ lps project switch-env"
|
|
690
|
-
],
|
|
691
|
-
"flags": {},
|
|
692
|
-
"hasDynamicHelp": false,
|
|
693
|
-
"hiddenAliases": [],
|
|
694
|
-
"id": "project:switch-env",
|
|
695
|
-
"pluginAlias": "@loopress/cli",
|
|
696
|
-
"pluginName": "@loopress/cli",
|
|
697
|
-
"pluginType": "core",
|
|
698
|
-
"strict": true,
|
|
699
|
-
"enableJsonFlag": false,
|
|
700
|
-
"isESM": true,
|
|
701
|
-
"relativePath": [
|
|
702
|
-
"dist",
|
|
703
|
-
"commands",
|
|
704
|
-
"project",
|
|
705
|
-
"switch-env.js"
|
|
706
|
-
]
|
|
707
|
-
},
|
|
708
722
|
"project:switch": {
|
|
709
723
|
"aliases": [],
|
|
710
724
|
"args": {},
|
|
711
|
-
"description": "Switch the active project",
|
|
725
|
+
"description": "Switch the active project and environment",
|
|
712
726
|
"examples": [
|
|
713
727
|
"$ lps project switch"
|
|
714
728
|
],
|
|
@@ -730,5 +744,5 @@
|
|
|
730
744
|
]
|
|
731
745
|
}
|
|
732
746
|
},
|
|
733
|
-
"version": "0.
|
|
747
|
+
"version": "0.8.0"
|
|
734
748
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopress/cli",
|
|
3
|
-
"description": "CLI tool for syncing WordPress
|
|
4
|
-
"version": "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,16 @@
|
|
|
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",
|
|
29
|
+
"@vitest/coverage-v8": "4.1.9",
|
|
27
30
|
"eslint": "^9",
|
|
28
31
|
"eslint-config-oclif": "^6.0.174",
|
|
29
32
|
"eslint-config-prettier": "^10",
|
|
@@ -65,7 +68,21 @@
|
|
|
65
68
|
"plugins": [
|
|
66
69
|
"@oclif/plugin-help"
|
|
67
70
|
],
|
|
68
|
-
"topicSeparator": " "
|
|
71
|
+
"topicSeparator": " ",
|
|
72
|
+
"topics": {
|
|
73
|
+
"composer": {
|
|
74
|
+
"description": "Sync composer.json and composer.lock between your project and WordPress"
|
|
75
|
+
},
|
|
76
|
+
"plugin": {
|
|
77
|
+
"description": "Manage WordPress.org plugins tracked in loopress.json"
|
|
78
|
+
},
|
|
79
|
+
"project": {
|
|
80
|
+
"description": "Manage WordPress project and environment configurations"
|
|
81
|
+
},
|
|
82
|
+
"snippet": {
|
|
83
|
+
"description": "Manage WordPress code snippets"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
69
86
|
},
|
|
70
87
|
"repository": {
|
|
71
88
|
"type": "git",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { checkbox } from '@inquirer/prompts';
|
|
2
|
-
import { Command } from '@oclif/core';
|
|
3
|
-
import { configManager } from '../../config/project-config.manager.js';
|
|
4
|
-
export default class RemoveEnv extends Command {
|
|
5
|
-
static description = 'Remove one or more environments from the current project';
|
|
6
|
-
static examples = ['$ lps project remove-env'];
|
|
7
|
-
async run() {
|
|
8
|
-
await this.parse(RemoveEnv);
|
|
9
|
-
const project = configManager.getCurrentProject();
|
|
10
|
-
if (!project) {
|
|
11
|
-
this.error('No project configured. Run `lps project config` first.');
|
|
12
|
-
}
|
|
13
|
-
const envs = configManager.listEnvironments(project.name);
|
|
14
|
-
if (envs.length === 0) {
|
|
15
|
-
this.error('No environments configured.');
|
|
16
|
-
}
|
|
17
|
-
const chosen = await checkbox({
|
|
18
|
-
choices: envs.map((env) => ({
|
|
19
|
-
name: `${env.isCurrent ? '●' : '○'} ${env.name.padEnd(20)} ${env.url}${env.isCurrent ? ' [current]' : ''}`,
|
|
20
|
-
value: env.name,
|
|
21
|
-
})),
|
|
22
|
-
message: 'Select environments to remove',
|
|
23
|
-
});
|
|
24
|
-
if (chosen.length === 0) {
|
|
25
|
-
this.log('Nothing removed.');
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
for (const envName of chosen) {
|
|
29
|
-
configManager.removeEnvironment(project.name, envName);
|
|
30
|
-
}
|
|
31
|
-
this.log(`✓ Removed: ${chosen.join(', ')}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { select } from '@inquirer/prompts';
|
|
2
|
-
import { Command } from '@oclif/core';
|
|
3
|
-
import { configManager } from '../../config/project-config.manager.js';
|
|
4
|
-
export default class SwitchEnv extends Command {
|
|
5
|
-
static description = 'Switch the active environment within the current project';
|
|
6
|
-
static examples = ['$ lps project switch-env'];
|
|
7
|
-
async run() {
|
|
8
|
-
await this.parse(SwitchEnv);
|
|
9
|
-
const project = configManager.getCurrentProject();
|
|
10
|
-
if (!project) {
|
|
11
|
-
this.error('No project configured. Run `lps project config` first.');
|
|
12
|
-
}
|
|
13
|
-
const envs = configManager.listEnvironments(project.name);
|
|
14
|
-
if (envs.length === 0) {
|
|
15
|
-
this.error('No environments configured for this project.');
|
|
16
|
-
}
|
|
17
|
-
if (envs.length === 1) {
|
|
18
|
-
configManager.setCurrentEnv(project.name, envs[0].name);
|
|
19
|
-
this.log(`✓ Switched to "${project.name}/${envs[0].name}"`);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const chosen = await select({
|
|
23
|
-
choices: envs.map((env) => ({
|
|
24
|
-
name: `${env.isCurrent ? '●' : '○'} ${env.name.padEnd(20)} ${env.url}${env.isCurrent ? ' [current]' : ''}`,
|
|
25
|
-
value: env.name,
|
|
26
|
-
})),
|
|
27
|
-
default: envs.find((e) => e.isCurrent)?.name,
|
|
28
|
-
message: `Select environment for "${project.name}"`,
|
|
29
|
-
});
|
|
30
|
-
configManager.setCurrentEnv(project.name, chosen);
|
|
31
|
-
this.log(`✓ Switched to "${project.name}/${chosen}"`);
|
|
32
|
-
}
|
|
33
|
-
}
|