fix (cli): harden daemon compat shim for minimal bundle exports
This commit is contained in:
@@ -9,6 +9,12 @@ export const LEGACY_DAEMON_CLI_EXPORTS = [
|
||||
] as const;
|
||||
|
||||
type LegacyDaemonCliExport = (typeof LEGACY_DAEMON_CLI_EXPORTS)[number];
|
||||
export type LegacyDaemonCliAccessors = {
|
||||
registerDaemonCli: string;
|
||||
runDaemonRestart: string;
|
||||
} & Partial<
|
||||
Record<Exclude<LegacyDaemonCliExport, "registerDaemonCli" | "runDaemonRestart">, string>
|
||||
>;
|
||||
|
||||
const EXPORT_SPEC_RE = /^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/;
|
||||
const REGISTER_CONTAINER_RE =
|
||||
@@ -48,7 +54,7 @@ function findRegisterContainerSymbol(bundleSource: string): string | null {
|
||||
|
||||
export function resolveLegacyDaemonCliAccessors(
|
||||
bundleSource: string,
|
||||
): Record<LegacyDaemonCliExport, string> | null {
|
||||
): LegacyDaemonCliAccessors | null {
|
||||
const aliases = parseExportAliases(bundleSource);
|
||||
if (!aliases) {
|
||||
return null;
|
||||
@@ -64,27 +70,30 @@ export function resolveLegacyDaemonCliAccessors(
|
||||
const runDaemonStatus = aliases.get("runDaemonStatus");
|
||||
const runDaemonStop = aliases.get("runDaemonStop");
|
||||
const runDaemonUninstall = aliases.get("runDaemonUninstall");
|
||||
if (
|
||||
!(registerContainerAlias || registerDirectAlias) ||
|
||||
!runDaemonInstall ||
|
||||
!runDaemonRestart ||
|
||||
!runDaemonStart ||
|
||||
!runDaemonStatus ||
|
||||
!runDaemonStop ||
|
||||
!runDaemonUninstall
|
||||
) {
|
||||
if (!(registerContainerAlias || registerDirectAlias) || !runDaemonRestart) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
const accessors: LegacyDaemonCliAccessors = {
|
||||
registerDaemonCli: registerContainerAlias
|
||||
? `${registerContainerAlias}.registerDaemonCli`
|
||||
: registerDirectAlias!,
|
||||
runDaemonInstall,
|
||||
runDaemonRestart,
|
||||
runDaemonStart,
|
||||
runDaemonStatus,
|
||||
runDaemonStop,
|
||||
runDaemonUninstall,
|
||||
};
|
||||
if (runDaemonInstall) {
|
||||
accessors.runDaemonInstall = runDaemonInstall;
|
||||
}
|
||||
if (runDaemonStart) {
|
||||
accessors.runDaemonStart = runDaemonStart;
|
||||
}
|
||||
if (runDaemonStatus) {
|
||||
accessors.runDaemonStatus = runDaemonStatus;
|
||||
}
|
||||
if (runDaemonStop) {
|
||||
accessors.runDaemonStop = runDaemonStop;
|
||||
}
|
||||
if (runDaemonUninstall) {
|
||||
accessors.runDaemonUninstall = runDaemonUninstall;
|
||||
}
|
||||
return accessors;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user