@oktis-works/cms 0.2.0 → 0.3.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/dist/assets.d.ts +23 -6
- package/dist/assets.d.ts.map +1 -1
- package/dist/assets.js +262 -87
- package/dist/assets.js.map +1 -1
- package/dist/bluegreen.d.ts.map +1 -1
- package/dist/bluegreen.js +75 -52
- package/dist/bluegreen.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +269 -131
- package/dist/commands.js.map +1 -1
- package/dist/config-wizard.js +34 -36
- package/dist/config-wizard.js.map +1 -1
- package/dist/deploy-target.d.ts +20 -0
- package/dist/deploy-target.d.ts.map +1 -0
- package/dist/deploy-target.js +90 -0
- package/dist/deploy-target.js.map +1 -0
- package/dist/deploy.d.ts +20 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +154 -0
- package/dist/deploy.js.map +1 -0
- package/dist/docker.d.ts +16 -0
- package/dist/docker.d.ts.map +1 -1
- package/dist/docker.js +25 -0
- package/dist/docker.js.map +1 -1
- package/dist/docs-updater.d.ts +10 -0
- package/dist/docs-updater.d.ts.map +1 -0
- package/dist/docs-updater.js +45 -0
- package/dist/docs-updater.js.map +1 -0
- package/dist/doctor.js +12 -12
- package/dist/doctor.js.map +1 -1
- package/dist/env-file.js +1 -1
- package/dist/env-file.js.map +1 -1
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +64 -64
- package/dist/env-schema.js.map +1 -1
- package/dist/extension-scaffold.js +5 -5
- package/dist/extension-scaffold.js.map +1 -1
- package/dist/guards.js +8 -8
- package/dist/guards.js.map +1 -1
- package/dist/history.d.ts +48 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +104 -0
- package/dist/history.js.map +1 -0
- package/dist/installer.js +9 -9
- package/dist/installer.js.map +1 -1
- package/dist/npm-registry.js +1 -1
- package/dist/npm-registry.js.map +1 -1
- package/dist/pm2.d.ts +18 -0
- package/dist/pm2.d.ts.map +1 -0
- package/dist/pm2.js +179 -0
- package/dist/pm2.js.map +1 -0
- package/dist/project-config.js +1 -1
- package/dist/project-config.js.map +1 -1
- package/dist/prompt.d.ts +27 -4
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +254 -29
- package/dist/prompt.js.map +1 -1
- package/dist/redeploy.d.ts +6 -1
- package/dist/redeploy.d.ts.map +1 -1
- package/dist/redeploy.js +137 -74
- package/dist/redeploy.js.map +1 -1
- package/dist/rollback.d.ts +15 -0
- package/dist/rollback.d.ts.map +1 -0
- package/dist/rollback.js +170 -0
- package/dist/rollback.js.map +1 -0
- package/dist/scaffold-docs.d.ts +5 -0
- package/dist/scaffold-docs.d.ts.map +1 -1
- package/dist/scaffold-docs.js +61 -19
- package/dist/scaffold-docs.js.map +1 -1
- package/dist/scaffold.d.ts +3 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +25 -16
- package/dist/scaffold.js.map +1 -1
- package/dist/simple.d.ts +31 -0
- package/dist/simple.d.ts.map +1 -0
- package/dist/simple.js +200 -0
- package/dist/simple.js.map +1 -0
- package/dist/start.js +1 -1
- package/dist/theme-build.js +3 -3
- package/dist/theme-build.js.map +1 -1
- package/dist/update.d.ts +23 -15
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +211 -66
- package/dist/update.js.map +1 -1
- package/package.json +7 -7
package/dist/redeploy.js
CHANGED
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
// @oktis-works/cms - `okcms redeploy` (F4)
|
|
2
2
|
//
|
|
3
|
-
//
|
|
3
|
+
// Installing a plugin/theme on the host still does not change what is running:
|
|
4
4
|
//
|
|
5
|
-
// plugins
|
|
6
|
-
// `.dockerignore`
|
|
7
|
-
//
|
|
5
|
+
// plugins and themes enter the image through the Dockerfile `COPY . .` (the
|
|
6
|
+
// `.dockerignore` keeps them on purpose) — without a rebuild the container
|
|
7
|
+
// keeps serving the old copy;
|
|
8
8
|
//
|
|
9
|
-
// `themes/<n>/dist/theme.css`
|
|
10
|
-
//
|
|
9
|
+
// `themes/<n>/dist/theme.css` only exists if the style build ran on the
|
|
10
|
+
// host: the web app links that ready file, it is not compiled inside the
|
|
11
|
+
// container;
|
|
11
12
|
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
// (`V###
|
|
13
|
+
// a plugin that touches the database ships SQL in `plugins/<n>/migrations/`,
|
|
14
|
+
// which must reach `migrations/` for `db:migrate` to apply it — the runner
|
|
15
|
+
// reads ONE directory and classifies as PLUGIN every owner that is not
|
|
16
|
+
// `core` (`V###__owner__name.sql`, tracked as `owner:version`).
|
|
16
17
|
//
|
|
17
|
-
// Redeploy =
|
|
18
|
-
//
|
|
19
|
-
//
|
|
18
|
+
// Redeploy = prepare on the host (SQL staging + theme build) and then hand the
|
|
19
|
+
// switch to the chosen target — blue/green lanes, the simple stack or PM2 —
|
|
20
|
+
// always without `bun add`: what changed is extension content, not a package
|
|
21
|
+
// version.
|
|
20
22
|
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
23
|
+
// Order and guarantees are the normal deploy's: a preparation failure = no
|
|
24
|
+
// build and no switch; a deploy failure = rollback, and the lane that was
|
|
25
|
+
// serving keeps serving.
|
|
24
26
|
import { copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync } from 'node:fs';
|
|
25
27
|
import { dirname, join } from 'node:path';
|
|
26
28
|
import { deployBlueGreen } from './bluegreen.js';
|
|
29
|
+
import { deploySimple } from './simple.js';
|
|
30
|
+
import { deployPm2 } from './pm2.js';
|
|
31
|
+
import { resolveTarget, saveTarget } from './deploy-target.js';
|
|
27
32
|
import { assertHostOnly } from './guards.js';
|
|
28
33
|
import { loadProjectConfig } from './project-config.js';
|
|
29
34
|
import { Prompt } from './prompt.js';
|
|
@@ -116,7 +121,7 @@ export function planRedeploy(opts = {}) {
|
|
|
116
121
|
output: 'dist/theme.css',
|
|
117
122
|
entry: null,
|
|
118
123
|
status: 'invalid-manifest',
|
|
119
|
-
problems: ['
|
|
124
|
+
problems: ['manifest is not valid JSON'],
|
|
120
125
|
});
|
|
121
126
|
continue;
|
|
122
127
|
}
|
|
@@ -125,7 +130,7 @@ export function planRedeploy(opts = {}) {
|
|
|
125
130
|
const problems = [];
|
|
126
131
|
if (typeof resolved.manifest['name'] !== 'string' ||
|
|
127
132
|
typeof resolved.manifest['version'] !== 'string') {
|
|
128
|
-
problems.push('
|
|
133
|
+
problems.push('manifest without "name" and/or "version"');
|
|
129
134
|
}
|
|
130
135
|
problems.push(...resolved.report.errors);
|
|
131
136
|
const { report } = resolved;
|
|
@@ -170,60 +175,70 @@ export function stagePluginMigrations(plan) {
|
|
|
170
175
|
}
|
|
171
176
|
return result;
|
|
172
177
|
}
|
|
173
|
-
/**
|
|
178
|
+
/** Redeploy summary lines — pure, for `--dry-run` and for the tests. */
|
|
174
179
|
export function renderPlan(plan, opts = {}) {
|
|
175
180
|
const lines = [];
|
|
176
|
-
lines.push(`plugins: ${plan.plugins.length > 0 ? plan.plugins.join(', ') : '
|
|
177
|
-
lines.push(`
|
|
181
|
+
lines.push(`plugins: ${plan.plugins.length > 0 ? plan.plugins.join(', ') : 'none'}`);
|
|
182
|
+
lines.push(`themes: ${plan.themes.length > 0 ? plan.themes.join(', ') : 'none'}`);
|
|
178
183
|
if (opts.skipMigrations) {
|
|
179
|
-
lines.push('migrations
|
|
184
|
+
lines.push('plugin migrations: skipped (--skip-migrations)');
|
|
180
185
|
}
|
|
181
186
|
else if (plan.migrations.length === 0) {
|
|
182
|
-
lines.push('migrations
|
|
187
|
+
lines.push('plugin migrations: none');
|
|
183
188
|
}
|
|
184
189
|
else {
|
|
185
|
-
lines.push('migrations
|
|
190
|
+
lines.push('plugin migrations (plugins/*/migrations → migrations/):');
|
|
186
191
|
for (const entry of plan.migrations) {
|
|
187
192
|
const who = `${entry.plugin}: ${entry.file}`;
|
|
188
193
|
if (entry.status === 'new')
|
|
189
|
-
lines.push(` + ${who} → migrations/ (
|
|
194
|
+
lines.push(` + ${who} → migrations/ (new)`);
|
|
190
195
|
else if (entry.status === 'staged')
|
|
191
|
-
lines.push(` = ${who} (
|
|
196
|
+
lines.push(` = ${who} (already in migrations/)`);
|
|
192
197
|
else if (entry.status === 'conflict')
|
|
193
|
-
lines.push(` ! ${who}
|
|
198
|
+
lines.push(` ! ${who} differs from migrations/ — project copy kept`);
|
|
194
199
|
else
|
|
195
|
-
lines.push(` ! ${who}
|
|
200
|
+
lines.push(` ! ${who} does not match V###__owner__name.sql — not copied`);
|
|
196
201
|
}
|
|
197
202
|
}
|
|
198
203
|
if (opts.skipThemeBuild) {
|
|
199
|
-
lines.push('build
|
|
204
|
+
lines.push('theme build: skipped (--skip-theme-build)');
|
|
200
205
|
}
|
|
201
206
|
else if (plan.themeBuilds.length === 0) {
|
|
202
|
-
lines.push('build
|
|
207
|
+
lines.push('theme build: no theme installed');
|
|
203
208
|
}
|
|
204
209
|
else {
|
|
205
|
-
lines.push('build
|
|
210
|
+
lines.push('theme build:');
|
|
206
211
|
for (const entry of plan.themeBuilds) {
|
|
207
212
|
if (entry.status === 'build') {
|
|
208
213
|
lines.push(` ✓ ${entry.theme} — ${entry.engine} → ${entry.output}`);
|
|
209
214
|
}
|
|
210
215
|
else if (entry.status === 'no-entry') {
|
|
211
|
-
lines.push(` - ${entry.theme} —
|
|
216
|
+
lines.push(` - ${entry.theme} — no style entry (${entry.engine})`);
|
|
212
217
|
}
|
|
213
218
|
else if (entry.status === 'missing-manifest') {
|
|
214
|
-
lines.push(` ! ${entry.theme} —
|
|
219
|
+
lines.push(` ! ${entry.theme} — no theme.json`);
|
|
215
220
|
}
|
|
216
221
|
else {
|
|
217
|
-
lines.push(` ! ${entry.theme} — manifest
|
|
222
|
+
lines.push(` ! ${entry.theme} — manifest rejected: ${entry.problems.join('; ')}`);
|
|
218
223
|
}
|
|
219
224
|
}
|
|
220
225
|
}
|
|
221
226
|
for (const file of plan.invalidExisting) {
|
|
222
|
-
lines.push(` ! migrations/${file}
|
|
227
|
+
lines.push(` ! migrations/${file} does not match V###__owner__name.sql — breaks every db:migrate`);
|
|
223
228
|
}
|
|
224
|
-
lines.push(
|
|
229
|
+
lines.push(orderLine(opts.target ?? 'blue-green'));
|
|
225
230
|
return lines;
|
|
226
231
|
}
|
|
232
|
+
/** The deploy order for the chosen target (the plan's last line). */
|
|
233
|
+
function orderLine(target) {
|
|
234
|
+
if (target === 'pm2') {
|
|
235
|
+
return 'order: stage on host → migrations → pm2 startOrReload';
|
|
236
|
+
}
|
|
237
|
+
if (target === 'simple') {
|
|
238
|
+
return 'order: stage on host → build image → migrations → up -d → proxy → health';
|
|
239
|
+
}
|
|
240
|
+
return 'order: stage on host → build image → migrations → health → swap → worker → down';
|
|
241
|
+
}
|
|
227
242
|
export async function runRedeploy(opts = {}) {
|
|
228
243
|
const prompt = opts.prompt ?? new Prompt();
|
|
229
244
|
const ownsPrompt = opts.prompt === undefined;
|
|
@@ -239,7 +254,7 @@ export async function runRedeploy(opts = {}) {
|
|
|
239
254
|
return 1;
|
|
240
255
|
}
|
|
241
256
|
const onInterrupt = () => {
|
|
242
|
-
prompt.write(`\n
|
|
257
|
+
prompt.write(`\n interrupted — no lane switch in progress was recorded.\n`);
|
|
243
258
|
process.exit(130);
|
|
244
259
|
};
|
|
245
260
|
process.once('SIGINT', onInterrupt);
|
|
@@ -248,48 +263,64 @@ export async function runRedeploy(opts = {}) {
|
|
|
248
263
|
const config = loadProjectConfig(cwd);
|
|
249
264
|
const themesDir = join(cwd, config.themesDir);
|
|
250
265
|
if (opts.plugin && !plan.plugins.includes(opts.plugin)) {
|
|
251
|
-
prompt.error(`plugin
|
|
252
|
-
prompt.info(`
|
|
266
|
+
prompt.error(`plugin not found: ${opts.plugin}`);
|
|
267
|
+
prompt.info(`installed: ${plan.plugins.join(', ') || 'none'}`);
|
|
253
268
|
return 1;
|
|
254
269
|
}
|
|
255
270
|
if (opts.theme && !plan.themes.includes(opts.theme)) {
|
|
256
|
-
prompt.error(`
|
|
257
|
-
prompt.info(`
|
|
271
|
+
prompt.error(`theme not found: ${opts.theme}`);
|
|
272
|
+
prompt.info(`installed: ${plan.themes.join(', ') || 'none'}`);
|
|
273
|
+
return 1;
|
|
274
|
+
}
|
|
275
|
+
// ---- deploy target (arrow menu, last choice remembered) ---------------
|
|
276
|
+
let target;
|
|
277
|
+
try {
|
|
278
|
+
target = await resolveTarget({ cwd, target: opts.target, yes: opts.yes }, prompt);
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
prompt.error(error instanceof Error ? error.message : String(error));
|
|
258
282
|
return 1;
|
|
259
283
|
}
|
|
260
284
|
prompt.heading('OkCMS redeploy');
|
|
261
|
-
for (const line of renderPlan(plan, opts))
|
|
285
|
+
for (const line of renderPlan(plan, { ...opts, target }))
|
|
262
286
|
write(`${line}\n`);
|
|
263
|
-
// `.sql`
|
|
264
|
-
//
|
|
287
|
+
// A stray `.sql` in migrations/ breaks step 5 of the deploy (`db:migrate`).
|
|
288
|
+
// Failing here beats failing in the middle of a blue/green switch.
|
|
265
289
|
if (plan.invalidExisting.length > 0) {
|
|
266
|
-
prompt.error(`${plan.invalidExisting.length}
|
|
267
|
-
`V###
|
|
290
|
+
prompt.error(`${plan.invalidExisting.length} file(s) in migrations/ do not match ` +
|
|
291
|
+
`V###__owner__name.sql — db:migrate would fail. Rename or remove them.`);
|
|
268
292
|
return 1;
|
|
269
293
|
}
|
|
270
294
|
if (opts.dryRun) {
|
|
271
|
-
prompt.info('dry-run:
|
|
295
|
+
prompt.info('dry-run: nothing was executed.');
|
|
272
296
|
return 0;
|
|
273
297
|
}
|
|
274
|
-
const choices = await resolveDeployChoices(opts, prompt);
|
|
298
|
+
const choices = await resolveDeployChoices(opts, prompt, target);
|
|
275
299
|
const interactive = prompt.interactive && opts.yes !== true;
|
|
276
300
|
if (interactive) {
|
|
277
|
-
prompt.heading(
|
|
278
|
-
prompt.info(`stage: ${plan.migrations.filter((m) => m.status === 'new').length} migration(s)
|
|
279
|
-
prompt.info(`build
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
301
|
+
prompt.heading(`Redeploy summary — ${target}`);
|
|
302
|
+
prompt.info(`stage: ${plan.migrations.filter((m) => m.status === 'new').length} plugin migration(s)`);
|
|
303
|
+
prompt.info(`style build: ${plan.themeBuilds.filter((t) => t.status === 'build').length} theme(s)`);
|
|
304
|
+
if (target === 'pm2') {
|
|
305
|
+
prompt.info('host: PM2 startOrReload (no docker build)');
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
prompt.info(`image: ${choices.noCache ? 'no cache' : 'layer cache'}`);
|
|
309
|
+
if (target === 'blue-green') {
|
|
310
|
+
prompt.info(`old lane orphans: ${choices.removeOrphans ? 'remove' : 'keep'}`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const confirmed = await prompt.confirm('Start the redeploy?', { defaultValue: true });
|
|
283
314
|
if (!confirmed) {
|
|
284
|
-
prompt.warn('
|
|
315
|
+
prompt.warn('cancelled — nothing was executed.');
|
|
285
316
|
return 0;
|
|
286
317
|
}
|
|
287
318
|
}
|
|
288
|
-
// ----
|
|
319
|
+
// ---- plugin migrations staging ----------------------------------------
|
|
289
320
|
if (opts.skipMigrations) {
|
|
290
321
|
const pending = plan.migrations.filter((m) => m.status === 'new').length;
|
|
291
322
|
if (pending > 0) {
|
|
292
|
-
prompt.warn(`${pending} migration(s)
|
|
323
|
+
prompt.warn(`${pending} plugin migration(s) not copied (--skip-migrations).`);
|
|
293
324
|
}
|
|
294
325
|
}
|
|
295
326
|
else {
|
|
@@ -297,18 +328,18 @@ export async function runRedeploy(opts = {}) {
|
|
|
297
328
|
for (const item of staged.copied)
|
|
298
329
|
write(` + migrations: ${item}\n`);
|
|
299
330
|
if (staged.copied.length > 0) {
|
|
300
|
-
prompt.success(`${staged.copied.length} migration(s)
|
|
331
|
+
prompt.success(`${staged.copied.length} plugin migration(s) staged in migrations/`);
|
|
301
332
|
}
|
|
302
333
|
for (const item of staged.conflicts)
|
|
303
|
-
prompt.warn(`
|
|
334
|
+
prompt.warn(`conflict (project copy kept): ${item}`);
|
|
304
335
|
for (const item of staged.invalid)
|
|
305
|
-
prompt.warn(`
|
|
336
|
+
prompt.warn(`off-pattern, not copied: ${item}`);
|
|
306
337
|
}
|
|
307
|
-
// ----
|
|
338
|
+
// ---- theme style build -------------------------------------------------
|
|
308
339
|
const toBuild = plan.themeBuilds.filter((entry) => entry.status === 'build');
|
|
309
340
|
if (opts.skipThemeBuild) {
|
|
310
341
|
if (toBuild.length > 0) {
|
|
311
|
-
prompt.warn(`${toBuild.length}
|
|
342
|
+
prompt.warn(`${toBuild.length} theme(s) without a style build (--skip-theme-build).`);
|
|
312
343
|
}
|
|
313
344
|
}
|
|
314
345
|
else {
|
|
@@ -317,40 +348,72 @@ export async function runRedeploy(opts = {}) {
|
|
|
317
348
|
const outcome = await buildThemeStylesOnDisk(themesDir, entry.theme);
|
|
318
349
|
for (const warning of outcome.warnings)
|
|
319
350
|
prompt.warn(`${entry.theme}: ${warning}`);
|
|
320
|
-
write(` ✓
|
|
351
|
+
write(` ✓ theme ${outcome.theme}: ${outcome.engine} → ${outcome.output} ` +
|
|
321
352
|
`(${outcome.bytes} bytes, isolated=${outcome.isolated})\n`);
|
|
322
353
|
}
|
|
323
354
|
catch (error) {
|
|
324
|
-
prompt.error(`build
|
|
325
|
-
prompt.warn('
|
|
355
|
+
prompt.error(`theme build failed for ${entry.theme}: ${error instanceof Error ? error.message : String(error)}`);
|
|
356
|
+
prompt.warn('nothing was built or switched — the current stack keeps serving.');
|
|
326
357
|
return 1;
|
|
327
358
|
}
|
|
328
359
|
}
|
|
329
360
|
for (const entry of plan.themeBuilds) {
|
|
330
361
|
if (entry.status === 'missing-manifest') {
|
|
331
|
-
prompt.warn(`${entry.theme}:
|
|
362
|
+
prompt.warn(`${entry.theme}: no theme.json — skipped.`);
|
|
332
363
|
}
|
|
333
364
|
else if (entry.status === 'invalid-manifest') {
|
|
334
|
-
prompt.warn(`${entry.theme}: manifest
|
|
365
|
+
prompt.warn(`${entry.theme}: manifest rejected — ${entry.problems.join('; ')}`);
|
|
335
366
|
}
|
|
336
367
|
}
|
|
337
368
|
}
|
|
338
|
-
// ---- deploy
|
|
369
|
+
// ---- deploy ------------------------------------------------------------
|
|
370
|
+
const installAll = !existsSync(join(cwd, 'node_modules', '@oktis-works'));
|
|
371
|
+
if (target === 'pm2') {
|
|
372
|
+
// No image is built here, so the staged SQL is applied by the same
|
|
373
|
+
// `db:migrate` PM2 always runs before reloading.
|
|
374
|
+
const code = await deployPm2({
|
|
375
|
+
cwd,
|
|
376
|
+
prompt,
|
|
377
|
+
runner: opts.runner,
|
|
378
|
+
install: false,
|
|
379
|
+
yes: opts.yes === true,
|
|
380
|
+
});
|
|
381
|
+
if (code === 0)
|
|
382
|
+
saveTarget(cwd, 'pm2');
|
|
383
|
+
return code;
|
|
384
|
+
}
|
|
385
|
+
if (target === 'simple') {
|
|
386
|
+
const result = await deploySimple({
|
|
387
|
+
cwd,
|
|
388
|
+
runner: opts.runner,
|
|
389
|
+
noCache: opts.noCache === true,
|
|
390
|
+
packages: [],
|
|
391
|
+
installAll,
|
|
392
|
+
log: write,
|
|
393
|
+
warn: write,
|
|
394
|
+
});
|
|
395
|
+
if (!result.ok)
|
|
396
|
+
return 1;
|
|
397
|
+
saveTarget(cwd, 'simple');
|
|
398
|
+
prompt.success('redeploy done on the simple stack');
|
|
399
|
+
return 0;
|
|
400
|
+
}
|
|
339
401
|
const result = await deployBlueGreen({
|
|
340
402
|
cwd,
|
|
341
403
|
runner: opts.runner,
|
|
342
404
|
choices,
|
|
343
|
-
//
|
|
344
|
-
//
|
|
345
|
-
//
|
|
405
|
+
// No `bun add`: what changed is extension content, not a package version.
|
|
406
|
+
// Everything is installed only when the host has no node_modules —
|
|
407
|
+
// without it step 5 (`db:migrate`) has nothing to run.
|
|
346
408
|
packages: [],
|
|
347
|
-
installAll
|
|
409
|
+
installAll,
|
|
348
410
|
log: write,
|
|
349
411
|
warn: write,
|
|
350
412
|
});
|
|
351
413
|
if (result.ok) {
|
|
352
|
-
|
|
353
|
-
|
|
414
|
+
saveTarget(cwd, 'blue-green');
|
|
415
|
+
prompt.success(`redeploy done on lane ${result.lane}` +
|
|
416
|
+
(result.previousLane ? ` (previous lane: ${result.previousLane})` : ''));
|
|
354
417
|
}
|
|
355
418
|
return result.ok ? 0 : 1;
|
|
356
419
|
}
|
package/dist/redeploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redeploy.js","sourceRoot":"","sources":["../src/redeploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"redeploy.js","sourceRoot":"","sources":["../src/redeploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Prompt } from './prompt.js';
|
|
2
|
+
import { defaultRunner } from './docker.js';
|
|
3
|
+
export interface RollbackOptions {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
/** ID da entrada do histórico (se omitido, abre menu interativo). */
|
|
6
|
+
id?: number;
|
|
7
|
+
/** `--yes`: confirma sem prompt. */
|
|
8
|
+
yes?: boolean;
|
|
9
|
+
/** `--force`: permite rodar dentro de container (não recomendado). */
|
|
10
|
+
force?: boolean;
|
|
11
|
+
prompt?: Prompt;
|
|
12
|
+
runner?: typeof defaultRunner;
|
|
13
|
+
}
|
|
14
|
+
export declare function runRollback(opts?: RollbackOptions): Promise<number>;
|
|
15
|
+
//# sourceMappingURL=rollback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../src/rollback.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC;CAC/B;AA8HD,wBAAsB,WAAW,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyE7E"}
|
package/dist/rollback.js
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// @oktis-works/cms - `okcms rollback` (histórico + rollback)
|
|
2
|
+
//
|
|
3
|
+
// Lista o histórico de updates/deploys e permite voltar para um estado anterior.
|
|
4
|
+
// O rollback de "download" restaura package.json (requer reinstall).
|
|
5
|
+
// O rollback de "deploy" troca a lane ativa no proxy (blue <-> green).
|
|
6
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { Prompt } from './prompt.js';
|
|
9
|
+
import { listHistory, getHistoryEntry } from './history.js';
|
|
10
|
+
import { reloadProxy, writeUpstreams } from './docker.js';
|
|
11
|
+
import { defaultRunner } from './docker.js';
|
|
12
|
+
import { loadEnvFile } from './env-file.js';
|
|
13
|
+
function printHistory(cwd) {
|
|
14
|
+
const entries = listHistory(cwd);
|
|
15
|
+
if (entries.length === 0) {
|
|
16
|
+
console.log('History is empty.');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
console.log('\nUpdate/deploy history (newest first):\n');
|
|
20
|
+
for (const entry of entries) {
|
|
21
|
+
console.log(entry.id + '. ' + entry.at.split('T')[0] + ' ' + entry.at.split('T')[1]?.slice(0, 8));
|
|
22
|
+
console.log(' ' + entry.mode + ': ' + entry.message);
|
|
23
|
+
if (entry.packages && entry.packages.length > 0) {
|
|
24
|
+
for (const p of entry.packages) {
|
|
25
|
+
console.log(` @oktis-works/${p.name}: ${p.from} → ${p.to}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (entry.lane) {
|
|
29
|
+
console.log(` lane: ${entry.lane}${entry.previousLane ? ` (was ${entry.previousLane})` : ''}`);
|
|
30
|
+
}
|
|
31
|
+
console.log('');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Executa rollback de download: restaura package.json e orienta reinstall. */
|
|
35
|
+
async function rollbackDownload(cwd, entry, prompt) {
|
|
36
|
+
const pkgPath = join(cwd, 'package.json');
|
|
37
|
+
if (!existsSync(pkgPath)) {
|
|
38
|
+
prompt.error('package.json not found.');
|
|
39
|
+
return 1;
|
|
40
|
+
}
|
|
41
|
+
const currentPkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
42
|
+
let changed = false;
|
|
43
|
+
if (entry.packages) {
|
|
44
|
+
for (const p of entry.packages) {
|
|
45
|
+
const depName = `@oktis-works/${p.name}`;
|
|
46
|
+
for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {
|
|
47
|
+
if (currentPkg[depType]?.[depName]) {
|
|
48
|
+
currentPkg[depType][depName] = p.from;
|
|
49
|
+
changed = true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (!changed) {
|
|
55
|
+
prompt.warn('No @oktis-works/* dependency to revert in package.json.');
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
|
58
|
+
writeFileSync(pkgPath, JSON.stringify(currentPkg, null, 2) + '\n', 'utf-8');
|
|
59
|
+
prompt.success('package.json reverted to previous versions.');
|
|
60
|
+
prompt.info('Run `bun install` (or `npm install`) to apply the rollback.');
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
/** Executa rollback de deploy: troca a lane ativa no proxy. */
|
|
64
|
+
async function rollbackDeploy(cwd, entry, prompt, runner) {
|
|
65
|
+
if (!entry.previousLane) {
|
|
66
|
+
prompt.error('No previous lane to roll back to (first deploy?).');
|
|
67
|
+
return 1;
|
|
68
|
+
}
|
|
69
|
+
const targetLane = entry.previousLane;
|
|
70
|
+
const currentLane = entry.lane;
|
|
71
|
+
prompt.heading(`Deploy rollback: ${currentLane} → ${targetLane}`);
|
|
72
|
+
prompt.info('Switching the proxy to the previous lane...');
|
|
73
|
+
const record = loadEnvFile(join(cwd, '.env')).toRecord();
|
|
74
|
+
writeUpstreams(cwd, targetLane, record);
|
|
75
|
+
const reloaded = reloadProxy(cwd, runner);
|
|
76
|
+
if (!reloaded.ok) {
|
|
77
|
+
prompt.error('Failed to reload nginx: ' + reloaded.stderr);
|
|
78
|
+
return 1;
|
|
79
|
+
}
|
|
80
|
+
// Atualiza estado da lane
|
|
81
|
+
const statePath = join(cwd, '.deploy', 'state.json');
|
|
82
|
+
let state = { lane: targetLane, previousLane: currentLane, version: '', at: new Date().toISOString(), history: [] };
|
|
83
|
+
try {
|
|
84
|
+
const raw = readFileSync(statePath, 'utf-8');
|
|
85
|
+
state = JSON.parse(raw);
|
|
86
|
+
}
|
|
87
|
+
catch { }
|
|
88
|
+
state.lane = targetLane;
|
|
89
|
+
state.previousLane = currentLane;
|
|
90
|
+
state.at = new Date().toISOString();
|
|
91
|
+
const { writeLaneState } = await import('./docker.js');
|
|
92
|
+
writeLaneState(cwd, state);
|
|
93
|
+
prompt.success(`Rollback complete. Active lane: ${targetLane}`);
|
|
94
|
+
return 0;
|
|
95
|
+
}
|
|
96
|
+
/** Executa rollback de PM2: restaura ecosystem.config.js anterior (se houver snapshot). */
|
|
97
|
+
async function rollbackPm2(cwd, entry, prompt) {
|
|
98
|
+
if (!entry.packageJsonSnapshot) {
|
|
99
|
+
prompt.error('No package.json snapshot for PM2 rollback.');
|
|
100
|
+
return 1;
|
|
101
|
+
}
|
|
102
|
+
const pkgPath = join(cwd, 'package.json');
|
|
103
|
+
writeFileSync(pkgPath, entry.packageJsonSnapshot, 'utf-8');
|
|
104
|
+
prompt.success('package.json restored. Run `bun install` and `pm2 reload all`.');
|
|
105
|
+
return 0;
|
|
106
|
+
}
|
|
107
|
+
export async function runRollback(opts = {}) {
|
|
108
|
+
const cwd = opts.cwd ?? process.cwd();
|
|
109
|
+
const prompt = opts.prompt ?? new Prompt();
|
|
110
|
+
const ownsPrompt = opts.prompt === undefined;
|
|
111
|
+
const runner = opts.runner ?? defaultRunner;
|
|
112
|
+
const guard = (await import('./guards.js')).assertHostOnly('okcms rollback', { force: opts.force });
|
|
113
|
+
if (!guard.ok) {
|
|
114
|
+
console.error(guard.message);
|
|
115
|
+
if (ownsPrompt)
|
|
116
|
+
prompt.close();
|
|
117
|
+
return 1;
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const entries = listHistory(cwd);
|
|
121
|
+
if (entries.length === 0) {
|
|
122
|
+
prompt.warn('History is empty — nothing to roll back.');
|
|
123
|
+
return 0;
|
|
124
|
+
}
|
|
125
|
+
let targetId = opts.id;
|
|
126
|
+
if (targetId === undefined) {
|
|
127
|
+
printHistory(cwd);
|
|
128
|
+
targetId = await prompt.select('Choose the state to roll back to (newest = 1)', entries.map((e) => ({
|
|
129
|
+
value: e.id,
|
|
130
|
+
label: `#${e.id} ${e.at.slice(0, 19).replace('T', ' ')} — ${e.mode}: ${e.message}`,
|
|
131
|
+
})), { defaultValue: entries[0]?.id });
|
|
132
|
+
}
|
|
133
|
+
const entry = getHistoryEntry(cwd, targetId);
|
|
134
|
+
if (!entry) {
|
|
135
|
+
prompt.error(`Entry #${targetId} not found in history.`);
|
|
136
|
+
return 1;
|
|
137
|
+
}
|
|
138
|
+
if (!opts.yes) {
|
|
139
|
+
const confirmed = await prompt.confirm(`Confirm rollback to #${entry.id} (${entry.mode}: ${entry.message})?`, { defaultValue: false });
|
|
140
|
+
if (!confirmed) {
|
|
141
|
+
prompt.info('Cancelled.');
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
let code;
|
|
146
|
+
switch (entry.mode) {
|
|
147
|
+
case 'download':
|
|
148
|
+
code = await rollbackDownload(cwd, entry, prompt);
|
|
149
|
+
break;
|
|
150
|
+
case 'deploy':
|
|
151
|
+
code = await rollbackDeploy(cwd, entry, prompt, runner);
|
|
152
|
+
break;
|
|
153
|
+
case 'pm2':
|
|
154
|
+
code = await rollbackPm2(cwd, entry, prompt);
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
prompt.error(`Unknown mode: ${entry.mode}`);
|
|
158
|
+
return 1;
|
|
159
|
+
}
|
|
160
|
+
if (code === 0) {
|
|
161
|
+
prompt.success('Rollback completed successfully.');
|
|
162
|
+
}
|
|
163
|
+
return code;
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
if (ownsPrompt)
|
|
167
|
+
prompt.close();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=rollback.js.map
|