Build an install plan (dry-run friendly — no side effects).
The plan describes which phases will run, which will be skipped, and
with what configuration. It can be inspected before execution (e.g.,
with plan.Summarize()) or passed directly to Run.
Plan inputs including target directory, tag, skip flags, and config overrides.
A new InstallPlan ready for execution or inspection.
Run diagnostics on an existing or target install directory.
Performs preflight checks (Node version, disk space, SQL connectivity, etc.)
and known-issue detection. Does not modify any files. Results are
returned as a Diagnostics object and also emitted as diagnostic events.
Absolute path to the directory to diagnose.
Optionaloptions: DoctorOptionsOptional doctor options (currently reserved for future use).
Diagnostics with environment info, check results, and last install info.
List available MemberJunction release versions from GitHub.
Fetches releases from the MemberJunction GitHub repository using the unauthenticated REST API (60 requests/hour rate limit).
Whether to include pre-release tags (default: false).
Array of available versions sorted by publish date (newest first).
Unsubscribe from installer events.
The event name.
The event to stop listening for.
The same handler reference passed to On.
Subscribe to installer events.
The event name (e.g., 'phase:start', 'step:progress', 'error').
The event to listen for.
Callback invoked with the event payload.
Resume a previously interrupted install from a checkpoint state file.
Loads the .mj-install-state.json from the given directory, reconstructs
a plan from the saved tag, and calls Run with resume enabled.
Directory containing the .mj-install-state.json file.
Optionaloptions: RunOptionsRuntime options forwarded to Run.
Install result from the resumed execution.
Execute an install plan, emitting events throughout.
Iterates through plan phases in order. Supports checkpoint/resume — if a
previous install left a .mj-install-state.json, completed phases are
skipped automatically. Pass NoResume: true in options to force a fresh start.
Stops on the first phase failure and returns partial results. The state file is updated after each phase, so re-running resumes from the failed phase.
The install plan from CreatePlan.
Optionaloptions: RunOptionsRuntime options (verbose, yes, fast, no-resume, config overrides).
Install result with success status, duration, warnings, and phase lists.
Core orchestrator for MemberJunction installs.
Headless and event-driven — never writes to stdout. Frontends subscribe to typed events via InstallerEngine.On to render progress, handle prompts, and display diagnostics. Supports checkpoint/resume for long-running installs.
Example