@wjarka/cezarion 0.11.0 → 0.11.1-pr47.74
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/release/manifests.d.ts +26 -4
- package/dist/release/manifests.js +20 -4
- package/dist/release/manifests.js.map +1 -1
- package/dist/server-install/npx-cache.d.ts +36 -0
- package/dist/server-install/npx-cache.js +104 -0
- package/dist/server-install/npx-cache.js.map +1 -0
- package/dist/server-install/platforms/macosx-ngrok.js +27 -1
- package/dist/server-install/platforms/macosx-ngrok.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.d.ts +2 -30
- package/dist/server-install/platforms/ubuntu-vps.js +3 -95
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
- package/dist/workflows/run.js +27 -10
- package/dist/workflows/run.js.map +1 -1
- package/package.json +3 -3
- package/scripts/mock-claude.mjs +24 -0
|
@@ -28,6 +28,20 @@ export interface ManifestLike {
|
|
|
28
28
|
* a package up is one line in ITS manifest and no change to the release code.
|
|
29
29
|
*/
|
|
30
30
|
export declare function isPublishable(pkg: ManifestLike): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Relative dirs of every manifest a release stamps, keyed as `ReleaseManifests`.
|
|
33
|
+
*
|
|
34
|
+
* The completeness test walks the workspace root's `workspaces` array against these values, so a
|
|
35
|
+
* new workspace that is not listed here fails CI rather than shipping a bump `npm ci` cannot
|
|
36
|
+
* install. `alias` is not a workspace (it lives next to `packages/`) and is the one extra entry.
|
|
37
|
+
*/
|
|
38
|
+
export declare const RELEASE_MANIFEST_DIRS: {
|
|
39
|
+
readonly contract: 'packages/contract';
|
|
40
|
+
readonly apiClient: 'packages/api-client';
|
|
41
|
+
readonly cezar: 'packages/cezar';
|
|
42
|
+
readonly web: 'packages/web';
|
|
43
|
+
readonly alias: 'alias-cezarion';
|
|
44
|
+
};
|
|
31
45
|
/**
|
|
32
46
|
* Every manifest a release stamps.
|
|
33
47
|
*
|
|
@@ -35,7 +49,8 @@ export declare function isPublishable(pkg: ManifestLike): boolean;
|
|
|
35
49
|
* the one before it: the alias is a bin-shim over the service, and the service (from the phase
|
|
36
50
|
* where it stops merely testing against the client and starts importing it) depends on the
|
|
37
51
|
* api-client. Publishing the dependent first would briefly advertise a version of its
|
|
38
|
-
* dependency that does not exist on the registry yet.
|
|
52
|
+
* dependency that does not exist on the registry yet. Private members of the set are still
|
|
53
|
+
* stamped — they are simply skipped at publish time.
|
|
39
54
|
*/
|
|
40
55
|
export interface ReleaseManifests {
|
|
41
56
|
/**
|
|
@@ -51,6 +66,12 @@ export interface ReleaseManifests {
|
|
|
51
66
|
apiClient: ManifestLike;
|
|
52
67
|
/** The published service + CLI. */
|
|
53
68
|
cezar: ManifestLike;
|
|
69
|
+
/**
|
|
70
|
+
* The cockpit SPA. `private`, so never published, but it consumes the api-client and the
|
|
71
|
+
* service, and a bump that leaves its ranges on the previous version makes `npm ci` on the
|
|
72
|
+
* version-bump branch fail the same way an unstamped contract does.
|
|
73
|
+
*/
|
|
74
|
+
web: ManifestLike;
|
|
54
75
|
/** The unscoped bin alias, so `npx cezarion` works. */
|
|
55
76
|
alias: ManifestLike;
|
|
56
77
|
}
|
|
@@ -68,10 +89,11 @@ export declare function pinDependency(pkg: ManifestLike, depName: string, range:
|
|
|
68
89
|
/**
|
|
69
90
|
* Stamp every manifest to `version` and re-pin the intra-release dependencies.
|
|
70
91
|
*
|
|
71
|
-
*
|
|
92
|
+
* Pins, all derived from the manifests rather than hardcoded:
|
|
72
93
|
* - the alias → the service, so `npx <alias>@<v>` runs the matching CLI;
|
|
73
|
-
* - the service → the api-client, so a published service can never resolve
|
|
74
|
-
* was not released with
|
|
94
|
+
* - the service → the api-client (and the contract), so a published service can never resolve
|
|
95
|
+
* a client build it was not released with;
|
|
96
|
+
* - the cockpit → the api-client and the service, so a bump branch stays `npm ci`-able.
|
|
75
97
|
*
|
|
76
98
|
* The alias also inherits `repository`/`homepage`/`bugs` from the service manifest: we publish
|
|
77
99
|
* with `--provenance`, and npm rejects (E422) any manifest whose `repository.url` does not
|
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
export function isPublishable(pkg) {
|
|
21
21
|
return pkg.private !== true;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Relative dirs of every manifest a release stamps, keyed as `ReleaseManifests`.
|
|
25
|
+
*
|
|
26
|
+
* The completeness test walks the workspace root's `workspaces` array against these values, so a
|
|
27
|
+
* new workspace that is not listed here fails CI rather than shipping a bump `npm ci` cannot
|
|
28
|
+
* install. `alias` is not a workspace (it lives next to `packages/`) and is the one extra entry.
|
|
29
|
+
*/
|
|
30
|
+
export const RELEASE_MANIFEST_DIRS = {
|
|
31
|
+
contract: 'packages/contract',
|
|
32
|
+
apiClient: 'packages/api-client',
|
|
33
|
+
cezar: 'packages/cezar',
|
|
34
|
+
web: 'packages/web',
|
|
35
|
+
alias: 'alias-cezarion',
|
|
36
|
+
};
|
|
23
37
|
/**
|
|
24
38
|
* Rewrite `pkg`'s range for `depName`, in whichever dependency section already declares it.
|
|
25
39
|
*
|
|
@@ -41,10 +55,11 @@ export function pinDependency(pkg, depName, range) {
|
|
|
41
55
|
/**
|
|
42
56
|
* Stamp every manifest to `version` and re-pin the intra-release dependencies.
|
|
43
57
|
*
|
|
44
|
-
*
|
|
58
|
+
* Pins, all derived from the manifests rather than hardcoded:
|
|
45
59
|
* - the alias → the service, so `npx <alias>@<v>` runs the matching CLI;
|
|
46
|
-
* - the service → the api-client, so a published service can never resolve
|
|
47
|
-
* was not released with
|
|
60
|
+
* - the service → the api-client (and the contract), so a published service can never resolve
|
|
61
|
+
* a client build it was not released with;
|
|
62
|
+
* - the cockpit → the api-client and the service, so a bump branch stays `npm ci`-able.
|
|
48
63
|
*
|
|
49
64
|
* The alias also inherits `repository`/`homepage`/`bugs` from the service manifest: we publish
|
|
50
65
|
* with `--provenance`, and npm rejects (E422) any manifest whose `repository.url` does not
|
|
@@ -52,7 +67,7 @@ export function pinDependency(pkg, depName, range) {
|
|
|
52
67
|
* service's — already correct, and being a git URL, unaffected by any npm-name rename.
|
|
53
68
|
*/
|
|
54
69
|
export function stampManifestSet(manifests, version, pin) {
|
|
55
|
-
const { contract, apiClient, cezar, alias } = manifests;
|
|
70
|
+
const { contract, apiClient, cezar, web, alias } = manifests;
|
|
56
71
|
const range = pin(version);
|
|
57
72
|
const inherited = {};
|
|
58
73
|
for (const field of ['repository', 'homepage', 'bugs']) {
|
|
@@ -63,6 +78,7 @@ export function stampManifestSet(manifests, version, pin) {
|
|
|
63
78
|
contract: { ...contract, version },
|
|
64
79
|
apiClient: pinDependency({ ...apiClient, version }, contract.name, range),
|
|
65
80
|
cezar: pinDependency(pinDependency({ ...cezar, version }, apiClient.name, range), contract.name, range),
|
|
81
|
+
web: pinDependency(pinDependency({ ...web, version }, apiClient.name, range), cezar.name, range),
|
|
66
82
|
alias: {
|
|
67
83
|
...pinDependency({ ...alias, ...inherited, version }, cezar.name, range),
|
|
68
84
|
// The alias exists only to depend on the service — an unpinned or missing entry would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../src/release/manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB;IAC7C,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;AAC9B,CAAC;
|
|
1
|
+
{"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../src/release/manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB;IAC7C,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,SAAS,EAAE,qBAAqB;IAChC,KAAK,EAAE,gBAAgB;IACvB,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,gBAAgB;CACf,CAAC;AAuCX;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB,EAAE,OAAe,EAAE,KAAa;IAC7E,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAU,CAAC;IAClF,MAAM,GAAG,GAAiB,EAAE,GAAG,GAAG,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAuC,CAAC;QAChE,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA2B,EAC3B,OAAe,EACf,GAAa;IAEb,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAE3B,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAU,EAAE,CAAC;QAChE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;QAClC,SAAS,EAAE,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QACzE,KAAK,EAAE,aAAa,CAClB,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAC3D,QAAQ,CAAC,IAAI,EACb,KAAK,CACN;QACD,GAAG,EAAE,aAAa,CAChB,aAAa,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EACzD,KAAK,CAAC,IAAI,EACV,KAAK,CACN;QACD,KAAK,EAAE;YACL,GAAG,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;YACxE,sFAAsF;YACtF,kFAAkF;YAClF,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE;SAC7D;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { InstallContext } from './types.ts';
|
|
2
|
+
/** True when a launch command launches cezar via npx (the unpinned
|
|
3
|
+
* `npx --yes cezarion` form) rather than a checkout (`<node> …/dist/index.js`)
|
|
4
|
+
* or a global bin. */
|
|
5
|
+
export declare function isNpxExecStart(execStart: string): boolean;
|
|
6
|
+
/** True when the unit is an npx launch of a package that is NOT ours — in practice a unit
|
|
7
|
+
* installed by upstream cezar as `npx --yes cezar-cli`, before this clone took its own npm
|
|
8
|
+
* identity (#23).
|
|
9
|
+
*
|
|
10
|
+
* Deliberately not treated as ours to refresh: clearing another package's npx cache would make
|
|
11
|
+
* the next restart fetch THAT package's `latest`, silently moving the box onto upstream's newest
|
|
12
|
+
* release — the shadowing the rename exists to prevent. But saying nothing is worse, because
|
|
13
|
+
* `server-deploy` then reports a green restart while the running version is unchanged. So the
|
|
14
|
+
* caller warns and names the remedy.
|
|
15
|
+
*
|
|
16
|
+
* A checkout unit (`<node> …/dist/index.js`) is not foreign, including one running out of an
|
|
17
|
+
* `_npx` directory: `\bnpx\b` needs a non-word character before `npx`, and `_` is a word
|
|
18
|
+
* character, so `_npx` never matches. A global-bin unit names no `npx` at all and is likewise
|
|
19
|
+
* excluded — its restart picks up whatever the global bin now points at. */
|
|
20
|
+
export declare function isForeignNpxExecStart(execStart: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The npx trap (#696 / #32): `npx --yes cezarion` caches the resolved package under
|
|
23
|
+
* `~/.npm/_npx/<hash>` and reuses it forever — a service restart re-execs the
|
|
24
|
+
* SAME cached build, so `server-deploy` would never actually update. Before
|
|
25
|
+
* restarting an npx-based unit we delete the cache entries that contain
|
|
26
|
+
* `cezarion`, so the next launch re-resolves `latest`. Surgical: other npx
|
|
27
|
+
* packages' caches are left untouched. A checkout / global-bin unit has no
|
|
28
|
+
* npx cache to clear and is skipped (its restart picks up the new build/global
|
|
29
|
+
* directly).
|
|
30
|
+
*
|
|
31
|
+
* `execStart` is the live launch command: systemd `ExecStart` on ubuntu-vps,
|
|
32
|
+
* launchd `ProgramArguments` joined on macosx-ngrok.
|
|
33
|
+
*/
|
|
34
|
+
export declare function refreshNpxCacheForRedeploy(ctx: InstallContext, execStart: string, opts?: {
|
|
35
|
+
reconfigureHint?: string;
|
|
36
|
+
}): void;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { readdirSync, rmSync, statSync } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { StepAborted } from './steps.js';
|
|
5
|
+
const OFFICIAL_CLI_PKG = 'cezarion';
|
|
6
|
+
const DEFAULT_RECONFIGURE_HINT = ` cez server-install --platform ubuntu-vps --reconfigure autostart`;
|
|
7
|
+
/** The npx package cache root for the user the service runs as (this is the
|
|
8
|
+
* same user that runs `server-deploy`). Honors an `npm_config_cache` override,
|
|
9
|
+
* else npm's default `~/.npm`. */
|
|
10
|
+
function npxCacheDir() {
|
|
11
|
+
const base = process.env.npm_config_cache?.trim() || join(homedir(), '.npm');
|
|
12
|
+
return join(base, '_npx');
|
|
13
|
+
}
|
|
14
|
+
/** True when a launch command launches cezar via npx (the unpinned
|
|
15
|
+
* `npx --yes cezarion` form) rather than a checkout (`<node> …/dist/index.js`)
|
|
16
|
+
* or a global bin. */
|
|
17
|
+
export function isNpxExecStart(execStart) {
|
|
18
|
+
return /\bnpx\b/.test(execStart) && execStart.includes(OFFICIAL_CLI_PKG);
|
|
19
|
+
}
|
|
20
|
+
/** True when the unit is an npx launch of a package that is NOT ours — in practice a unit
|
|
21
|
+
* installed by upstream cezar as `npx --yes cezar-cli`, before this clone took its own npm
|
|
22
|
+
* identity (#23).
|
|
23
|
+
*
|
|
24
|
+
* Deliberately not treated as ours to refresh: clearing another package's npx cache would make
|
|
25
|
+
* the next restart fetch THAT package's `latest`, silently moving the box onto upstream's newest
|
|
26
|
+
* release — the shadowing the rename exists to prevent. But saying nothing is worse, because
|
|
27
|
+
* `server-deploy` then reports a green restart while the running version is unchanged. So the
|
|
28
|
+
* caller warns and names the remedy.
|
|
29
|
+
*
|
|
30
|
+
* A checkout unit (`<node> …/dist/index.js`) is not foreign, including one running out of an
|
|
31
|
+
* `_npx` directory: `\bnpx\b` needs a non-word character before `npx`, and `_` is a word
|
|
32
|
+
* character, so `_npx` never matches. A global-bin unit names no `npx` at all and is likewise
|
|
33
|
+
* excluded — its restart picks up whatever the global bin now points at. */
|
|
34
|
+
export function isForeignNpxExecStart(execStart) {
|
|
35
|
+
return /\bnpx\b/.test(execStart) && !execStart.includes(OFFICIAL_CLI_PKG);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The npx trap (#696 / #32): `npx --yes cezarion` caches the resolved package under
|
|
39
|
+
* `~/.npm/_npx/<hash>` and reuses it forever — a service restart re-execs the
|
|
40
|
+
* SAME cached build, so `server-deploy` would never actually update. Before
|
|
41
|
+
* restarting an npx-based unit we delete the cache entries that contain
|
|
42
|
+
* `cezarion`, so the next launch re-resolves `latest`. Surgical: other npx
|
|
43
|
+
* packages' caches are left untouched. A checkout / global-bin unit has no
|
|
44
|
+
* npx cache to clear and is skipped (its restart picks up the new build/global
|
|
45
|
+
* directly).
|
|
46
|
+
*
|
|
47
|
+
* `execStart` is the live launch command: systemd `ExecStart` on ubuntu-vps,
|
|
48
|
+
* launchd `ProgramArguments` joined on macosx-ngrok.
|
|
49
|
+
*/
|
|
50
|
+
export function refreshNpxCacheForRedeploy(ctx, execStart, opts = {}) {
|
|
51
|
+
if (!isNpxExecStart(execStart)) {
|
|
52
|
+
if (isForeignNpxExecStart(execStart)) {
|
|
53
|
+
ctx.ui.warn(`This service is launched by npx from a package other than ${OFFICIAL_CLI_PKG} — most likely a unit ` +
|
|
54
|
+
`installed by upstream cezar as \`npx --yes cezar-cli\`. Restarting it re-execs that package's cached ` +
|
|
55
|
+
`build, so this deploy will NOT change the running version, and clearing that cache would move the box ` +
|
|
56
|
+
`onto upstream's latest instead. Rewrite the unit for ${OFFICIAL_CLI_PKG} first:\n` +
|
|
57
|
+
(opts.reconfigureHint ?? DEFAULT_RECONFIGURE_HINT));
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const dir = npxCacheDir();
|
|
62
|
+
if (ctx.dryRun) {
|
|
63
|
+
ctx.ui.info(`DRY RUN — would clear cached ${OFFICIAL_CLI_PKG} builds under ${dir} so npx refetches the latest.`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
let entries;
|
|
67
|
+
try {
|
|
68
|
+
entries = readdirSync(dir);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (error.code === 'ENOENT') {
|
|
72
|
+
ctx.ui.info(`No cached ${OFFICIAL_CLI_PKG} npx build found — the restart will fetch the latest published version.`);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
76
|
+
throw new StepAborted(`cannot inspect the npx cache at ${dir}: ${message} — the service was not restarted`);
|
|
77
|
+
}
|
|
78
|
+
let cleared = 0;
|
|
79
|
+
for (const entry of entries) {
|
|
80
|
+
const pkgDir = join(dir, entry);
|
|
81
|
+
const packageDir = join(pkgDir, 'node_modules', OFFICIAL_CLI_PKG);
|
|
82
|
+
try {
|
|
83
|
+
statSync(packageDir);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (error.code === 'ENOENT')
|
|
87
|
+
continue;
|
|
88
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
89
|
+
throw new StepAborted(`cannot inspect the npx cache entry at ${packageDir}: ${message} — the service was not restarted`);
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
rmSync(pkgDir, { recursive: true, force: true });
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
96
|
+
throw new StepAborted(`cannot remove the cached ${OFFICIAL_CLI_PKG} build at ${pkgDir}: ${message} — the service was not restarted`);
|
|
97
|
+
}
|
|
98
|
+
cleared++;
|
|
99
|
+
}
|
|
100
|
+
ctx.ui.info(cleared > 0
|
|
101
|
+
? `Cleared ${cleared} cached ${OFFICIAL_CLI_PKG} npx build(s) — the restart will fetch the latest published version.`
|
|
102
|
+
: `No cached ${OFFICIAL_CLI_PKG} npx build found — the restart will fetch the latest published version.`);
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=npx-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npx-cache.js","sourceRoot":"","sources":["../../src/server-install/npx-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { chmodSync, existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
1
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { dirname, join, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { CANCEL, PreflightError } from '../types.js';
|
|
6
6
|
import { brewInstallTool, brewRemoveHint, depCheckStep, HOSTNAME_RE, owned, shared, StepAborted, StepCancelled, verifyCommand } from '../steps.js';
|
|
7
|
+
import { refreshNpxCacheForRedeploy } from '../npx-cache.js';
|
|
7
8
|
/**
|
|
8
9
|
* The `macosx-ngrok` strategy: the app runs locally on a Mac and ngrok is the
|
|
9
10
|
* public front, in place of nginx+certbot. ngrok's built-in `--basic-auth` is
|
|
@@ -184,6 +185,24 @@ const ngrokStep = {
|
|
|
184
185
|
const CEZAR_PLIST_LABEL = 'ai.cezar.cockpit';
|
|
185
186
|
const OFFICIAL_CLI_PKG = 'cezarion';
|
|
186
187
|
const cezarPlistPath = () => join(homedir(), 'Library', 'LaunchAgents', `${CEZAR_PLIST_LABEL}.plist`);
|
|
188
|
+
/** Live launchd `ProgramArguments` joined into one string so the shared npx-cache
|
|
189
|
+
* helper can classify the launch form the same way ubuntu-vps classifies ExecStart.
|
|
190
|
+
* Empty string when the plist can't be read — callers then skip the cache refresh
|
|
191
|
+
* rather than guessing. */
|
|
192
|
+
function readCezarProgramArguments() {
|
|
193
|
+
try {
|
|
194
|
+
const xml = readFileSync(cezarPlistPath(), 'utf8');
|
|
195
|
+
const inner = xml.match(/<key>ProgramArguments<\/key>\s*<array>([\s\S]*?)<\/array>/)?.[1];
|
|
196
|
+
if (inner === undefined)
|
|
197
|
+
return '';
|
|
198
|
+
return [...inner.matchAll(/<string>([\s\S]*?)<\/string>/g)]
|
|
199
|
+
.map((m) => (m[1] ?? '').replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>'))
|
|
200
|
+
.join(' ');
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
return '';
|
|
204
|
+
}
|
|
205
|
+
}
|
|
187
206
|
/** Resolve the argv array for the cezar launchd agent, mirroring how the CLI was launched. */
|
|
188
207
|
async function resolveCezarArgv(ctx) {
|
|
189
208
|
const node = process.execPath;
|
|
@@ -325,6 +344,13 @@ export const macosxNgrok = {
|
|
|
325
344
|
];
|
|
326
345
|
},
|
|
327
346
|
async redeploy(ctx) {
|
|
347
|
+
// #32: an npx-launched agent re-execs its cached build on kickstart, so a
|
|
348
|
+
// deploy that doesn't invalidate the npx cache never actually updates.
|
|
349
|
+
// Clear the cezarion cache first (read the live ProgramArguments to know the
|
|
350
|
+
// launch form); a checkout / global agent is left alone.
|
|
351
|
+
refreshNpxCacheForRedeploy(ctx, readCezarProgramArguments(), {
|
|
352
|
+
reconfigureHint: ` cez server-install --platform macosx-ngrok --reconfigure autostart`,
|
|
353
|
+
});
|
|
328
354
|
// Restart both the cezar cockpit and the ngrok tunnel, then re-verify.
|
|
329
355
|
if (ctx.dryRun) {
|
|
330
356
|
ctx.ui.info('DRY RUN — would restart the cezar and ngrok launchd agents and re-verify.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macosx-ngrok.js","sourceRoot":"","sources":["../../../src/server-install/platforms/macosx-ngrok.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAmF,MAAM,aAAa,CAAC;AACtI,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnJ;;;;;;GAMG;AAEH,MAAM,WAAW,GAAG,gBAAgB,CAAC;AACrC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW,QAAQ,CAAC,CAAC;AAEnG;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAmB,EAAE,GAAW,EAAE,KAAa,EAAE,IAAY,EAAE,IAAY;IAC1G,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;IACpG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,WAAW,CACnB,4BAA4B,IAAI,oBAAoB,IAAI,4CAA4C,GAAG,IAAI,KAAK,EAAE,CACnH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,SAAiB,EAAE,MAAe,EAAE,QAAQ,GAAG,yBAAyB;IACjH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;SACpD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;;;;cAMK,WAAW;;;EAGvB,MAAM;;;;;;;;CAQP,CAAC;AACF,CAAC;AAED,MAAM,SAAS,GAAgB;IAC7B,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,gDAAgD;IACvD,KAAK,CAAC,KAAK,CAAC,GAAG;QACb,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7B,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,MAAM;gBAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;;gBAC9E,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,wFAAwF;QACxF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;YAClC,OAAO,EAAE,mEAAmE;YAC5E,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC;SAClE,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,MAAM;YAAE,MAAM,IAAI,aAAa,EAAE,CAAC;QAChD,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,0CAA0C;QAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,+CAA+C,CAAC,EAAE;gBACzG,GAAG,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;aACxC,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,CAAC;gBAAE,MAAM,IAAI,WAAW,CAAC,iGAAiG,CAAC,CAAC;QAC3I,CAAC;QAED,gDAAgD;QAChD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,kFAAkF;YAC3F,WAAW,EAAE,iBAAiB;YAC9B,2EAA2E;YAC3E,oDAAoD;YACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yDAAyD,CAAC;SACnI,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,aAAa,EAAE,CAAC;QACtD,yEAAyE;QACzE,8EAA8E;QAC9E,MAAM,MAAM,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtG,yBAAyB;QACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAC7B,OAAO,EAAE,oCAAoC;YAC7C,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,aAAa,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;YACrC,OAAO,EAAE,4BAA4B,IAAI,GAAG;YAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC;SAC3E,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,MAAM;YAAE,MAAM,IAAI,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,WAAW,CAAC,4FAA4F,CAAC,CAAC;QACtH,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAExD,mFAAmF;QACnF,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,IAAI,8BAA8B,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,yBAAyB,CAAC;YAE5H,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,0EAA0E;YAC1E,sEAAsE;YACtE,oEAAoE;YACpE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzH,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEvB,qEAAqE;YACrE,0CAA0C;YAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,2DAA2D;YAC3D,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;YAChF,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,MAAM,EAAE,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3B,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,8GAA8G,EAAE,OAAO,CAAC,CAAC;QACvI,CAAC;QAED,OAAO;YACL,SAAS,EAAE;gBACT,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,uFAAuF,EAAE,CAAC;gBAClJ,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAC9C;SACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO;QACrB,2EAA2E;QAC3E,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;QAC/F,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAC9E,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,EAAE,CAAC,IAAI,CACT,iGAAiG,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,EACvH,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,2EAA2E;AAE3E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,UAAU,CAAC;AACpC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,iBAAiB,QAAQ,CAAC,CAAC;AAE9G,8FAA8F;AAC9F,KAAK,UAAU,gBAAgB,CAAC,GAAmB;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAE3C,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAChF,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1D,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,gBAAgB,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1H,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7E,IAAI,SAAS;QAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAExC,sEAAsE;IACtE,4EAA4E;IAC5E,MAAM,IAAI,WAAW,CACnB,sCAAsC,KAAK,uBAAuB,gBAAgB,MAAM;QACtF,wBAAwB,gBAAgB,mEAAmE,CAC9G,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAc;IAC9E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC;SACvH,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,OAAO;;;;;;cAMK,iBAAiB;;;EAG7B,MAAM;;;cAGM,SAAS,CAAC,QAAQ,CAAC;;;;;;gBAMjB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;;;;;;;CAQ5C,CAAC;AACF,CAAC;AAED,MAAM,aAAa,GAAgB;IACjC,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,yDAAyD;IAChE,KAAK,CAAC,KAAK,CAAC,GAAG;QACb,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7B,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,IAAI,8BAA8B,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACrH,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO;QACrB,0DAA0D;QAC1D,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,IAAI,cAAc,EAAE,CAAC;QACpG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,YAAY,GAAgB;IAChC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,0CAA0C;IACjD,KAAK,CAAC,KAAK;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC1F,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC3B,CAAC;QACD,mEAAmE;QACnE,yDAAyD;QACzD,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,mCAAmC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7H,CAAC;QACD,IAAI,EAAE;YAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC;;YACjF,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QACrG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAI;QACR,kBAAkB;IACpB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,eAAe;IACtB,KAAK,CAAC,SAAS,CAAC,GAAmB;QACjC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,cAAc,CAAC,wEAAwE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IACD,KAAK;QACH,OAAO;YACL,YAAY,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YAC1E,aAAa;YACb,SAAS;YACT,YAAY;SACb,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,GAAmB;QAChC,uEAAuE;QACvE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACpH,IAAI,SAAS,KAAK,CAAC;YAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,uEAAuE,GAAG,IAAI,iBAAiB,KAAK,CAAC,CAAC;QACvI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;QACzG,IAAI,IAAI,KAAK,CAAC;YAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,uEAAuE,GAAG,IAAI,WAAW,KAAK,CAAC,CAAC;QAC5H,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"macosx-ngrok.js","sourceRoot":"","sources":["../../../src/server-install/platforms/macosx-ngrok.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type InstallContext, type PlatformStrategy } from '../types.ts';
|
|
2
|
+
import { isForeignNpxExecStart, isNpxExecStart, refreshNpxCacheForRedeploy } from '../npx-cache.ts';
|
|
3
|
+
export { isForeignNpxExecStart, isNpxExecStart, refreshNpxCacheForRedeploy };
|
|
2
4
|
/**
|
|
3
5
|
* Name of the process listening on `port`, or null when nothing is. Best effort
|
|
4
6
|
* (`ss` output varies, and without root the process name may be hidden) — used
|
|
@@ -45,34 +47,4 @@ export declare function serviceExecStart(opts: {
|
|
|
45
47
|
npxPath: string;
|
|
46
48
|
globalBin?: string;
|
|
47
49
|
}): string;
|
|
48
|
-
/** True when a systemd `ExecStart` string launches cezar via npx (the unpinned
|
|
49
|
-
* `npx --yes cezar-cli` form) rather than a checkout (`<node> …/dist/index.js`)
|
|
50
|
-
* or a global bin. */
|
|
51
|
-
export declare function isNpxExecStart(execStart: string): boolean;
|
|
52
|
-
/** True when the unit is an npx launch of a package that is NOT ours — in practice a unit
|
|
53
|
-
* installed by upstream cezar as `npx --yes cezar-cli`, before this clone took its own npm
|
|
54
|
-
* identity (#23).
|
|
55
|
-
*
|
|
56
|
-
* Deliberately not treated as ours to refresh: clearing another package's npx cache would make
|
|
57
|
-
* the next restart fetch THAT package's `latest`, silently moving the box onto upstream's newest
|
|
58
|
-
* release — the shadowing the rename exists to prevent. But saying nothing is worse, because
|
|
59
|
-
* `server-deploy` then reports a green restart while the running version is unchanged. So the
|
|
60
|
-
* caller warns and names the remedy.
|
|
61
|
-
*
|
|
62
|
-
* A checkout unit (`<node> …/dist/index.js`) is not foreign, including one running out of an
|
|
63
|
-
* `_npx` directory: `\bnpx\b` needs a non-word character before `npx`, and `_` is a word
|
|
64
|
-
* character, so `_npx` never matches. A global-bin unit names no `npx` at all and is likewise
|
|
65
|
-
* excluded — its restart picks up whatever the global bin now points at. */
|
|
66
|
-
export declare function isForeignNpxExecStart(execStart: string): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* The npx trap (#696): `npx --yes cezarion` caches the resolved package under
|
|
69
|
-
* `~/.npm/_npx/<hash>` and reuses it forever — a service restart re-execs the
|
|
70
|
-
* SAME cached build, so `server-deploy` would never actually update. Before
|
|
71
|
-
* restarting an npx-based unit we delete the cache entries that contain
|
|
72
|
-
* `cezarion`, so the next launch re-resolves `latest`. Surgical: other npx
|
|
73
|
-
* packages' caches are left untouched. A checkout / global-bin unit has no
|
|
74
|
-
* npx cache to clear and is skipped (its restart picks up the new build/global
|
|
75
|
-
* directly).
|
|
76
|
-
*/
|
|
77
|
-
export declare function refreshNpxCacheForRedeploy(ctx: InstallContext, execStart: string): void;
|
|
78
50
|
export declare const ubuntuVps: PlatformStrategy;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { existsSync, mkdirSync,
|
|
1
|
+
import { existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { homedir, userInfo } from 'node:os';
|
|
3
3
|
import { dirname, join, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { CANCEL, PreflightError } from '../types.js';
|
|
6
6
|
import { depCheckStep, generatePassword, owned, shared, shquote, StepAborted, StepCancelled, StepSkipped, sudoStep, verifyCommand } from '../steps.js';
|
|
7
|
+
import { isForeignNpxExecStart, isNpxExecStart, refreshNpxCacheForRedeploy } from '../npx-cache.js';
|
|
8
|
+
export { isForeignNpxExecStart, isNpxExecStart, refreshNpxCacheForRedeploy };
|
|
7
9
|
/**
|
|
8
10
|
* The `ubuntu-vps` strategy: stand up an authenticated, proxied cezar on a bare
|
|
9
11
|
* Ubuntu/Debian VPS. cezar itself stays loopback-bound; nginx is the single
|
|
@@ -602,100 +604,6 @@ async function resolveExecStart(ctx) {
|
|
|
602
604
|
}
|
|
603
605
|
return serviceExecStart({ node, pkgRoot, entry, entryExists: existsSync(entry), npxPath, globalBin });
|
|
604
606
|
}
|
|
605
|
-
/** The npx package cache root for the user the service runs as (this is the
|
|
606
|
-
* same user that runs `server-deploy`). Honors an `npm_config_cache` override,
|
|
607
|
-
* else npm's default `~/.npm`. */
|
|
608
|
-
function npxCacheDir() {
|
|
609
|
-
const base = process.env.npm_config_cache?.trim() || join(homedir(), '.npm');
|
|
610
|
-
return join(base, '_npx');
|
|
611
|
-
}
|
|
612
|
-
/** True when a systemd `ExecStart` string launches cezar via npx (the unpinned
|
|
613
|
-
* `npx --yes cezar-cli` form) rather than a checkout (`<node> …/dist/index.js`)
|
|
614
|
-
* or a global bin. */
|
|
615
|
-
export function isNpxExecStart(execStart) {
|
|
616
|
-
return /\bnpx\b/.test(execStart) && execStart.includes(OFFICIAL_CLI_PKG);
|
|
617
|
-
}
|
|
618
|
-
/** True when the unit is an npx launch of a package that is NOT ours — in practice a unit
|
|
619
|
-
* installed by upstream cezar as `npx --yes cezar-cli`, before this clone took its own npm
|
|
620
|
-
* identity (#23).
|
|
621
|
-
*
|
|
622
|
-
* Deliberately not treated as ours to refresh: clearing another package's npx cache would make
|
|
623
|
-
* the next restart fetch THAT package's `latest`, silently moving the box onto upstream's newest
|
|
624
|
-
* release — the shadowing the rename exists to prevent. But saying nothing is worse, because
|
|
625
|
-
* `server-deploy` then reports a green restart while the running version is unchanged. So the
|
|
626
|
-
* caller warns and names the remedy.
|
|
627
|
-
*
|
|
628
|
-
* A checkout unit (`<node> …/dist/index.js`) is not foreign, including one running out of an
|
|
629
|
-
* `_npx` directory: `\bnpx\b` needs a non-word character before `npx`, and `_` is a word
|
|
630
|
-
* character, so `_npx` never matches. A global-bin unit names no `npx` at all and is likewise
|
|
631
|
-
* excluded — its restart picks up whatever the global bin now points at. */
|
|
632
|
-
export function isForeignNpxExecStart(execStart) {
|
|
633
|
-
return /\bnpx\b/.test(execStart) && !execStart.includes(OFFICIAL_CLI_PKG);
|
|
634
|
-
}
|
|
635
|
-
/**
|
|
636
|
-
* The npx trap (#696): `npx --yes cezarion` caches the resolved package under
|
|
637
|
-
* `~/.npm/_npx/<hash>` and reuses it forever — a service restart re-execs the
|
|
638
|
-
* SAME cached build, so `server-deploy` would never actually update. Before
|
|
639
|
-
* restarting an npx-based unit we delete the cache entries that contain
|
|
640
|
-
* `cezarion`, so the next launch re-resolves `latest`. Surgical: other npx
|
|
641
|
-
* packages' caches are left untouched. A checkout / global-bin unit has no
|
|
642
|
-
* npx cache to clear and is skipped (its restart picks up the new build/global
|
|
643
|
-
* directly).
|
|
644
|
-
*/
|
|
645
|
-
export function refreshNpxCacheForRedeploy(ctx, execStart) {
|
|
646
|
-
if (!isNpxExecStart(execStart)) {
|
|
647
|
-
if (isForeignNpxExecStart(execStart)) {
|
|
648
|
-
ctx.ui.warn(`This service is launched by npx from a package other than ${OFFICIAL_CLI_PKG} — most likely a unit ` +
|
|
649
|
-
`installed by upstream cezar as \`npx --yes cezar-cli\`. Restarting it re-execs that package's cached ` +
|
|
650
|
-
`build, so this deploy will NOT change the running version, and clearing that cache would move the box ` +
|
|
651
|
-
`onto upstream's latest instead. Rewrite the unit for ${OFFICIAL_CLI_PKG} first:\n` +
|
|
652
|
-
` cez server-install --platform ubuntu-vps --reconfigure autostart`);
|
|
653
|
-
}
|
|
654
|
-
return;
|
|
655
|
-
}
|
|
656
|
-
const dir = npxCacheDir();
|
|
657
|
-
if (ctx.dryRun) {
|
|
658
|
-
ctx.ui.info(`DRY RUN — would clear cached ${OFFICIAL_CLI_PKG} builds under ${dir} so npx refetches the latest.`);
|
|
659
|
-
return;
|
|
660
|
-
}
|
|
661
|
-
let entries;
|
|
662
|
-
try {
|
|
663
|
-
entries = readdirSync(dir);
|
|
664
|
-
}
|
|
665
|
-
catch (error) {
|
|
666
|
-
if (error.code === 'ENOENT') {
|
|
667
|
-
ctx.ui.info(`No cached ${OFFICIAL_CLI_PKG} npx build found — the restart will fetch the latest published version.`);
|
|
668
|
-
return;
|
|
669
|
-
}
|
|
670
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
671
|
-
throw new StepAborted(`cannot inspect the npx cache at ${dir}: ${message} — the service was not restarted`);
|
|
672
|
-
}
|
|
673
|
-
let cleared = 0;
|
|
674
|
-
for (const entry of entries) {
|
|
675
|
-
const pkgDir = join(dir, entry);
|
|
676
|
-
const packageDir = join(pkgDir, 'node_modules', OFFICIAL_CLI_PKG);
|
|
677
|
-
try {
|
|
678
|
-
statSync(packageDir);
|
|
679
|
-
}
|
|
680
|
-
catch (error) {
|
|
681
|
-
if (error.code === 'ENOENT')
|
|
682
|
-
continue;
|
|
683
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
684
|
-
throw new StepAborted(`cannot inspect the npx cache entry at ${packageDir}: ${message} — the service was not restarted`);
|
|
685
|
-
}
|
|
686
|
-
try {
|
|
687
|
-
rmSync(pkgDir, { recursive: true, force: true });
|
|
688
|
-
}
|
|
689
|
-
catch (error) {
|
|
690
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
691
|
-
throw new StepAborted(`cannot remove the cached ${OFFICIAL_CLI_PKG} build at ${pkgDir}: ${message} — the service was not restarted`);
|
|
692
|
-
}
|
|
693
|
-
cleared++;
|
|
694
|
-
}
|
|
695
|
-
ctx.ui.info(cleared > 0
|
|
696
|
-
? `Cleared ${cleared} cached ${OFFICIAL_CLI_PKG} npx build(s) — the restart will fetch the latest published version.`
|
|
697
|
-
: `No cached ${OFFICIAL_CLI_PKG} npx build found — the restart will fetch the latest published version.`);
|
|
698
|
-
}
|
|
699
607
|
/** Read the unit's live `ExecStart` (read-only query; no sudo needed even for a
|
|
700
608
|
* system unit). Empty string when it can't be read — callers then skip the
|
|
701
609
|
* npx-cache refresh rather than guessing. */
|