mirror of
https://github.com/morluto/rea
synced 2026-10-26 06:16:17 -04:00
refactor(cli): remove redundant runtime provider contexts
This commit is contained in:
+1
-1
@@ -52,7 +52,7 @@ import { registerJavaScriptRecoveryCommands } from "./cli/javascriptRecoveryComm
|
||||
import { registerAdvancedBrowserCommands } from "./cli/browserAdvancedCommands.js";
|
||||
import { registerBrowserScenarioCommands } from "./cliBrowserScenarioCommands.js";
|
||||
import { registerElectronCommands } from "./cli/electronCommands.js";
|
||||
import { registerJavaScriptRuntimeObservationCommands } from "./cliJavaScriptRuntimeCommands.js";
|
||||
import { registerJavaScriptRuntimeObservationCommands } from "./cli/javascriptRuntimeCommands.js";
|
||||
import { registerApplicationCommands } from "./cli/applicationCommands.js";
|
||||
import { presentOmittableDefaults } from "./cli/omittableDefaults.js";
|
||||
import type { CliInstance } from "./cli/types.js";
|
||||
|
||||
+12
-12
@@ -220,7 +220,8 @@ const registerElectronTargetList = (
|
||||
run: ({ args }) =>
|
||||
withCommandCancellation((signal) =>
|
||||
logCliCommand(logger, "list-electron-targets", async () => {
|
||||
const context = await electronObservationContext(environment);
|
||||
const provider =
|
||||
await createCliElectronObservationProvider(environment);
|
||||
const input = {
|
||||
cdp_endpoint: args.endpoint,
|
||||
};
|
||||
@@ -234,14 +235,13 @@ const registerElectronTargetList = (
|
||||
const { listElectronTargets } =
|
||||
await import("../application/javascript/ElectronObservationService.js");
|
||||
return await finishAnalysisCommand(
|
||||
() =>
|
||||
listElectronTargets(context.provider, parsed.data, { signal }),
|
||||
() => listElectronTargets(provider, parsed.data, { signal }),
|
||||
{
|
||||
close: async () => {
|
||||
await context.provider.close?.();
|
||||
await provider.close?.();
|
||||
},
|
||||
},
|
||||
"rea-cdp-electron",
|
||||
provider.identity().id,
|
||||
"list_electron_targets",
|
||||
signal,
|
||||
);
|
||||
@@ -265,7 +265,8 @@ const registerElectronPageInspection = (
|
||||
run: ({ args, options }) =>
|
||||
withCommandCancellation((signal) =>
|
||||
logCliCommand(logger, "inspect-electron-page", async () => {
|
||||
const context = await electronObservationContext(environment);
|
||||
const provider =
|
||||
await createCliElectronObservationProvider(environment);
|
||||
const input = {
|
||||
cdp_endpoint: args.endpoint,
|
||||
target_id: args.targetId,
|
||||
@@ -283,14 +284,13 @@ const registerElectronPageInspection = (
|
||||
const { inspectElectronPage } =
|
||||
await import("../application/javascript/ElectronObservationService.js");
|
||||
return await finishAnalysisCommand(
|
||||
() =>
|
||||
inspectElectronPage(context.provider, parsed.data, { signal }),
|
||||
() => inspectElectronPage(provider, parsed.data, { signal }),
|
||||
{
|
||||
close: async () => {
|
||||
await context.provider.close?.();
|
||||
await provider.close?.();
|
||||
},
|
||||
},
|
||||
"rea-cdp-electron",
|
||||
provider.identity().id,
|
||||
"inspect_electron_page",
|
||||
signal,
|
||||
);
|
||||
@@ -367,12 +367,12 @@ const registerJavaScriptApplicationCommand = (
|
||||
});
|
||||
};
|
||||
|
||||
const electronObservationContext = async (
|
||||
const createCliElectronObservationProvider = async (
|
||||
environment: Readonly<Record<string, string | undefined>>,
|
||||
) => {
|
||||
const { createElectronObservationProvider } =
|
||||
await import("../composition/electronObservation.js");
|
||||
return { provider: createElectronObservationProvider(environment) };
|
||||
return createElectronObservationProvider(environment);
|
||||
};
|
||||
|
||||
const inputError = (
|
||||
|
||||
@@ -3,21 +3,21 @@ import { Cli, z } from "incur";
|
||||
import {
|
||||
listJavaScriptRuntimeTargets,
|
||||
observeJavaScriptRuntime,
|
||||
} from "./application/javascript/JavaScriptRuntimeObservationService.js";
|
||||
import { createJavaScriptRuntimeObservationProvider } from "./composition/javascriptRuntimeObservation.js";
|
||||
import { CLI_COMMANDS } from "./cliCommandNames.js";
|
||||
import { logCliCommand } from "./cliLogging.js";
|
||||
} from "../application/javascript/JavaScriptRuntimeObservationService.js";
|
||||
import { createJavaScriptRuntimeObservationProvider } from "../composition/javascriptRuntimeObservation.js";
|
||||
import { CLI_COMMANDS } from "../cliCommandNames.js";
|
||||
import { logCliCommand } from "../cliLogging.js";
|
||||
import {
|
||||
javascriptRuntimeKindSchema,
|
||||
listJavaScriptRuntimeTargetsInputSchema,
|
||||
observeJavaScriptRuntimeInputSchema,
|
||||
} from "./domain/javascript/javascriptRuntimeObservation.js";
|
||||
import { analysisInputErrorFromIssues } from "./domain/inputIssueProjection.js";
|
||||
import { projectAnalysisError } from "./domain/analysisErrorProjection.js";
|
||||
import { finishAnalysisCommand } from "./cli/finishAnalysisCommand.js";
|
||||
import type { JsonValue } from "./domain/jsonValue.js";
|
||||
} from "../domain/javascript/javascriptRuntimeObservation.js";
|
||||
import { analysisInputErrorFromIssues } from "../domain/inputIssueProjection.js";
|
||||
import { projectAnalysisError } from "../domain/analysisErrorProjection.js";
|
||||
import { finishAnalysisCommand } from "./finishAnalysisCommand.js";
|
||||
import type { JsonValue } from "../domain/jsonValue.js";
|
||||
import type { Logger } from "pino";
|
||||
import { withCommandCancellation } from "./cli/commandCancellation.js";
|
||||
import { withCommandCancellation } from "./commandCancellation.js";
|
||||
|
||||
const observeOptionsSchema = z.object({
|
||||
runtimeKind: javascriptRuntimeKindSchema
|
||||
@@ -50,7 +50,8 @@ export const registerJavaScriptRuntimeObservationCommands = (
|
||||
logger,
|
||||
CLI_COMMANDS.listJavaScriptRuntimeTargets,
|
||||
async () => {
|
||||
const context = runtimeContext(environment);
|
||||
const provider =
|
||||
createJavaScriptRuntimeObservationProvider(environment);
|
||||
const input = {
|
||||
inspector_endpoint: args.endpoint,
|
||||
};
|
||||
@@ -66,11 +67,11 @@ export const registerJavaScriptRuntimeObservationCommands = (
|
||||
);
|
||||
return await finishAnalysisCommand(
|
||||
() =>
|
||||
listJavaScriptRuntimeTargets(context.provider, parsed.data, {
|
||||
listJavaScriptRuntimeTargets(provider, parsed.data, {
|
||||
signal,
|
||||
}),
|
||||
{ close: () => context.provider.close?.() ?? Promise.resolve() },
|
||||
context.provider.identity().id,
|
||||
{ close: () => provider.close?.() ?? Promise.resolve() },
|
||||
provider.identity().id,
|
||||
"list_javascript_runtime_targets",
|
||||
signal,
|
||||
"V8 Inspector resources",
|
||||
@@ -95,7 +96,8 @@ export const registerJavaScriptRuntimeObservationCommands = (
|
||||
logger,
|
||||
CLI_COMMANDS.observeJavaScriptRuntime,
|
||||
async () => {
|
||||
const context = runtimeContext(environment);
|
||||
const provider =
|
||||
createJavaScriptRuntimeObservationProvider(environment);
|
||||
const input = {
|
||||
inspector_endpoint: args.endpoint,
|
||||
target_id: args.targetId,
|
||||
@@ -113,11 +115,11 @@ export const registerJavaScriptRuntimeObservationCommands = (
|
||||
);
|
||||
return await finishAnalysisCommand(
|
||||
() =>
|
||||
observeJavaScriptRuntime(context.provider, parsed.data, {
|
||||
observeJavaScriptRuntime(provider, parsed.data, {
|
||||
signal,
|
||||
}),
|
||||
{ close: () => context.provider.close?.() ?? Promise.resolve() },
|
||||
context.provider.identity().id,
|
||||
{ close: () => provider.close?.() ?? Promise.resolve() },
|
||||
provider.identity().id,
|
||||
"observe_javascript_runtime",
|
||||
signal,
|
||||
"V8 Inspector resources",
|
||||
@@ -128,12 +130,6 @@ export const registerJavaScriptRuntimeObservationCommands = (
|
||||
});
|
||||
};
|
||||
|
||||
const runtimeContext = (
|
||||
environment: Readonly<Record<string, string | undefined>>,
|
||||
) => ({
|
||||
provider: createJavaScriptRuntimeObservationProvider(environment),
|
||||
});
|
||||
|
||||
const cliError = (
|
||||
error: Parameters<typeof projectAnalysisError>[0],
|
||||
): JsonValue => ({
|
||||
@@ -11,7 +11,7 @@ import { V8InspectorProvider } from "../../src/inspector/V8InspectorProvider.js"
|
||||
import { observeJavaScriptRuntimeInputSchema } from "../../src/domain/javascript/javascriptRuntimeObservation.js";
|
||||
import { startFakeV8Inspector } from "../fixtures/inspector/fakeV8Inspector.js";
|
||||
import { createTestTempDirectory } from "../fixtures/temporaryDirectory.js";
|
||||
import { registerJavaScriptRuntimeObservationCommands } from "../../src/cliJavaScriptRuntimeCommands.js";
|
||||
import { registerJavaScriptRuntimeObservationCommands } from "../../src/cli/javascriptRuntimeCommands.js";
|
||||
import { ProviderCleanupError } from "../../src/domain/providerCleanupError.js";
|
||||
import { ok } from "../../src/domain/result.js";
|
||||
import { silentLogger } from "../../src/logger.js";
|
||||
|
||||
Reference in New Issue
Block a user