@styleflow.app/flowpress-deploy 1.0.0-beta.23 → 1.0.0-beta.26
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 +11 -0
- package/dist/development.d.ts +8 -0
- package/dist/development.d.ts.map +1 -1
- package/dist/development.js +47 -0
- package/dist/development.js.map +1 -1
- package/dist/ops/check.d.ts +2 -6
- package/dist/ops/check.d.ts.map +1 -1
- package/dist/ops/check.js +3 -7
- package/dist/ops/check.js.map +1 -1
- package/dist/ops/cli.js +17 -1
- package/dist/ops/cli.js.map +1 -1
- package/dist/ops/cms-migrate.d.ts +11 -0
- package/dist/ops/cms-migrate.d.ts.map +1 -0
- package/dist/ops/cms-migrate.js +125 -0
- package/dist/ops/cms-migrate.js.map +1 -0
- package/dist/ops/cms-template/command.d.mts +19 -0
- package/dist/ops/cms-template/command.d.mts.map +1 -0
- package/dist/ops/cms-template/command.mjs +145 -0
- package/dist/ops/cms-template/command.mjs.map +1 -0
- package/dist/ops/cms-template/confirm.d.mts +11 -0
- package/dist/ops/cms-template/confirm.d.mts.map +1 -0
- package/dist/ops/cms-template/confirm.mjs +18 -0
- package/dist/ops/cms-template/confirm.mjs.map +1 -0
- package/dist/ops/cms-template/entry.d.mts +2 -0
- package/dist/ops/cms-template/entry.d.mts.map +1 -0
- package/dist/ops/cms-template/entry.mjs +22 -0
- package/dist/ops/cms-template/entry.mjs.map +1 -0
- package/dist/ops/cms-template/git.d.mts +7 -0
- package/dist/ops/cms-template/git.d.mts.map +1 -0
- package/dist/ops/cms-template/git.mjs +22 -0
- package/dist/ops/cms-template/git.mjs.map +1 -0
- package/dist/ops/cms-template/plan.d.mts +7 -0
- package/dist/ops/cms-template/plan.d.mts.map +1 -0
- package/dist/ops/cms-template/plan.mjs +54 -0
- package/dist/ops/cms-template/plan.mjs.map +1 -0
- package/dist/ops/cms-template/store.d.mts +21 -0
- package/dist/ops/cms-template/store.d.mts.map +1 -0
- package/dist/ops/cms-template/store.mjs +184 -0
- package/dist/ops/cms-template/store.mjs.map +1 -0
- package/dist/ops/cms-template/target.d.mts +15 -0
- package/dist/ops/cms-template/target.d.mts.map +1 -0
- package/dist/ops/cms-template/target.mjs +24 -0
- package/dist/ops/cms-template/target.mjs.map +1 -0
- package/dist/ops/cms-template/transport.d.mts +26 -0
- package/dist/ops/cms-template/transport.d.mts.map +1 -0
- package/dist/ops/cms-template/transport.mjs +115 -0
- package/dist/ops/cms-template/transport.mjs.map +1 -0
- package/dist/ops/features.d.ts +12 -0
- package/dist/ops/features.d.ts.map +1 -0
- package/dist/ops/features.js +71 -0
- package/dist/ops/features.js.map +1 -0
- package/dist/ops/monitor.d.ts +2 -0
- package/dist/ops/monitor.d.ts.map +1 -1
- package/dist/ops/monitor.js +1 -1
- package/dist/ops/monitor.js.map +1 -1
- package/dist/ops/static-config.d.ts +1 -1
- package/dist/ops/static-config.d.ts.map +1 -1
- package/dist/ops/static-config.js +16 -20
- package/dist/ops/static-config.js.map +1 -1
- package/dist/ops/storage.js +1 -1
- package/dist/ops/storage.js.map +1 -1
- package/includes/pilot-aliases.php +69 -0
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.26 — 2026-10-20
|
|
4
|
+
|
|
5
|
+
- Correct Linux ownership cleanup in the WordPress migration integration fixture; beta.25 tag failed CI before publication and remains immutable.
|
|
6
|
+
- Own Site Editor sync protocol 1, manifest-aware targets, feature operations and explicit backed-up pilot-alias migrations.
|
|
7
|
+
- Retire the Scaffold dependency in operational checks and share development helpers.
|
|
8
|
+
- [Canonical report](https://github.com/StyleFlow-App/styleflow-docs/blob/main/dev/rapporti/2026-10-20-sync-site-editor-ritiro-legacy.md).
|
|
9
|
+
|
|
10
|
+
## 1.0.0-beta.24
|
|
11
|
+
|
|
12
|
+
- Keep local clean --apply --json machine-readable by capturing Docker removal output. Verify the real CLI JSON response against Docker fixtures.
|
|
13
|
+
|
|
3
14
|
## 1.0.0-beta.23
|
|
4
15
|
|
|
5
16
|
- Share digest-pinned native CMS and web runtimes across local projects, built once in CI for ARM64/AMD64 and verified before npm publication.
|
package/dist/development.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export function prepareDevelopmentSafelist(output: any, fallback: any): {
|
|
2
2
|
source: string;
|
|
3
3
|
};
|
|
4
|
+
export function waitForHttp(url: any, options?: {}): Promise<any>;
|
|
5
|
+
export function refreshGeneratedFile(options: any): Promise<{
|
|
6
|
+
source: string;
|
|
7
|
+
warning?: undefined;
|
|
8
|
+
} | {
|
|
9
|
+
source: string;
|
|
10
|
+
warning: string;
|
|
11
|
+
}>;
|
|
4
12
|
//# sourceMappingURL=development.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"development.d.ts","sourceRoot":"","sources":["../src/development.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"development.d.ts","sourceRoot":"","sources":["../src/development.js"],"names":[],"mappings":"AAKA;;EAIC;AAED,kEAyBC;AAGD;;;;;;GAqBC"}
|
package/dist/development.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
1
2
|
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
3
|
// Development must not scan every remote WordPress route before opening the
|
|
3
4
|
// server. Strict builds still refresh the complete safelist from the CMS.
|
|
@@ -7,4 +8,50 @@ export function prepareDevelopmentSafelist(output, fallback) {
|
|
|
7
8
|
writeFileSync(output, fallback);
|
|
8
9
|
return { source: cached ? "cache" : "structural" };
|
|
9
10
|
}
|
|
11
|
+
export async function waitForHttp(url, options = {}) {
|
|
12
|
+
const timeoutMs = options.timeoutMs ?? 60_000;
|
|
13
|
+
const intervalMs = options.intervalMs ?? 500;
|
|
14
|
+
const fetchImplementation = options.fetchImplementation ?? fetch;
|
|
15
|
+
const deadline = Date.now() + timeoutMs;
|
|
16
|
+
let lastError;
|
|
17
|
+
do {
|
|
18
|
+
try {
|
|
19
|
+
const response = await fetchImplementation(url, {
|
|
20
|
+
redirect: "manual",
|
|
21
|
+
signal: AbortSignal.timeout(Math.min(5_000, timeoutMs))
|
|
22
|
+
});
|
|
23
|
+
if (response.status > 0)
|
|
24
|
+
return response;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
lastError = error;
|
|
28
|
+
}
|
|
29
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
30
|
+
} while (Date.now() < deadline);
|
|
31
|
+
throw new Error(`Timed out waiting for ${url}.`, lastError === undefined ? undefined : { cause: lastError });
|
|
32
|
+
}
|
|
33
|
+
export async function refreshGeneratedFile(options) {
|
|
34
|
+
try {
|
|
35
|
+
const generated = await options.generate();
|
|
36
|
+
await writeFile(options.outputPath, generated);
|
|
37
|
+
return { source: "cms" };
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (options.mode === "strict")
|
|
41
|
+
throw error;
|
|
42
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
43
|
+
const existing = await readFile(options.outputPath, "utf8").catch(() => "");
|
|
44
|
+
if (existing.trim()) {
|
|
45
|
+
return {
|
|
46
|
+
source: "cache",
|
|
47
|
+
warning: `CMS unavailable; preserved generated cache. ${message}`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
await writeFile(options.outputPath, options.structuralFallback);
|
|
51
|
+
return {
|
|
52
|
+
source: "structural",
|
|
53
|
+
warning: `CMS unavailable; wrote structural fallback. ${message}`
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
10
57
|
//# sourceMappingURL=development.js.map
|
package/dist/development.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"development.js","sourceRoot":"","sources":["../src/development.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,UAAU,0BAA0B,CAAC,MAAM,EAAE,QAAQ;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,IAAI,CAAC,MAAM;QAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"development.js","sourceRoot":"","sources":["../src/development.js"],"names":[],"mappings":"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"}
|
package/dist/ops/check.d.ts
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
export function checkProject(root: any, kind: any): {
|
|
2
|
-
features:
|
|
3
|
-
|
|
4
|
-
checks?: undefined;
|
|
5
|
-
manifest?: undefined;
|
|
2
|
+
features: any;
|
|
3
|
+
valid: boolean;
|
|
6
4
|
} | {
|
|
7
5
|
phpFiles: number;
|
|
8
|
-
features?: undefined;
|
|
9
6
|
checks?: undefined;
|
|
10
7
|
manifest?: undefined;
|
|
11
8
|
} | {
|
|
12
9
|
checks: string[];
|
|
13
10
|
manifest: string;
|
|
14
|
-
features?: undefined;
|
|
15
11
|
phpFiles?: undefined;
|
|
16
12
|
};
|
|
17
13
|
export const projectChecks: string[];
|
package/dist/ops/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/ops/check.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/ops/check.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;EAwBC;AAzBD,qCAAwN"}
|
package/dist/ops/check.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
2
2
|
import { join, extname } from "node:path";
|
|
3
3
|
import { readJson, readManifest } from "./config.js";
|
|
4
|
+
import { checkFeatures } from "./features.js";
|
|
4
5
|
import { run } from "./process.js";
|
|
5
|
-
export const projectChecks = ["styleflow:validate", "styleflow:build", "components:check", "
|
|
6
|
+
export const projectChecks = ["styleflow:validate", "styleflow:build", "components:check", "features:check", "check:boundaries", "check:forbidden", "check:php", "typecheck", "test", "web:check", "test:static-build"];
|
|
6
7
|
export function checkProject(root, kind) {
|
|
7
8
|
if (kind === "features") {
|
|
8
|
-
|
|
9
|
-
if (features?.schemaVersion !== 1 || !Array.isArray(features.features))
|
|
10
|
-
throw new Error("Invalid feature manifest.");
|
|
11
|
-
for (const feature of features.features.filter(item => item.enabled))
|
|
12
|
-
run("pnpm", ["exec", "flowpress-scaffold", "feature", "check", feature.id], { cwd: root });
|
|
13
|
-
return { features: "valid" };
|
|
9
|
+
return checkFeatures(root);
|
|
14
10
|
}
|
|
15
11
|
if (kind === "php") {
|
|
16
12
|
const files = [];
|
package/dist/ops/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/ops/check.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/ops/check.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;AACxN,MAAM,UAAU,YAAY,CAAC,IAAI,EAAE,IAAI;IACrC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,SAAS,OAAO,CAAC,IAAI;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACxF,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1H,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,2CAA2C,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACjM,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACxF,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvD,YAAY,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QAC/B,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACjD,CAAC"}
|
package/dist/ops/cli.js
CHANGED
|
@@ -13,6 +13,9 @@ import { provisionRegistry, provisionDns } from "./bootstrap.js";
|
|
|
13
13
|
import { synchronizeEnvironmentFiles } from "./environment-files.js";
|
|
14
14
|
import { localCommand } from "./local.js";
|
|
15
15
|
import { checkProject } from "./check.js";
|
|
16
|
+
import { cmsTemplate } from "./cms-template/entry.mjs";
|
|
17
|
+
import { cmsMigrate } from "./cms-migrate.js";
|
|
18
|
+
import { featureCommand } from "./features.js";
|
|
16
19
|
import { printLocalStorage } from "./storage.js";
|
|
17
20
|
const args = process.argv.slice(2);
|
|
18
21
|
const [command, name, component] = args;
|
|
@@ -22,6 +25,9 @@ function help() {
|
|
|
22
25
|
+ " flowpress-ops env sync [--apply] [--local-secrets]\n"
|
|
23
26
|
+ " flowpress-ops local start|stop|status|doctor|logs|exec|backup|datagrip|storage\n"
|
|
24
27
|
+ " flowpress-ops local clean [--apply] [--include-legacy]\n"
|
|
28
|
+
+ " flowpress-ops cms template <status|pull|push|restore> [options]\n"
|
|
29
|
+
+ " flowpress-ops cms migrate pilot-aliases --target <environment> --dry-run|--apply\n"
|
|
30
|
+
+ " flowpress-ops feature list|check|install|remove [id] [--version <exact>]\n"
|
|
25
31
|
+ " flowpress-ops check [features|php] | cms install\n"
|
|
26
32
|
+ " flowpress-ops platform plan|provision|build-base [--apply] [--push|--load]\n"
|
|
27
33
|
+ " flowpress-ops registry [--apply] | dns <environment> [--apply]\n"
|
|
@@ -46,7 +52,17 @@ async function main() {
|
|
|
46
52
|
const root = projectRoot(), manifest = readManifest(root);
|
|
47
53
|
const file = argValue(args, "--platform-file");
|
|
48
54
|
let result;
|
|
49
|
-
if (command === "
|
|
55
|
+
if (command === "cms" && name === "template") {
|
|
56
|
+
process.exitCode = await cmsTemplate(root, manifest, args.slice(2));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
else if (command === "cms" && name === "migrate") {
|
|
60
|
+
result = await cmsMigrate(root, manifest, args.slice(2));
|
|
61
|
+
}
|
|
62
|
+
else if (command === "feature") {
|
|
63
|
+
result = featureCommand(root, args.slice(1));
|
|
64
|
+
}
|
|
65
|
+
else if (command === "check") {
|
|
50
66
|
result = checkProject(root, name);
|
|
51
67
|
}
|
|
52
68
|
else if (command === "cms" && name === "install") {
|
package/dist/ops/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/ops/cli.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/ops/cli.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function migrationProgram(operation: any, plan: any): string;
|
|
2
|
+
export function parseMigrationResponse(output: any): any;
|
|
3
|
+
export function migrationTransport(root: any, target: any): (operation: any, plan: any) => any;
|
|
4
|
+
export function verifyLocalSqlBackup(root: any, file: any, expectedSite: any): Promise<{
|
|
5
|
+
file: any;
|
|
6
|
+
tables: any;
|
|
7
|
+
site: any;
|
|
8
|
+
verified: boolean;
|
|
9
|
+
}>;
|
|
10
|
+
export function cmsMigrate(root: any, manifest: any, args: any, deps?: {}): Promise<any>;
|
|
11
|
+
//# sourceMappingURL=cms-migrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cms-migrate.d.ts","sourceRoot":"","sources":["../../src/ops/cms-migrate.js"],"names":[],"mappings":"AAUA,oEAIC;AACD,yDAOC;AACD,+FAMC;AACD;;;;;GAiBC;AACD,yFA2CC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { readFileSync, mkdirSync, writeFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { resolveTarget } from "./cms-template/target.mjs";
|
|
6
|
+
import { allowedComponents, loadState } from "./config.js";
|
|
7
|
+
import { localCommand, localComposeArgs } from "./local.js";
|
|
8
|
+
import { backupRun, backupVerify } from "./monitor.js";
|
|
9
|
+
import { capture, run, ssh, containerFor, shellQuote, sleep } from "./process.js";
|
|
10
|
+
export function migrationProgram(operation, plan) {
|
|
11
|
+
const source = readFileSync(fileURLToPath(new URL("../../includes/pilot-aliases.php", import.meta.url)), "utf8").replace(/^<\?php\s*/, "").replace("declare(strict_types=1);", "");
|
|
12
|
+
const request = Buffer.from(JSON.stringify({ operation, plan })).toString("base64");
|
|
13
|
+
return `<?php\n${source}\ntry { $request = json_decode(base64_decode('${request}'), true, 512, JSON_THROW_ON_ERROR); $result = $request['operation'] === 'plan' ? flowpress_ops_alias_plan() : flowpress_ops_alias_apply($request['plan']); echo "\\n@@flowpress-migration@@\\n", wp_json_encode(['ok' => true, 'result' => $result]); } catch (Throwable $error) { echo "\\n@@flowpress-migration@@\\n", wp_json_encode(['ok' => false, 'error' => $error->getMessage()]); }`;
|
|
14
|
+
}
|
|
15
|
+
export function parseMigrationResponse(output) {
|
|
16
|
+
const marker = "@@flowpress-migration@@";
|
|
17
|
+
const at = output.lastIndexOf(marker);
|
|
18
|
+
if (at < 0)
|
|
19
|
+
throw new Error("CMS did not return the migration result.");
|
|
20
|
+
const result = JSON.parse(output.slice(at + marker.length));
|
|
21
|
+
if (!result.ok)
|
|
22
|
+
throw new Error(result.error);
|
|
23
|
+
return result.result;
|
|
24
|
+
}
|
|
25
|
+
export function migrationTransport(root, target) {
|
|
26
|
+
if (target.local)
|
|
27
|
+
return (operation, plan) => parseMigrationResponse(capture("docker", [...localComposeArgs(root), "exec", "-T", "cms", "/workspace/apps/cms/vendor/bin/wp", "--allow-root", "--path=/workspace/apps/cms/web/wp", "eval-file", "/dev/stdin"], { input: migrationProgram(operation, plan), maxBuffer: 256 * 1024 * 1024 }));
|
|
28
|
+
const state = loadState(root, target.backendName);
|
|
29
|
+
if (!state.apps?.cms?.uuid)
|
|
30
|
+
throw new Error("CMS container not provisioned for this target.");
|
|
31
|
+
const container = containerFor(state.platform, state.apps.cms.uuid);
|
|
32
|
+
return (operation, plan) => parseMigrationResponse(ssh(state.platform, "docker exec -i " + shellQuote(container) + " wp --allow-root --path=/srv/cms/web/wp eval-file /dev/stdin", { input: migrationProgram(operation, plan), maxBuffer: 256 * 1024 * 1024 }));
|
|
33
|
+
}
|
|
34
|
+
export async function verifyLocalSqlBackup(root, file, expectedSite) {
|
|
35
|
+
const id = "flowpress-migration-restore-" + randomUUID().slice(0, 8);
|
|
36
|
+
try {
|
|
37
|
+
run("docker", ["run", "--rm", "-d", "--network", "none", "--memory", "1536m", "--name", id, "-e", "MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1", "-e", "MARIADB_DATABASE=restore", "mariadb:11.4"], { stdio: "ignore" });
|
|
38
|
+
for (let attempt = 0; attempt < 60; attempt++) {
|
|
39
|
+
try {
|
|
40
|
+
capture("docker", ["exec", id, "healthcheck.sh", "--connect", "--innodb_initialized"]);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
if (attempt === 59)
|
|
45
|
+
throw new Error("Backup verification database did not start.");
|
|
46
|
+
await sleep(1000);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const data = readFileSync(file);
|
|
50
|
+
run("docker", ["exec", "-i", id, "mariadb", "-uroot", "restore"], { input: data, stdio: ["pipe", "pipe", "pipe"] });
|
|
51
|
+
const tables = capture("docker", ["exec", id, "mariadb", "-uroot", "-N", "restore", "-e", "SHOW TABLES"]).split("\n");
|
|
52
|
+
const options = tables.filter(name => /^[A-Za-z0-9_]+_options$/.test(name));
|
|
53
|
+
if (tables.length < 10 || options.length !== 1)
|
|
54
|
+
throw new Error("Backup lacks the expected WordPress tables.");
|
|
55
|
+
const site = capture("docker", ["exec", id, "mariadb", "-uroot", "-N", "restore", "-e", "SELECT option_value FROM `" + options[0] + "` WHERE option_name='home'"]);
|
|
56
|
+
if (new URL(site).origin !== new URL(expectedSite).origin)
|
|
57
|
+
throw new Error("Restored backup belongs to another site.");
|
|
58
|
+
return { file, tables: tables.length, site, verified: true };
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
try {
|
|
62
|
+
run("docker", ["rm", "-fv", id], { stdio: "ignore" });
|
|
63
|
+
}
|
|
64
|
+
catch { }
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export async function cmsMigrate(root, manifest, args, deps = {}) {
|
|
68
|
+
if (args[0] !== "pilot-aliases")
|
|
69
|
+
throw new Error("Use cms migrate pilot-aliases --target <environment> --dry-run|--apply.");
|
|
70
|
+
const flags = args.slice(1);
|
|
71
|
+
if (flags.includes("--apply") === flags.includes("--dry-run"))
|
|
72
|
+
throw new Error("Choose exactly one of --dry-run or --apply.");
|
|
73
|
+
const at = flags.indexOf("--target");
|
|
74
|
+
if (at < 0 || !flags[at + 1] || flags[at + 1].startsWith("--"))
|
|
75
|
+
throw new Error("An explicit --target is required.");
|
|
76
|
+
const remaining = flags.filter((_, i) => i !== at && i !== at + 1).filter(flag => !["--apply", "--dry-run", "--json"].includes(flag));
|
|
77
|
+
if (remaining.length)
|
|
78
|
+
throw new Error("Unknown migration option: " + remaining[0]);
|
|
79
|
+
const target = (deps.resolveTarget || resolveTarget)({ root, manifest, flag: flags[at + 1] });
|
|
80
|
+
if (!target.local)
|
|
81
|
+
allowedComponents(manifest, target.backendName, ["cms"]);
|
|
82
|
+
const directory = join(root, ".local/cms-migrations");
|
|
83
|
+
const path = join(directory, "pilot-aliases-" + target.name + ".json");
|
|
84
|
+
const call = deps.transport || migrationTransport(root, target);
|
|
85
|
+
if (flags.includes("--dry-run")) {
|
|
86
|
+
const plan = await call("plan");
|
|
87
|
+
if (new URL(plan.site).origin !== target.origin)
|
|
88
|
+
throw new Error("CMS identity differs from the configured target.");
|
|
89
|
+
mkdirSync(directory, { recursive: true, mode: 0o700 });
|
|
90
|
+
writeFileSync(path, JSON.stringify({ ...plan, target: target.name }, null, 2) + "\n", { mode: 0o600 });
|
|
91
|
+
return { target: target.name, site: plan.site, hash: plan.hash, counts: plan.counts, changes: plan.changes.length, plan: path };
|
|
92
|
+
}
|
|
93
|
+
if (!existsSync(path))
|
|
94
|
+
throw new Error("Run --dry-run on this target before --apply.");
|
|
95
|
+
const plan = JSON.parse(readFileSync(path, "utf8"));
|
|
96
|
+
const current = await call("plan");
|
|
97
|
+
if (new URL(current.site).origin !== target.origin)
|
|
98
|
+
throw new Error("CMS identity differs from the configured target.");
|
|
99
|
+
if (plan.target !== target.name || plan.site !== current.site || plan.hash !== current.hash)
|
|
100
|
+
throw new Error("Migration plan is stale or belongs to another target; run --dry-run again.");
|
|
101
|
+
if (!current.changes.length)
|
|
102
|
+
return { target: target.name, updated: 0, counts: {} };
|
|
103
|
+
let backup;
|
|
104
|
+
if (deps.backup)
|
|
105
|
+
backup = await deps.backup(target, plan);
|
|
106
|
+
else if (target.local) {
|
|
107
|
+
const exported = await localCommand(root, manifest, "backup", []);
|
|
108
|
+
backup = await verifyLocalSqlBackup(root, exported.file, current.site);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const startedAt = Date.now() - 2000;
|
|
112
|
+
const exported = await backupRun(root, manifest, target.backendName);
|
|
113
|
+
backup = await backupVerify(root, manifest, target.backendName);
|
|
114
|
+
if (Date.parse(backup.database.modified || "") < startedAt || !backup.database.modified)
|
|
115
|
+
throw new Error("The verified offsite database backup predates this migration.");
|
|
116
|
+
backup = { ...backup, exported, verified: true };
|
|
117
|
+
}
|
|
118
|
+
if (!backup?.verified)
|
|
119
|
+
throw new Error("A verified backup is required before applying the migration.");
|
|
120
|
+
const applied = await call("apply", plan);
|
|
121
|
+
const receipt = join(directory, "pilot-aliases-" + target.name + "-" + Date.now() + ".receipt.json");
|
|
122
|
+
writeFileSync(receipt, JSON.stringify({ ...applied, backup, target: target.name, planHash: plan.hash }, null, 2) + "\n", { mode: 0o600 });
|
|
123
|
+
return { target: target.name, ...applied, receipt };
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=cms-migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cms-migrate.js","sourceRoot":"","sources":["../../src/ops/cms-migrate.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function parseArgs(argv: any): {
|
|
2
|
+
command: any;
|
|
3
|
+
file: any;
|
|
4
|
+
options: {
|
|
5
|
+
target: string;
|
|
6
|
+
dryRun: boolean;
|
|
7
|
+
yes: boolean;
|
|
8
|
+
force: boolean;
|
|
9
|
+
prune: boolean;
|
|
10
|
+
allowDirty: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* deps: { root, themePath, resolveTarget, transport, git, store, confirm, log, now }
|
|
15
|
+
* Returns the process exit code.
|
|
16
|
+
*/
|
|
17
|
+
export function runCmsTemplate(argv: any, deps: any): Promise<1 | 0>;
|
|
18
|
+
export const USAGE: "Usage: pnpm cms:template <pull|push|status|restore <snapshot.json>> [options]\n\n --target <env> backend to use (default: FRONTEND_BACKEND_TARGET)\n --dry-run print the plan only\n --yes confirm without prompting (required without a TTY)\n --force resolve conflicts: push \u2192 the repository wins, pull \u2192 the CMS wins\n --prune push: trash patterns / drop overrides missing from the repository\n pull: delete pattern files missing from the CMS\n --allow-dirty run with uncommitted changes under apps/cms/theme";
|
|
19
|
+
//# sourceMappingURL=command.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.mts","sourceRoot":"","sources":["../../../src/ops/cms-template/command.mjs"],"names":[],"mappings":"AAcA;;;;;;;;;;;EAoBC;AAED;;;GAGG;AACH,qEAoGC;AAxID,4lBAQsE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join, relative } from "node:path";
|
|
3
|
+
import { applyAncestry, pendingChanges, pendingMarkers, renderPlan } from "./plan.mjs";
|
|
4
|
+
export const USAGE = `Usage: pnpm cms:template <pull|push|status|restore <snapshot.json>> [options]
|
|
5
|
+
|
|
6
|
+
--target <env> backend to use (default: FRONTEND_BACKEND_TARGET)
|
|
7
|
+
--dry-run print the plan only
|
|
8
|
+
--yes confirm without prompting (required without a TTY)
|
|
9
|
+
--force resolve conflicts: push → the repository wins, pull → the CMS wins
|
|
10
|
+
--prune push: trash patterns / drop overrides missing from the repository
|
|
11
|
+
pull: delete pattern files missing from the CMS
|
|
12
|
+
--allow-dirty run with uncommitted changes under apps/cms/theme`;
|
|
13
|
+
export function parseArgs(argv) {
|
|
14
|
+
const options = { target: "", dryRun: false, yes: false, force: false, prune: false, allowDirty: false };
|
|
15
|
+
const positional = [];
|
|
16
|
+
for (let index = 0; index < argv.length; index++) {
|
|
17
|
+
const arg = argv[index];
|
|
18
|
+
if (arg === "--target")
|
|
19
|
+
options.target = String(argv[++index] ?? "");
|
|
20
|
+
else if (arg.startsWith("--target="))
|
|
21
|
+
options.target = arg.slice(9);
|
|
22
|
+
else if (arg === "--dry-run")
|
|
23
|
+
options.dryRun = true;
|
|
24
|
+
else if (arg === "--yes" || arg === "-y")
|
|
25
|
+
options.yes = true;
|
|
26
|
+
else if (arg === "--force")
|
|
27
|
+
options.force = true;
|
|
28
|
+
else if (arg === "--prune")
|
|
29
|
+
options.prune = true;
|
|
30
|
+
else if (arg === "--allow-dirty")
|
|
31
|
+
options.allowDirty = true;
|
|
32
|
+
else if (arg.startsWith("-"))
|
|
33
|
+
throw new Error(`Unknown option ${arg}.\n\n${USAGE}`);
|
|
34
|
+
else
|
|
35
|
+
positional.push(arg);
|
|
36
|
+
}
|
|
37
|
+
const [command = "", file = ""] = positional;
|
|
38
|
+
if (!["pull", "push", "status", "restore"].includes(command) || (command === "restore") !== Boolean(file)) {
|
|
39
|
+
throw new Error(USAGE);
|
|
40
|
+
}
|
|
41
|
+
return { command, file, options };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* deps: { root, themePath, resolveTarget, transport, git, store, confirm, log, now }
|
|
45
|
+
* Returns the process exit code.
|
|
46
|
+
*/
|
|
47
|
+
export async function runCmsTemplate(argv, deps) {
|
|
48
|
+
const { command, file, options } = parseArgs(argv);
|
|
49
|
+
const { log } = deps;
|
|
50
|
+
const target = deps.resolveTarget(options.target);
|
|
51
|
+
const transport = deps.transport(target);
|
|
52
|
+
const status = await transport.call("status");
|
|
53
|
+
if (status.protocol !== 1) {
|
|
54
|
+
throw new Error(`${target.origin} speaks sync protocol ${status.protocol}; this CLI speaks 1. Deploy the backend or update the repository.`);
|
|
55
|
+
}
|
|
56
|
+
if (new URL(status.site).origin !== target.origin)
|
|
57
|
+
throw new Error(`The CMS identifies itself as ${status.site}, not the configured target ${target.origin}.`);
|
|
58
|
+
log(`target ${target.name}: ${status.site} (${target.local ? "local backend" : "remote backend"}) · theme ${status.stylesheet}`);
|
|
59
|
+
if (command === "status") {
|
|
60
|
+
log(`protocol ${status.protocol} · ${JSON.stringify(status.counts ?? status.entities ?? {})}`);
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
if ((command === "push" || command === "restore") && !options.dryRun)
|
|
64
|
+
deps.assertWritable?.(target);
|
|
65
|
+
const ask = (question) => target.local ? true : deps.confirm(question, { yes: options.yes });
|
|
66
|
+
if (command === "restore") {
|
|
67
|
+
const snapshot = JSON.parse(readFileSync(file, "utf8"));
|
|
68
|
+
if (snapshot.site !== status.site) {
|
|
69
|
+
throw new Error(`${file} belongs to ${snapshot.site}, not to ${status.site}.`);
|
|
70
|
+
}
|
|
71
|
+
log(`restore ${snapshot.entries.length} row(s) recorded on ${snapshot.createdAt} before commit ${snapshot.commit}`);
|
|
72
|
+
if (options.dryRun)
|
|
73
|
+
return 0;
|
|
74
|
+
if (!(await ask(`Restore ${snapshot.entries.length} row(s) on ${target.name} (${target.origin})?`))) {
|
|
75
|
+
log("aborted");
|
|
76
|
+
return 1;
|
|
77
|
+
}
|
|
78
|
+
const report = await transport.call("restore", { snapshot });
|
|
79
|
+
log(`restored ${report.restored.length}, removed ${report.removed.length}`);
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
const dirty = deps.git.dirty(deps.themePath);
|
|
83
|
+
if (dirty.length && !options.allowDirty && (command === "pull" || !target.local)) {
|
|
84
|
+
throw new Error(`Uncommitted changes in ${deps.themePath}:\n${dirty.join("\n")}\n` +
|
|
85
|
+
(command === "pull"
|
|
86
|
+
? "Commit or stash them before a pull (or pass --allow-dirty)."
|
|
87
|
+
: "A remote push must be reproducible from a commit: commit first (or pass --allow-dirty)."));
|
|
88
|
+
}
|
|
89
|
+
const entities = deps.store.read();
|
|
90
|
+
const plan = await transport.call("plan", {
|
|
91
|
+
direction: command, entities, force: options.force, prune: options.prune,
|
|
92
|
+
});
|
|
93
|
+
if (command === "push")
|
|
94
|
+
applyAncestry(plan, (commit) => deps.git.isAncestor(commit), options.force);
|
|
95
|
+
renderPlan(plan, target, log);
|
|
96
|
+
if (command === "push" && plan.blocked.length) {
|
|
97
|
+
log("push blocked, nothing was written:");
|
|
98
|
+
for (const reason of plan.blocked)
|
|
99
|
+
log(` - ${reason}`);
|
|
100
|
+
log("Run `pnpm cms:template pull` and merge with git, or pass --force to overwrite the CMS.");
|
|
101
|
+
return 1;
|
|
102
|
+
}
|
|
103
|
+
const changes = pendingChanges(plan);
|
|
104
|
+
const markers = command === "push" ? pendingMarkers(plan) : [];
|
|
105
|
+
const blocked = plan.items.filter((item) => item.action === "blocked");
|
|
106
|
+
if (!changes.length && !markers.length) {
|
|
107
|
+
log(blocked.length ? "nothing to write; conflicts listed above (use --force to take the CMS version)" : "already in sync");
|
|
108
|
+
return blocked.length ? 1 : 0;
|
|
109
|
+
}
|
|
110
|
+
if (options.dryRun) {
|
|
111
|
+
log("dry run: nothing written");
|
|
112
|
+
return blocked.length ? 1 : 0;
|
|
113
|
+
}
|
|
114
|
+
const question = command === "pull"
|
|
115
|
+
? `Write ${changes.length} file change(s) from ${target.name} (${target.origin})?`
|
|
116
|
+
: `Apply ${changes.length} change(s) and ${markers.length} sync marker(s) to ${target.name} (${target.origin})?` +
|
|
117
|
+
(changes.length ? " Template and pattern saves schedule a public build." : "");
|
|
118
|
+
if (!(await ask(question))) {
|
|
119
|
+
log("aborted");
|
|
120
|
+
return 1;
|
|
121
|
+
}
|
|
122
|
+
if (command === "pull") {
|
|
123
|
+
for (const path of deps.store.write(plan.items))
|
|
124
|
+
log(` wrote ${path}`);
|
|
125
|
+
log("review with `git diff`, then commit");
|
|
126
|
+
if (blocked.length)
|
|
127
|
+
log(`${blocked.length} conflict(s) left untouched (use --force to take the CMS version)`);
|
|
128
|
+
return blocked.length ? 1 : 0;
|
|
129
|
+
}
|
|
130
|
+
const commit = deps.git.head() + (dirty.length ? "+dirty" : "");
|
|
131
|
+
const snapshotPath = join(deps.root, ".local", "cms-template", "snapshots", target.name, `${deps.now().toISOString().replace(/[:.]/g, "-")}.json`);
|
|
132
|
+
mkdirSync(dirname(snapshotPath), { recursive: true, mode: 0o700 });
|
|
133
|
+
writeFileSync(snapshotPath, `${JSON.stringify({
|
|
134
|
+
...plan.snapshot, target: target.name, commit, createdAt: deps.now().toISOString(),
|
|
135
|
+
}, null, 2)}\n`, { mode: 0o600, flag: "wx" });
|
|
136
|
+
log(`snapshot ${relative(deps.root, snapshotPath)} (restore with: pnpm cms:template restore ${relative(deps.root, snapshotPath)} --target ${target.name})`);
|
|
137
|
+
const report = await transport.call("apply", {
|
|
138
|
+
entities, planHash: plan.planHash, force: options.force, prune: options.prune, commit,
|
|
139
|
+
});
|
|
140
|
+
log(`created ${report.created.length}, updated ${report.updated.length}, deleted ${report.deleted.length}, sync markers ${report.markers}`);
|
|
141
|
+
if (changes.length)
|
|
142
|
+
log("new Tailwind classes? regenerate the safelist: pnpm safelist:generate");
|
|
143
|
+
return 0;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=command.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.mjs","sourceRoot":"","sources":["../../../src/ops/cms-template/command.mjs"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** y/n prompt, default No. Without a TTY only --yes can confirm. */
|
|
2
|
+
export function confirm(question: any, { yes, input, output }?: {
|
|
3
|
+
yes?: boolean | undefined;
|
|
4
|
+
input?: (NodeJS.ReadStream & {
|
|
5
|
+
fd: 0;
|
|
6
|
+
}) | undefined;
|
|
7
|
+
output?: (NodeJS.WriteStream & {
|
|
8
|
+
fd: 1;
|
|
9
|
+
}) | undefined;
|
|
10
|
+
}): Promise<boolean>;
|
|
11
|
+
//# sourceMappingURL=confirm.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm.d.mts","sourceRoot":"","sources":["../../../src/ops/cms-template/confirm.mjs"],"names":[],"mappings":"AAEA,oEAAoE;AACpE;;;;;;;;qBAYC"}
|