@ceraph/react-native-mcp 0.3.2 → 0.4.5
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/README.md +335 -68
- package/dist/babel-plugin/index.cjs +1 -0
- package/dist/babel-plugin/index.js +1 -0
- package/dist/cli.d.ts +3 -1
- package/dist/cli.js +1 -47
- package/dist/index.d.ts +106 -1
- package/dist/index.js +2 -1651
- package/dist/shim/async-storage-ops.d.ts +26 -0
- package/dist/shim/async-storage-ops.js +1 -0
- package/dist/shim/boot.d.ts +9 -0
- package/dist/shim/boot.js +1 -141
- package/dist/shim/camera.js +1 -62
- package/dist/shim/command-poll.d.ts +18 -0
- package/dist/shim/command-poll.js +1 -0
- package/dist/shim/config.js +1 -56
- package/dist/shim/console-capture.d.ts +16 -0
- package/dist/shim/console-capture.js +1 -0
- package/dist/shim/deep-link.js +1 -25
- package/dist/shim/dev-guard.js +1 -3
- package/dist/shim/dev-host.d.ts +1 -0
- package/dist/shim/dev-host.js +1 -0
- package/dist/shim/error-handler.js +1 -66
- package/dist/shim/fetch-interceptor.js +1 -93
- package/dist/shim/index.d.ts +3 -0
- package/dist/shim/index.js +1 -6
- package/dist/shim/keep-awake.js +1 -118
- package/dist/shim/network-ownership.d.ts +4 -0
- package/dist/shim/network-ownership.js +1 -0
- package/dist/shim/optimistic-observer.d.ts +29 -0
- package/dist/shim/optimistic-observer.js +1 -0
- package/dist/shim/reload.js +1 -76
- package/dist/shim/reset.d.ts +30 -0
- package/dist/shim/reset.js +1 -0
- package/dist/shim/signal-capture.d.ts +8 -0
- package/dist/shim/signal-capture.js +1 -15
- package/dist/shim/signal-transport.d.ts +14 -1
- package/dist/shim/signal-transport.js +1 -43
- package/dist/shim/xhr-interceptor.d.ts +39 -0
- package/dist/shim/xhr-interceptor.js +1 -0
- package/package.json +41 -15
- package/dist/app-lifecycle.d.ts +0 -50
- package/dist/app-lifecycle.js +0 -487
- package/dist/camera-image-writer.d.ts +0 -43
- package/dist/camera-image-writer.js +0 -280
- package/dist/camera-registry-sync.d.ts +0 -18
- package/dist/camera-registry-sync.js +0 -117
- package/dist/device-autonomy.d.ts +0 -30
- package/dist/device-autonomy.js +0 -117
- package/dist/error-parser.d.ts +0 -51
- package/dist/error-parser.js +0 -275
- package/dist/expo-manager.d.ts +0 -62
- package/dist/expo-manager.js +0 -447
- package/dist/init/ast-camera.d.ts +0 -29
- package/dist/init/ast-camera.js +0 -267
- package/dist/init/ast-layout.d.ts +0 -15
- package/dist/init/ast-layout.js +0 -167
- package/dist/init/claude-hook-constants.d.ts +0 -9
- package/dist/init/claude-hook-constants.js +0 -91
- package/dist/init/lan-ip.d.ts +0 -11
- package/dist/init/lan-ip.js +0 -51
- package/dist/init/monorepo.d.ts +0 -13
- package/dist/init/monorepo.js +0 -185
- package/dist/init/oauth.d.ts +0 -52
- package/dist/init/oauth.js +0 -220
- package/dist/init/package-manager.d.ts +0 -11
- package/dist/init/package-manager.js +0 -60
- package/dist/init/prompt.d.ts +0 -12
- package/dist/init/prompt.js +0 -68
- package/dist/init/shell-profile.d.ts +0 -22
- package/dist/init/shell-profile.js +0 -85
- package/dist/init/steps.d.ts +0 -135
- package/dist/init/steps.js +0 -399
- package/dist/init/url-scheme.d.ts +0 -42
- package/dist/init/url-scheme.js +0 -187
- package/dist/init/walkthrough.d.ts +0 -76
- package/dist/init/walkthrough.js +0 -340
- package/dist/init.d.ts +0 -8
- package/dist/init.js +0 -395
- package/dist/iproxy-manager.d.ts +0 -32
- package/dist/iproxy-manager.js +0 -216
- package/dist/mac-caffeinate.d.ts +0 -10
- package/dist/mac-caffeinate.js +0 -56
- package/dist/permission-interceptor.d.ts +0 -29
- package/dist/permission-interceptor.js +0 -185
- package/dist/prebuild-detector.d.ts +0 -19
- package/dist/prebuild-detector.js +0 -174
- package/dist/preflight.d.ts +0 -34
- package/dist/preflight.js +0 -847
- package/dist/screen.d.ts +0 -184
- package/dist/screen.js +0 -931
- package/dist/signal-listener.d.ts +0 -27
- package/dist/signal-listener.js +0 -135
- package/dist/simulator-boot.d.ts +0 -52
- package/dist/simulator-boot.js +0 -227
- package/dist/target.d.ts +0 -48
- package/dist/target.js +0 -267
- package/dist/uninstall/cli-runner.d.ts +0 -32
- package/dist/uninstall/cli-runner.js +0 -223
- package/dist/uninstall/footprint.d.ts +0 -40
- package/dist/uninstall/footprint.js +0 -288
- package/dist/uninstall/mcp-tools.d.ts +0 -14
- package/dist/uninstall/mcp-tools.js +0 -175
- package/dist/uninstall/revert-auth.d.ts +0 -22
- package/dist/uninstall/revert-auth.js +0 -31
- package/dist/uninstall/revert-boot.d.ts +0 -24
- package/dist/uninstall/revert-boot.js +0 -242
- package/dist/uninstall/revert-camera.d.ts +0 -12
- package/dist/uninstall/revert-camera.js +0 -199
- package/dist/uninstall/revert-ceraph-dir.d.ts +0 -27
- package/dist/uninstall/revert-ceraph-dir.js +0 -38
- package/dist/uninstall/revert-claude-hooks.d.ts +0 -19
- package/dist/uninstall/revert-claude-hooks.js +0 -191
- package/dist/uninstall/revert-gitignore.d.ts +0 -17
- package/dist/uninstall/revert-gitignore.js +0 -43
- package/dist/uninstall/revert-mcp-clients.d.ts +0 -57
- package/dist/uninstall/revert-mcp-clients.js +0 -194
- package/dist/uninstall/revert-package.d.ts +0 -34
- package/dist/uninstall/revert-package.js +0 -98
- package/dist/uninstall/revert-scheme.d.ts +0 -36
- package/dist/uninstall/revert-scheme.js +0 -139
- package/dist/uninstall/revert-signal-host-env.d.ts +0 -31
- package/dist/uninstall/revert-signal-host-env.js +0 -61
- package/dist/uninstall/walkthrough.d.ts +0 -80
- package/dist/uninstall/walkthrough.js +0 -1244
- package/dist/utils/atomic-write.d.ts +0 -1
- package/dist/utils/atomic-write.js +0 -30
- package/dist/wait-for-device.d.ts +0 -68
- package/dist/wait-for-device.js +0 -368
- package/dist/wda-manager.d.ts +0 -38
- package/dist/wda-manager.js +0 -186
- package/dist/wda-simulator.d.ts +0 -28
- package/dist/wda-simulator.js +0 -257
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { readFile, writeFile, access } from "node:fs/promises";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
export const CERAPH_SCHEME = "ceraph";
|
|
4
|
-
async function defaultExists(p) {
|
|
5
|
-
try {
|
|
6
|
-
await access(p);
|
|
7
|
-
return true;
|
|
8
|
-
}
|
|
9
|
-
catch {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export function stripCeraphSchemeFromAppJson(parsed) {
|
|
14
|
-
if (!parsed.expo || typeof parsed.expo !== "object") {
|
|
15
|
-
return { changed: false, previousScheme: undefined, nextScheme: undefined };
|
|
16
|
-
}
|
|
17
|
-
const expo = parsed.expo;
|
|
18
|
-
const current = expo.scheme;
|
|
19
|
-
if (typeof current === "string") {
|
|
20
|
-
if (current === CERAPH_SCHEME) {
|
|
21
|
-
delete expo.scheme;
|
|
22
|
-
return {
|
|
23
|
-
changed: true,
|
|
24
|
-
previousScheme: current,
|
|
25
|
-
nextScheme: undefined,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return { changed: false, previousScheme: current, nextScheme: current };
|
|
29
|
-
}
|
|
30
|
-
if (Array.isArray(current)) {
|
|
31
|
-
const hadCeraph = current.includes(CERAPH_SCHEME);
|
|
32
|
-
if (!hadCeraph) {
|
|
33
|
-
return {
|
|
34
|
-
changed: false,
|
|
35
|
-
previousScheme: [...current],
|
|
36
|
-
nextScheme: [...current],
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
const remaining = current.filter((s) => s !== CERAPH_SCHEME);
|
|
40
|
-
const previous = [...current];
|
|
41
|
-
if (remaining.length === 0) {
|
|
42
|
-
delete expo.scheme;
|
|
43
|
-
return {
|
|
44
|
-
changed: true,
|
|
45
|
-
previousScheme: previous,
|
|
46
|
-
nextScheme: undefined,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
if (remaining.length === 1) {
|
|
50
|
-
expo.scheme = remaining[0];
|
|
51
|
-
return {
|
|
52
|
-
changed: true,
|
|
53
|
-
previousScheme: previous,
|
|
54
|
-
nextScheme: remaining[0],
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
expo.scheme = remaining;
|
|
58
|
-
return {
|
|
59
|
-
changed: true,
|
|
60
|
-
previousScheme: previous,
|
|
61
|
-
nextScheme: remaining,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return { changed: false, previousScheme: undefined, nextScheme: undefined };
|
|
65
|
-
}
|
|
66
|
-
function parseAppJson(raw) {
|
|
67
|
-
try {
|
|
68
|
-
const parsed = JSON.parse(raw);
|
|
69
|
-
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
return parsed;
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
function serialiseAppJson(parsed, original) {
|
|
79
|
-
const indentMatch = original.match(/\n(\s+)"/);
|
|
80
|
-
const indent = indentMatch?.[1] ?? " ";
|
|
81
|
-
const hadTrailingNewline = original.endsWith("\n");
|
|
82
|
-
const output = JSON.stringify(parsed, null, indent);
|
|
83
|
-
return hadTrailingNewline ? output + "\n" : output;
|
|
84
|
-
}
|
|
85
|
-
const BARE_RN_REMEDIATION = "Remove the ceraph scheme from ios/<App>/Info.plist CFBundleURLTypes and android/app/src/main/AndroidManifest.xml. " +
|
|
86
|
-
"Both files were never written by init — they require manual edits because they are inside the customer's native project tree.";
|
|
87
|
-
function dynamicConfigRemediation(path) {
|
|
88
|
-
return (`Your project uses ${path} (dynamic Expo config). The init walkthrough ` +
|
|
89
|
-
"never edited this file automatically; if you (or a teammate) added `ceraph` " +
|
|
90
|
-
"to its `scheme` value, remove that entry by hand. After editing, run " +
|
|
91
|
-
"`expo prebuild --clean` or restart the dev client.");
|
|
92
|
-
}
|
|
93
|
-
export async function revertCeraphUrlScheme(projectDir, deps = {}) {
|
|
94
|
-
const exists = deps.fileExists ?? defaultExists;
|
|
95
|
-
const read = deps.readFile ?? ((p) => readFile(p, "utf-8"));
|
|
96
|
-
const write = deps.writeFile ?? ((p, c) => writeFile(p, c, "utf-8"));
|
|
97
|
-
const appJsonPath = join(projectDir, "app.json");
|
|
98
|
-
const appConfigJs = join(projectDir, "app.config.js");
|
|
99
|
-
const appConfigTs = join(projectDir, "app.config.ts");
|
|
100
|
-
const iosDir = join(projectDir, "ios");
|
|
101
|
-
const androidDir = join(projectDir, "android");
|
|
102
|
-
const hasAppConfigJs = await exists(appConfigJs);
|
|
103
|
-
const hasAppConfigTs = await exists(appConfigTs);
|
|
104
|
-
if (hasAppConfigJs || hasAppConfigTs) {
|
|
105
|
-
const path = hasAppConfigTs ? appConfigTs : appConfigJs;
|
|
106
|
-
return {
|
|
107
|
-
status: "manual",
|
|
108
|
-
kind: "expo-dynamic",
|
|
109
|
-
path,
|
|
110
|
-
remediation: dynamicConfigRemediation(path),
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
if (await exists(appJsonPath)) {
|
|
114
|
-
const raw = await read(appJsonPath);
|
|
115
|
-
const parsed = parseAppJson(raw);
|
|
116
|
-
if (!parsed) {
|
|
117
|
-
return { status: "already-reverted", path: appJsonPath };
|
|
118
|
-
}
|
|
119
|
-
const { changed, previousScheme, nextScheme } = stripCeraphSchemeFromAppJson(parsed);
|
|
120
|
-
if (!changed) {
|
|
121
|
-
return { status: "already-reverted", path: appJsonPath };
|
|
122
|
-
}
|
|
123
|
-
await write(appJsonPath, serialiseAppJson(parsed, raw));
|
|
124
|
-
return {
|
|
125
|
-
status: "reverted",
|
|
126
|
-
path: appJsonPath,
|
|
127
|
-
previousScheme: previousScheme,
|
|
128
|
-
nextScheme: nextScheme,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
if ((await exists(iosDir)) || (await exists(androidDir))) {
|
|
132
|
-
return {
|
|
133
|
-
status: "manual",
|
|
134
|
-
kind: "bare-rn",
|
|
135
|
-
remediation: BARE_RN_REMEDIATION,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
return { status: "no-rn-project" };
|
|
139
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export interface ShellProfileTarget {
|
|
2
|
-
path: string;
|
|
3
|
-
shell: "zsh" | "bash";
|
|
4
|
-
}
|
|
5
|
-
export interface PickProfileDeps {
|
|
6
|
-
env?: NodeJS.ProcessEnv;
|
|
7
|
-
home?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function pickShellProfile(deps?: PickProfileDeps): ShellProfileTarget;
|
|
10
|
-
export type RevertSignalHostEnvResult = {
|
|
11
|
-
status: "reverted";
|
|
12
|
-
path: string;
|
|
13
|
-
shell: "zsh" | "bash";
|
|
14
|
-
removedIp: string | null;
|
|
15
|
-
} | {
|
|
16
|
-
status: "already-reverted";
|
|
17
|
-
path: string;
|
|
18
|
-
shell: "zsh" | "bash";
|
|
19
|
-
} | {
|
|
20
|
-
status: "no-profile";
|
|
21
|
-
path: string;
|
|
22
|
-
shell: "zsh" | "bash";
|
|
23
|
-
};
|
|
24
|
-
export interface RevertSignalHostEnvDeps {
|
|
25
|
-
readFile?: (p: string) => Promise<string>;
|
|
26
|
-
writeFile?: (p: string, c: string) => Promise<void>;
|
|
27
|
-
target?: ShellProfileTarget;
|
|
28
|
-
env?: NodeJS.ProcessEnv;
|
|
29
|
-
home?: string;
|
|
30
|
-
}
|
|
31
|
-
export declare function revertSignalHostEnv(deps?: RevertSignalHostEnvDeps): Promise<RevertSignalHostEnvResult>;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
|
-
import { join } from "node:path";
|
|
4
|
-
const SENTINEL_HEAD = "# Ceraph signal host — auto-set by @ceraph/react-native-mcp init";
|
|
5
|
-
const SENTINEL_TAIL = "# End Ceraph signal host";
|
|
6
|
-
export function pickShellProfile(deps = {}) {
|
|
7
|
-
const env = deps.env ?? process.env;
|
|
8
|
-
const home = deps.home ?? homedir();
|
|
9
|
-
const shellPath = env.SHELL ?? "";
|
|
10
|
-
if (shellPath.endsWith("/bash")) {
|
|
11
|
-
return { path: join(home, ".bashrc"), shell: "bash" };
|
|
12
|
-
}
|
|
13
|
-
return { path: join(home, ".zshrc"), shell: "zsh" };
|
|
14
|
-
}
|
|
15
|
-
export async function revertSignalHostEnv(deps = {}) {
|
|
16
|
-
const target = deps.target ?? pickShellProfile({ env: deps.env, home: deps.home });
|
|
17
|
-
const read = deps.readFile ?? ((p) => readFile(p, "utf-8"));
|
|
18
|
-
const write = deps.writeFile ?? ((p, c) => writeFile(p, c, "utf-8"));
|
|
19
|
-
let body;
|
|
20
|
-
try {
|
|
21
|
-
body = await read(target.path);
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return { status: "no-profile", path: target.path, shell: target.shell };
|
|
25
|
-
}
|
|
26
|
-
const headIdx = body.indexOf(SENTINEL_HEAD);
|
|
27
|
-
if (headIdx === -1) {
|
|
28
|
-
return {
|
|
29
|
-
status: "already-reverted",
|
|
30
|
-
path: target.path,
|
|
31
|
-
shell: target.shell,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
const tailIdx = body.indexOf(SENTINEL_TAIL, headIdx);
|
|
35
|
-
if (tailIdx === -1) {
|
|
36
|
-
return {
|
|
37
|
-
status: "already-reverted",
|
|
38
|
-
path: target.path,
|
|
39
|
-
shell: target.shell,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
const afterTail = tailIdx + SENTINEL_TAIL.length;
|
|
43
|
-
const end = body[afterTail] === "\n" ? afterTail + 1 : afterTail;
|
|
44
|
-
const between = body.slice(headIdx, end);
|
|
45
|
-
const exportMatch = between.match(/export\s+CERAPH_SIGNAL_HOST=(\S+)/);
|
|
46
|
-
const removedIp = exportMatch ? exportMatch[1] : null;
|
|
47
|
-
let start = headIdx;
|
|
48
|
-
if (start >= 1 && body[start - 1] === "\n") {
|
|
49
|
-
if (start >= 2 && body[start - 2] === "\n") {
|
|
50
|
-
start -= 1;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
const next = body.slice(0, start) + body.slice(end);
|
|
54
|
-
await write(target.path, next);
|
|
55
|
-
return {
|
|
56
|
-
status: "reverted",
|
|
57
|
-
path: target.path,
|
|
58
|
-
shell: target.shell,
|
|
59
|
-
removedIp,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { type MonorepoDetectionResult } from "../init/monorepo.js";
|
|
2
|
-
import { type RevertGitignoreResult } from "./revert-gitignore.js";
|
|
3
|
-
import { type RevertSignalHostEnvResult } from "./revert-signal-host-env.js";
|
|
4
|
-
import { type RevertCeraphDirResult } from "./revert-ceraph-dir.js";
|
|
5
|
-
import { type RevertAuthResult } from "./revert-auth.js";
|
|
6
|
-
import { type RevertSchemeResult } from "./revert-scheme.js";
|
|
7
|
-
import { type RevertMcpClientsResult, type RevertUserGlobalMcpClientsResult } from "./revert-mcp-clients.js";
|
|
8
|
-
import { type RevertClaudeHooksResult } from "./revert-claude-hooks.js";
|
|
9
|
-
import { type RevertBootResult, type RevertBootTarget } from "./revert-boot.js";
|
|
10
|
-
import { type RevertCameraResult } from "./revert-camera.js";
|
|
11
|
-
import { type RevertPackageResult } from "./revert-package.js";
|
|
12
|
-
export type UninstallStepName = "monorepo" | "camera" | "boot" | "scheme" | "mcp-clients" | "claude-hooks" | "gitignore" | "signal-host" | "ceraph-dir" | "auth" | "package";
|
|
13
|
-
export type UninstallStepStatus = "reverted" | "skipped" | "already-reverted" | "warning" | "manual" | "error";
|
|
14
|
-
export interface UninstallStep {
|
|
15
|
-
name: UninstallStepName;
|
|
16
|
-
status: UninstallStepStatus;
|
|
17
|
-
details?: Record<string, unknown>;
|
|
18
|
-
remediation?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface UninstallWalkthroughSummary {
|
|
21
|
-
reverted: number;
|
|
22
|
-
skipped: number;
|
|
23
|
-
warnings: string[];
|
|
24
|
-
manualSteps: string[];
|
|
25
|
-
}
|
|
26
|
-
export interface UninstallWalkthroughResult {
|
|
27
|
-
workingDir: string;
|
|
28
|
-
steps: UninstallStep[];
|
|
29
|
-
summary: UninstallWalkthroughSummary;
|
|
30
|
-
}
|
|
31
|
-
export interface UninstallWalkthroughOpts {
|
|
32
|
-
projectDir: string;
|
|
33
|
-
purgeImages?: boolean;
|
|
34
|
-
global?: boolean;
|
|
35
|
-
dryRun?: boolean;
|
|
36
|
-
nonInteractive?: boolean;
|
|
37
|
-
onStep?: (step: UninstallStep) => void;
|
|
38
|
-
spawnRemove?: (input: {
|
|
39
|
-
bin: string;
|
|
40
|
-
args: string[];
|
|
41
|
-
cwd: string;
|
|
42
|
-
}) => Promise<{
|
|
43
|
-
exitCode: number;
|
|
44
|
-
}>;
|
|
45
|
-
detectMonorepo?: (projectDir: string) => Promise<MonorepoDetectionResult>;
|
|
46
|
-
homeDir?: () => string;
|
|
47
|
-
revertCamera?: (projectDir: string) => Promise<RevertCameraResult>;
|
|
48
|
-
revertBoot?: (projectDir: string) => Promise<RevertBootResult>;
|
|
49
|
-
revertCeraphUrlScheme?: (projectDir: string) => Promise<RevertSchemeResult>;
|
|
50
|
-
revertMcpClients?: (projectDir: string) => Promise<RevertMcpClientsResult>;
|
|
51
|
-
revertUserGlobalMcpClients?: (deps: {
|
|
52
|
-
home?: string;
|
|
53
|
-
}) => Promise<RevertUserGlobalMcpClientsResult>;
|
|
54
|
-
revertClaudeHooks?: (input: {
|
|
55
|
-
projectDir: string;
|
|
56
|
-
}) => Promise<RevertClaudeHooksResult>;
|
|
57
|
-
revertGitignore?: (projectDir: string) => Promise<RevertGitignoreResult>;
|
|
58
|
-
revertSignalHostEnv?: (deps?: {
|
|
59
|
-
home?: string;
|
|
60
|
-
}) => Promise<RevertSignalHostEnvResult>;
|
|
61
|
-
revertCeraphDir?: (input: {
|
|
62
|
-
projectDir: string;
|
|
63
|
-
confirm: boolean;
|
|
64
|
-
}) => Promise<RevertCeraphDirResult>;
|
|
65
|
-
revertAuth?: (input: {
|
|
66
|
-
global: boolean;
|
|
67
|
-
home?: string;
|
|
68
|
-
}) => Promise<RevertAuthResult>;
|
|
69
|
-
revertPackage?: (projectDir: string, deps: {
|
|
70
|
-
spawnRemove?: (input: {
|
|
71
|
-
bin: string;
|
|
72
|
-
args: string[];
|
|
73
|
-
cwd: string;
|
|
74
|
-
}) => Promise<{
|
|
75
|
-
exitCode: number;
|
|
76
|
-
}>;
|
|
77
|
-
}) => Promise<RevertPackageResult>;
|
|
78
|
-
detectBootTarget?: (projectDir: string) => Promise<RevertBootTarget | null>;
|
|
79
|
-
}
|
|
80
|
-
export declare function runUninstallWalkthrough(opts: UninstallWalkthroughOpts): Promise<UninstallWalkthroughResult>;
|