@instawp/cli 0.0.1-beta.13 → 0.0.1-beta.15
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/CHANGELOG.md +16 -0
- package/dist/commands/snapshots.d.ts +2 -0
- package/dist/commands/snapshots.js +321 -0
- package/dist/commands/snapshots.js.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/local-env.d.ts +12 -0
- package/dist/lib/local-env.js +25 -7
- package/dist/lib/local-env.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.0.1-beta.15 (2026-06-01)
|
|
4
|
+
|
|
5
|
+
### Added — `snapshot` command (restorable site versions)
|
|
6
|
+
- New `instawp snapshot create|list|restore|delete` (alias `snapshots`) for managing **site snapshots** — InstaWP's restorable "site versions", point-in-time copies of a site's files + database. Unlike backups, a snapshot can be rolled back to **in-place**.
|
|
7
|
+
- Built for the AI-agent workflow: take a snapshot *before* letting an agent run a batch of changes, then roll back the one that broke it in a single command.
|
|
8
|
+
- `snapshot create <site> [--name <label>] [--no-wait]` — waits for the snapshot to finish by default; `--no-wait` returns as soon as it's queued.
|
|
9
|
+
- `snapshot list <site>` — ID, name, size, status, and creation date.
|
|
10
|
+
- `snapshot restore <site> <version-id> [--force] [--no-wait]` — **overwrites** the live site's files + database; prompts for confirmation unless `--force`.
|
|
11
|
+
- `snapshot delete <site> <version-id...> [--force]`.
|
|
12
|
+
- All subcommands support `--json`. Long-running create/restore poll task status with a progress spinner.
|
|
13
|
+
|
|
14
|
+
## 0.0.1-beta.14 (2026-05-28)
|
|
15
|
+
|
|
16
|
+
### Improved — clearer first-run for `local` commands
|
|
17
|
+
- When `local create/start/clone` falls back to `npx` (no global `wp-playground-cli`), the CLI now prints a one-time dim hint explaining the first-run download (~30s) and how to skip it on future runs (`npm i -g @wp-playground/cli`). Previously users just saw npm's raw download output with no context. Shown once per run, on stderr, and suppressed in `--json` mode.
|
|
18
|
+
|
|
3
19
|
## 0.0.1-beta.13 (2026-05-28)
|
|
4
20
|
|
|
5
21
|
### Fixed — `wp` / `exec` site resolution (issue #3)
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { requireAuth, getClient } from '../lib/api.js';
|
|
3
|
+
import { resolveSite } from '../lib/site-resolver.js';
|
|
4
|
+
import { success, error, table, spinner, info, isJsonMode } from '../lib/output.js';
|
|
5
|
+
/**
|
|
6
|
+
* Snapshots = InstaWP "site versions": restorable point-in-time copies of a
|
|
7
|
+
* site's files + database. Unlike backups, a snapshot can be rolled back to
|
|
8
|
+
* in-place. The intended workflow (and the reason this exists for the AI era):
|
|
9
|
+
* take a snapshot BEFORE letting an agent run a batch of changes, then roll
|
|
10
|
+
* back the one change that broke it — in one command.
|
|
11
|
+
*/
|
|
12
|
+
const POLL_INTERVAL = 3000; // 3s
|
|
13
|
+
const MAX_WAIT = 10 * 60 * 1000; // 10 min — snapshots/restores scale with site size
|
|
14
|
+
/** Poll a CloudTask until it completes, errors, or times out. */
|
|
15
|
+
async function pollTask(client, taskId, label) {
|
|
16
|
+
const spin = spinner(`${label}...`);
|
|
17
|
+
spin.start();
|
|
18
|
+
const start = Date.now();
|
|
19
|
+
while (Date.now() - start < MAX_WAIT) {
|
|
20
|
+
try {
|
|
21
|
+
const res = await client.get(`/tasks/${taskId}/status`);
|
|
22
|
+
const task = res.data?.data;
|
|
23
|
+
const pct = parseFloat(task?.percentage_complete) || 0;
|
|
24
|
+
const status = task?.status;
|
|
25
|
+
if (status === 'completed') {
|
|
26
|
+
spin.stop();
|
|
27
|
+
return 'completed';
|
|
28
|
+
}
|
|
29
|
+
if (status === 'error' || status === 'failed') {
|
|
30
|
+
spin.fail(`${label} failed`);
|
|
31
|
+
if (task?.comment)
|
|
32
|
+
error(task.comment);
|
|
33
|
+
return 'error';
|
|
34
|
+
}
|
|
35
|
+
spin.text = pct > 0 ? `${label}... ${chalk.dim(`(${Math.round(pct)}%)`)}` : `${label}...`;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Task status endpoint may not be ready yet — keep polling.
|
|
39
|
+
}
|
|
40
|
+
await new Promise((r) => setTimeout(r, POLL_INTERVAL));
|
|
41
|
+
}
|
|
42
|
+
spin.fail(`${label} timed out`);
|
|
43
|
+
return 'timeout';
|
|
44
|
+
}
|
|
45
|
+
function formatDate(value) {
|
|
46
|
+
if (!value)
|
|
47
|
+
return '';
|
|
48
|
+
const d = new Date(value);
|
|
49
|
+
if (Number.isNaN(d.getTime()))
|
|
50
|
+
return value;
|
|
51
|
+
return d.toISOString().slice(0, 16).replace('T', ' ');
|
|
52
|
+
}
|
|
53
|
+
export function registerSnapshotsCommand(program) {
|
|
54
|
+
const snapshots = program
|
|
55
|
+
.command('snapshot')
|
|
56
|
+
.aliases(['snapshots'])
|
|
57
|
+
.description('Manage site snapshots (restorable versions) — snapshot before risky changes, roll back in one command');
|
|
58
|
+
// snapshot create <site>
|
|
59
|
+
snapshots
|
|
60
|
+
.command('create <site>')
|
|
61
|
+
.description('Create a snapshot of a site (a restorable point-in-time copy)')
|
|
62
|
+
.option('--name <name>', 'Label for the snapshot (max 25 chars), e.g. "before plugin update"')
|
|
63
|
+
.option('--no-wait', 'Return immediately instead of waiting for the snapshot to finish')
|
|
64
|
+
.action(async (siteIdentifier, opts) => {
|
|
65
|
+
requireAuth();
|
|
66
|
+
const client = getClient();
|
|
67
|
+
const rspin = spinner('Resolving site...');
|
|
68
|
+
rspin.start();
|
|
69
|
+
let site;
|
|
70
|
+
try {
|
|
71
|
+
site = await resolveSite(siteIdentifier);
|
|
72
|
+
rspin.stop();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
rspin.fail('Site resolution failed');
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
const label = site.name || site.sub_domain || String(site.id);
|
|
79
|
+
const spin = spinner(`Starting snapshot of ${label}...`);
|
|
80
|
+
spin.start();
|
|
81
|
+
let versionId;
|
|
82
|
+
let taskId;
|
|
83
|
+
try {
|
|
84
|
+
const res = await client.post('/site-versions', { site_id: site.id });
|
|
85
|
+
versionId = res.data?.data?.id;
|
|
86
|
+
taskId = res.data?.data?.task_id;
|
|
87
|
+
spin.stop();
|
|
88
|
+
if (!versionId) {
|
|
89
|
+
error('Snapshot creation failed', res.data?.message || res.data);
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
spin.fail('Failed to create snapshot');
|
|
95
|
+
error('Could not create snapshot', err.response?.data?.message || err.message);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
// Optional name — the create endpoint doesn't accept one, so set it via
|
|
99
|
+
// update. The server caps names at 25 chars (longer → 422), so truncate.
|
|
100
|
+
const snapshotName = opts.name ? String(opts.name).slice(0, 25) : undefined;
|
|
101
|
+
if (snapshotName) {
|
|
102
|
+
try {
|
|
103
|
+
await client.put(`/site-versions/${versionId}`, { name: snapshotName });
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
info('Snapshot created, but naming it failed (you can rename it later).');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (!opts.wait) {
|
|
110
|
+
if (isJsonMode()) {
|
|
111
|
+
console.log(JSON.stringify({ success: true, data: { id: versionId, status: 'progress', task_id: taskId ?? null } }));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
success('Snapshot started', { id: versionId, status: 'progress' });
|
|
115
|
+
info('It will be restorable once complete. Check with: instawp snapshot list ' + label);
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (taskId) {
|
|
120
|
+
const result = await pollTask(client, taskId, 'Creating snapshot');
|
|
121
|
+
if (result !== 'completed') {
|
|
122
|
+
info(`Snapshot (ID ${versionId}) is still processing. Check with: instawp snapshot list ${label}`);
|
|
123
|
+
process.exit(result === 'error' ? 1 : 0);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (isJsonMode()) {
|
|
127
|
+
console.log(JSON.stringify({ success: true, data: { id: versionId, status: 'completed', name: snapshotName || null } }));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
success('Snapshot ready', { id: versionId, ...(snapshotName ? { name: snapshotName } : {}) });
|
|
131
|
+
info(`Roll back any time with: instawp snapshot restore ${label} ${versionId}`);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
// snapshot list <site>
|
|
135
|
+
snapshots
|
|
136
|
+
.command('list <site>')
|
|
137
|
+
.description('List a site\'s snapshots (most recent first)')
|
|
138
|
+
.action(async (siteIdentifier) => {
|
|
139
|
+
requireAuth();
|
|
140
|
+
const client = getClient();
|
|
141
|
+
const rspin = spinner('Resolving site...');
|
|
142
|
+
rspin.start();
|
|
143
|
+
let site;
|
|
144
|
+
try {
|
|
145
|
+
site = await resolveSite(siteIdentifier);
|
|
146
|
+
rspin.stop();
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
rspin.fail('Site resolution failed');
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
const spin = spinner('Fetching snapshots...');
|
|
153
|
+
spin.start();
|
|
154
|
+
try {
|
|
155
|
+
const res = await client.get('/site-versions', { params: { site_id: site.id, per_page: 100 } });
|
|
156
|
+
const versions = res.data?.data || [];
|
|
157
|
+
spin.stop();
|
|
158
|
+
if (versions.length === 0) {
|
|
159
|
+
if (isJsonMode()) {
|
|
160
|
+
console.log(JSON.stringify([]));
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
info('No snapshots yet. Create one with: instawp snapshot create ' + (site.name || site.id));
|
|
164
|
+
}
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const rows = versions.map((v) => ({
|
|
168
|
+
id: v.id,
|
|
169
|
+
name: v.name || chalk.dim('(unnamed)'),
|
|
170
|
+
size: v.size_mb != null ? `${v.size_mb} MB` : '',
|
|
171
|
+
status: v.status === 'completed' ? chalk.green('completed') : v.status === 'progress' ? chalk.yellow('in progress') : (v.status || ''),
|
|
172
|
+
created: formatDate(v.created_at),
|
|
173
|
+
}));
|
|
174
|
+
table(['ID', 'Name', 'Size', 'Status', 'Created'], rows);
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
spin.fail('Failed to fetch snapshots');
|
|
178
|
+
error('Could not list snapshots', err.response?.data?.message || err.message);
|
|
179
|
+
process.exit(1);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
// snapshot restore <site> <version-id>
|
|
183
|
+
snapshots
|
|
184
|
+
.command('restore <site> <version-id>')
|
|
185
|
+
.description('Roll a site back to a snapshot — OVERWRITES current files and database')
|
|
186
|
+
.option('--force', 'Skip confirmation')
|
|
187
|
+
.option('--no-wait', 'Return immediately instead of waiting for the restore to finish')
|
|
188
|
+
.action(async (siteIdentifier, versionId, opts) => {
|
|
189
|
+
requireAuth();
|
|
190
|
+
const client = getClient();
|
|
191
|
+
const rspin = spinner('Resolving site...');
|
|
192
|
+
rspin.start();
|
|
193
|
+
let site;
|
|
194
|
+
try {
|
|
195
|
+
site = await resolveSite(siteIdentifier);
|
|
196
|
+
rspin.stop();
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
rspin.fail('Site resolution failed');
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
const label = site.name || site.sub_domain || String(site.id);
|
|
203
|
+
if (!opts.force) {
|
|
204
|
+
if (isJsonMode()) {
|
|
205
|
+
error('Use --force to restore in JSON mode (this overwrites the live site)');
|
|
206
|
+
process.exit(1);
|
|
207
|
+
}
|
|
208
|
+
const readline = await import('node:readline');
|
|
209
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
210
|
+
const answer = await new Promise((resolve) => {
|
|
211
|
+
rl.question(`Restore "${label}" to snapshot ${versionId}? This OVERWRITES the current files and database and cannot be undone. (y/N) `, resolve);
|
|
212
|
+
});
|
|
213
|
+
rl.close();
|
|
214
|
+
if (answer.toLowerCase() !== 'y') {
|
|
215
|
+
info('Cancelled.');
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const spin = spinner(`Starting restore of ${label}...`);
|
|
220
|
+
spin.start();
|
|
221
|
+
let taskId;
|
|
222
|
+
try {
|
|
223
|
+
const res = await client.put(`/sites/${site.id}/restore-versions/${versionId}`);
|
|
224
|
+
taskId = res.data?.data?.task_id;
|
|
225
|
+
spin.stop();
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
spin.fail('Failed to start restore');
|
|
229
|
+
error('Could not restore snapshot', err.response?.data?.message || err.message);
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
if (!opts.wait) {
|
|
233
|
+
if (isJsonMode()) {
|
|
234
|
+
console.log(JSON.stringify({ success: true, data: { site_id: site.id, version_id: Number(versionId), status: 'restoring', task_id: taskId ?? null } }));
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
success('Restore started', { site: label, snapshot: versionId });
|
|
238
|
+
info('The site will be back shortly. Check with: instawp sites list');
|
|
239
|
+
}
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (taskId) {
|
|
243
|
+
const result = await pollTask(client, taskId, 'Restoring snapshot');
|
|
244
|
+
if (result !== 'completed') {
|
|
245
|
+
info('Restore is still processing. The site will update once it finishes.');
|
|
246
|
+
process.exit(result === 'error' ? 1 : 0);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
if (isJsonMode()) {
|
|
250
|
+
console.log(JSON.stringify({ success: true, data: { site_id: site.id, version_id: Number(versionId), status: 'completed' } }));
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
success(`"${label}" restored to snapshot ${versionId}`);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
// snapshot delete <site> <version-id...>
|
|
257
|
+
snapshots
|
|
258
|
+
.command('delete <site> <version-ids...>')
|
|
259
|
+
.description('Delete one or more snapshots')
|
|
260
|
+
.option('--force', 'Skip confirmation')
|
|
261
|
+
.action(async (siteIdentifier, versionIds, opts) => {
|
|
262
|
+
requireAuth();
|
|
263
|
+
const client = getClient();
|
|
264
|
+
const rspin = spinner('Resolving site...');
|
|
265
|
+
rspin.start();
|
|
266
|
+
let site;
|
|
267
|
+
try {
|
|
268
|
+
site = await resolveSite(siteIdentifier);
|
|
269
|
+
rspin.stop();
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
rspin.fail('Site resolution failed');
|
|
273
|
+
process.exit(1);
|
|
274
|
+
}
|
|
275
|
+
const label = site.name || site.sub_domain || String(site.id);
|
|
276
|
+
const ids = versionIds.map((v) => parseInt(v, 10)).filter((n) => !Number.isNaN(n));
|
|
277
|
+
if (ids.length === 0) {
|
|
278
|
+
error('No valid snapshot IDs provided');
|
|
279
|
+
process.exit(1);
|
|
280
|
+
}
|
|
281
|
+
if (!opts.force) {
|
|
282
|
+
if (isJsonMode()) {
|
|
283
|
+
error('Use --force to delete in JSON mode');
|
|
284
|
+
process.exit(1);
|
|
285
|
+
}
|
|
286
|
+
const readline = await import('node:readline');
|
|
287
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
288
|
+
const answer = await new Promise((resolve) => {
|
|
289
|
+
rl.question(`Delete ${ids.length} snapshot(s) [${ids.join(', ')}] of "${label}"? (y/N) `, resolve);
|
|
290
|
+
});
|
|
291
|
+
rl.close();
|
|
292
|
+
if (answer.toLowerCase() !== 'y') {
|
|
293
|
+
info('Cancelled.');
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
const spin = spinner('Deleting snapshot(s)...');
|
|
298
|
+
spin.start();
|
|
299
|
+
try {
|
|
300
|
+
const res = await client.delete('/site-versions', { data: { ids } });
|
|
301
|
+
const data = res.data?.data || {};
|
|
302
|
+
const successIds = data.success_ids || [];
|
|
303
|
+
const failedIds = data.failed_ids || [];
|
|
304
|
+
spin.stop();
|
|
305
|
+
if (isJsonMode()) {
|
|
306
|
+
console.log(JSON.stringify({ success: true, data: { success_ids: successIds, failed_ids: failedIds } }));
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
if (successIds.length)
|
|
310
|
+
success(`Deleted snapshot(s): ${successIds.join(', ')}`);
|
|
311
|
+
if (failedIds.length)
|
|
312
|
+
error(`Failed to delete: ${failedIds.join(', ')}`);
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
spin.fail('Failed to delete snapshot(s)');
|
|
316
|
+
error('Could not delete snapshots', err.response?.data?.message || err.message);
|
|
317
|
+
process.exit(1);
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=snapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/commands/snapshots.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { setJsonMode } from './lib/output.js';
|
|
|
6
6
|
import { registerLoginCommand } from './commands/login.js';
|
|
7
7
|
import { registerWhoamiCommand } from './commands/whoami.js';
|
|
8
8
|
import { registerSitesCommand, registerCreateAlias } from './commands/sites.js';
|
|
9
|
+
import { registerSnapshotsCommand } from './commands/snapshots.js';
|
|
9
10
|
import { registerSyncCommand } from './commands/sync.js';
|
|
10
11
|
import { registerSshCommand } from './commands/ssh.js';
|
|
11
12
|
import { registerExecCommand, registerWpCommand } from './commands/exec.js';
|
|
@@ -35,6 +36,7 @@ registerWhoamiCommand(program);
|
|
|
35
36
|
// -- Sites --
|
|
36
37
|
registerSitesCommand(program);
|
|
37
38
|
registerCreateAlias(program);
|
|
39
|
+
registerSnapshotsCommand(program);
|
|
38
40
|
// -- Remote access --
|
|
39
41
|
registerWpCommand(program);
|
|
40
42
|
registerExecCommand(program);
|
|
@@ -86,6 +88,12 @@ ${d('Sites')}
|
|
|
86
88
|
${c('sites delete')} Delete a site
|
|
87
89
|
${c('open')} ${d('<site>')} Open site (or --admin / --magic) in browser
|
|
88
90
|
|
|
91
|
+
${d('Snapshots')} ${d('(restorable site versions)')}
|
|
92
|
+
${c('snapshot create')} Snapshot a site before risky changes
|
|
93
|
+
${c('snapshot list')} List a site's snapshots
|
|
94
|
+
${c('snapshot restore')} Roll a site back to a snapshot
|
|
95
|
+
${c('snapshot delete')} Delete snapshots
|
|
96
|
+
|
|
89
97
|
${d('Remote Access')}
|
|
90
98
|
${c('wp')} ${d('<site>')} ${d('<args>')} WP-CLI on a remote site (primary)
|
|
91
99
|
${c('ssh')} ${d('<site>')} Interactive SSH session
|
|
@@ -115,6 +123,8 @@ ${d('Examples')}
|
|
|
115
123
|
$ instawp local create --name blog
|
|
116
124
|
$ instawp wp my-site plugin list
|
|
117
125
|
$ instawp wp my-site -- post list --post_type=page
|
|
126
|
+
$ instawp snapshot create my-site --name "before plugin update"
|
|
127
|
+
$ instawp snapshot restore my-site 1234
|
|
118
128
|
$ instawp open my-site --admin
|
|
119
129
|
$ instawp db pull my-site
|
|
120
130
|
$ instawp logs my-site --follow
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,0DAA0D;AAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,6EAA6E;IAC7E,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,mEAAmE,CAAC;KAChF,OAAO,CAAC,OAAO,CAAC;KAChB,uBAAuB,EAAE;KACzB,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;AAE9C,aAAa;AACb,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,cAAc;AACd,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/local-env.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import type { LocalInstance } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Returns [command, prefixArgs, usingNpx] for running wp-playground-cli.
|
|
4
|
+
* Prefers the global binary (faster) over npx (slower, downloads on first run).
|
|
5
|
+
*/
|
|
6
|
+
export declare function getPlaygroundCommand(): [string, string[], boolean];
|
|
7
|
+
/** Test-only: reset the once-per-process hint guard. */
|
|
8
|
+
export declare function _resetNpxHint(): void;
|
|
9
|
+
/**
|
|
10
|
+
* One-time, dim hint shown when falling back to npx (no global binary). Explains
|
|
11
|
+
* the first-run download and how to skip it. Suppressed in --json mode.
|
|
12
|
+
*/
|
|
13
|
+
export declare function maybeShowNpxHint(usingNpx: boolean): void;
|
|
2
14
|
export declare function getLocalBaseDir(): string;
|
|
3
15
|
export declare function getInstanceDir(name: string): string;
|
|
4
16
|
/**
|
package/dist/lib/local-env.js
CHANGED
|
@@ -7,20 +7,36 @@ import { closeSync, existsSync, mkdirSync, openSync, readFileSync, readdirSync,
|
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import { homedir } from 'node:os';
|
|
9
9
|
import net from 'node:net';
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
import { isJsonMode } from './output.js';
|
|
10
12
|
const LOCAL_BASE_DIR = join(homedir(), '.instawp', 'local');
|
|
11
13
|
const DEFAULT_PORT_START = 9400;
|
|
12
14
|
/**
|
|
13
|
-
* Returns [command, prefixArgs] for running wp-playground-cli.
|
|
14
|
-
* Prefers the global binary (faster) over npx (slower).
|
|
15
|
+
* Returns [command, prefixArgs, usingNpx] for running wp-playground-cli.
|
|
16
|
+
* Prefers the global binary (faster) over npx (slower, downloads on first run).
|
|
15
17
|
*/
|
|
16
|
-
function getPlaygroundCommand() {
|
|
18
|
+
export function getPlaygroundCommand() {
|
|
17
19
|
// Check for globally installed binary first (0.7s vs 1.4s npx overhead)
|
|
18
20
|
const cmd = process.platform === 'win32' ? 'where' : 'which';
|
|
19
21
|
const result = spawnSync(cmd, ['wp-playground-cli'], { stdio: 'pipe' });
|
|
20
22
|
if (result.status === 0) {
|
|
21
|
-
return ['wp-playground-cli', []];
|
|
23
|
+
return ['wp-playground-cli', [], false];
|
|
22
24
|
}
|
|
23
|
-
return ['npx', ['--yes', '@wp-playground/cli']];
|
|
25
|
+
return ['npx', ['--yes', '@wp-playground/cli'], true];
|
|
26
|
+
}
|
|
27
|
+
let npxHintShown = false;
|
|
28
|
+
/** Test-only: reset the once-per-process hint guard. */
|
|
29
|
+
export function _resetNpxHint() { npxHintShown = false; }
|
|
30
|
+
/**
|
|
31
|
+
* One-time, dim hint shown when falling back to npx (no global binary). Explains
|
|
32
|
+
* the first-run download and how to skip it. Suppressed in --json mode.
|
|
33
|
+
*/
|
|
34
|
+
export function maybeShowNpxHint(usingNpx) {
|
|
35
|
+
if (!usingNpx || npxHintShown || isJsonMode())
|
|
36
|
+
return;
|
|
37
|
+
npxHintShown = true;
|
|
38
|
+
process.stderr.write(chalk.dim('# WordPress Playground not found globally — using npx (downloads once, may take ~30s).\n') +
|
|
39
|
+
chalk.dim('# Tip: npm i -g @wp-playground/cli to skip this on future runs.\n'));
|
|
24
40
|
}
|
|
25
41
|
export function getLocalBaseDir() {
|
|
26
42
|
return LOCAL_BASE_DIR;
|
|
@@ -183,7 +199,8 @@ function buildServerArgs(instance, blueprint) {
|
|
|
183
199
|
*/
|
|
184
200
|
export function startServer(instance, opts) {
|
|
185
201
|
const args = buildServerArgs(instance, opts?.blueprint);
|
|
186
|
-
const [cmd, prefixArgs] = getPlaygroundCommand();
|
|
202
|
+
const [cmd, prefixArgs, usingNpx] = getPlaygroundCommand();
|
|
203
|
+
maybeShowNpxHint(usingNpx);
|
|
187
204
|
return new Promise((resolve, reject) => {
|
|
188
205
|
const child = spawn(cmd, [...prefixArgs, ...args], {
|
|
189
206
|
stdio: ['inherit', 'pipe', 'pipe'],
|
|
@@ -228,7 +245,8 @@ export function startServer(instance, opts) {
|
|
|
228
245
|
*/
|
|
229
246
|
export async function startServerBackground(instance, blueprint) {
|
|
230
247
|
const args = buildServerArgs(instance, blueprint);
|
|
231
|
-
const [cmd, prefixArgs] = getPlaygroundCommand();
|
|
248
|
+
const [cmd, prefixArgs, usingNpx] = getPlaygroundCommand();
|
|
249
|
+
maybeShowNpxHint(usingNpx);
|
|
232
250
|
const logFile = join(instance.path, 'server.log');
|
|
233
251
|
const pidFile = join(instance.path, 'server.pid');
|
|
234
252
|
// Spawn fully detached with output to log file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-env.js","sourceRoot":"","sources":["../../src/lib/local-env.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-env.js","sourceRoot":"","sources":["../../src/lib/local-env.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -52,6 +52,16 @@ export interface SiteDetails {
|
|
|
52
52
|
server_username?: string;
|
|
53
53
|
main_domain?: string;
|
|
54
54
|
}
|
|
55
|
+
export interface SiteVersion {
|
|
56
|
+
id: number;
|
|
57
|
+
name: string | null;
|
|
58
|
+
site_id: number;
|
|
59
|
+
status: string;
|
|
60
|
+
size_mb?: number;
|
|
61
|
+
file_size_mb?: number;
|
|
62
|
+
db_size_mb?: number;
|
|
63
|
+
created_at?: string;
|
|
64
|
+
}
|
|
55
65
|
export interface SshKeyInfo {
|
|
56
66
|
id: number;
|
|
57
67
|
label: string;
|