Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions src/core/ui/core-ui-select-command.ts

This file was deleted.

7 changes: 2 additions & 5 deletions src/create/create-feature.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,7 @@ const templateOptionPattern = /^--([a-z][a-z0-9-]*)$/
* remains. create-solana-dapp validates the collected names against the options the cloned
* template declares.
*/
export function extractTemplateOptions(
command: Command,
args: string[],
): { args: string[]; templateOptions: string[] } {
function extractTemplateOptions(command: Command, args: string[]): { args: string[]; templateOptions: string[] } {
const remaining: string[] = []
const templateOptions = new Set<string>()
let positionalOnly = false
Expand Down Expand Up @@ -133,7 +130,7 @@ function hasInlineValue(arg: string): boolean {
return arg.startsWith('--') ? arg.includes('=') : arg.length > 2
}

export function parsePackageManagerOption(next: string): PackageManager {
function parsePackageManagerOption(next: string): PackageManager {
if (!next || !isPackageManager(next)) {
throw new InvalidArgumentError(`Invalid package manager: ${next}`)
}
Expand Down
2 changes: 1 addition & 1 deletion src/device/device-feature-install.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { basename } from 'node:path'
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import type { PromptDependencies } from '../emulator/ui/emulator-ui-prompt-types.ts'
import { isUsableDevice } from '../localnet/data-access/list-adb-devices.ts'
import type { AdbDependencies } from '../localnet/data-access/localnet-types.ts'
import { APK_CATALOG, findApkCatalogEntry, githubReleaseDownloadUrl } from './data-access/apk-catalog.ts'
Expand Down
2 changes: 1 addition & 1 deletion src/device/device-feature-open.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import type { PromptDependencies } from '../emulator/ui/emulator-ui-prompt-types.ts'
import { createAdbReverse, listAdbReverses } from '../localnet/data-access/adb-reverse.ts'
import { isUsableDevice } from '../localnet/data-access/list-adb-devices.ts'
import type { AdbDependencies, AdbReverseEntry } from '../localnet/data-access/localnet-types.ts'
Expand Down
2 changes: 1 addition & 1 deletion src/device/device-feature-tune.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import type { PromptDependencies } from '../emulator/ui/emulator-ui-prompt-types.ts'
import { isUsableDevice } from '../localnet/data-access/list-adb-devices.ts'
import type { AdbDependencies } from '../localnet/data-access/localnet-types.ts'
import type { DeviceTuneCommandOptions } from './data-access/device-types.ts'
Expand Down
2 changes: 1 addition & 1 deletion src/device/ui/device-ui-resolve-target-device.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { PromptDependencies } from '../../emulator/ui/emulator-ui-prompt-types.ts'
import type { PromptDependencies } from '../../core/ui/core-ui-prompt-types.ts'
import type { ConnectedDevice } from '../data-access/device-types.ts'
import { selectConnectedDeviceSerial } from './device-ui-select-connected-device.ts'

Expand Down
2 changes: 1 addition & 1 deletion src/device/ui/device-ui-select-catalog-apks.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { multiselect } from '@clack/prompts'
import { type MultiSelectPrompt, resolvePromptCancellation } from '../../emulator/ui/emulator-ui-prompt-types.ts'
import { type MultiSelectPrompt, resolvePromptCancellation } from '../../core/ui/core-ui-prompt-types.ts'
import type { ApkCatalogEntry } from '../data-access/apk-catalog.ts'

export async function selectCatalogApkNames(
Expand Down
2 changes: 1 addition & 1 deletion src/device/ui/device-ui-select-connected-device.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { select } from '@clack/prompts'
import { resolvePromptCancellation, type SelectPrompt } from '../../emulator/ui/emulator-ui-prompt-types.ts'
import { resolvePromptCancellation, type SelectPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import type { ConnectedDevice } from '../data-access/device-types.ts'

export async function selectConnectedDeviceSerial(
Expand Down
2 changes: 1 addition & 1 deletion src/device/ui/device-ui-select-device-tweaks.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { multiselect } from '@clack/prompts'
import { type MultiSelectPrompt, resolvePromptCancellation } from '../../emulator/ui/emulator-ui-prompt-types.ts'
import { type MultiSelectPrompt, resolvePromptCancellation } from '../../core/ui/core-ui-prompt-types.ts'
import type { DeviceTweak } from '../data-access/device-types.ts'
import { DEVICE_TWEAKS } from '../data-access/tune-device.ts'

Expand Down
6 changes: 1 addition & 5 deletions src/device/ui/device-ui-select-open-url.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import { select, text } from '@clack/prompts'
import {
resolvePromptCancellation,
type SelectPrompt,
type TextPrompt,
} from '../../emulator/ui/emulator-ui-prompt-types.ts'
import { resolvePromptCancellation, type SelectPrompt, type TextPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import type { AdbReverseEntry } from '../../localnet/data-access/localnet-types.ts'
import { resolveOpenUrl, validateOpenUrlInput } from '../data-access/resolve-open-url.ts'
import { describeReverse } from './device-ui-messages.ts'
Expand Down
4 changes: 1 addition & 3 deletions src/doctor/doctor-feature-check.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ import { renderDoctorReport } from './ui/doctor-ui-report.ts'

export type DoctorCommandOptions = { json?: boolean; verbose?: boolean }

export async function createDoctorReport(
environment: DoctorEnvironment = defaultDoctorEnvironment,
): Promise<DoctorReport> {
async function createDoctorReport(environment: DoctorEnvironment = defaultDoctorEnvironment): Promise<DoctorReport> {
const [disk, packageManagers, java] = await Promise.all([
checkDiskSpace(environment),
checkPackageManagers(environment),
Expand Down
11 changes: 2 additions & 9 deletions src/emulator/data-access/emulator-types.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import type { CommandRunner } from '../../core/data-access/command-types.ts'
import type { AppliedDeviceTweaks } from '../../device/data-access/device-types.ts'
export interface DirectoryEntry {
isDirectory(): boolean
name: string
Expand Down Expand Up @@ -62,15 +64,6 @@ export interface EmulatorTuneCommandOptions {
yes?: boolean
}

import type {
CommandRunner,
InteractiveCommandRunner,
RunCommandOptions,
} from '../../core/data-access/command-types.ts'
import type { AppliedDeviceTweaks } from '../../device/data-access/device-types.ts'

export type { CommandRunner, InteractiveCommandRunner, RunCommandOptions }

export interface CreateAvdDependencies {
getHomeDirectory?: HomeDirectoryResolver
pathExists?: PathChecker
Expand Down
3 changes: 2 additions & 1 deletion src/emulator/data-access/list-emulator-statuses.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { CommandRunner } from '../../core/data-access/command-types.ts'
import { runExecutable } from '../../core/data-access/run-executable.ts'
import type { CommandRunner, EmulatorStatus, ListEmulatorStatusesDependencies } from './emulator-types.ts'
import type { EmulatorStatus, ListEmulatorStatusesDependencies } from './emulator-types.ts'
import { listInstalledAvds } from './list-installed-avds.ts'
import { parseAdbEmulatorDevices, parseRunningEmulatorName } from './list-running-emulators.ts'

Expand Down
3 changes: 2 additions & 1 deletion src/emulator/data-access/system-image-package-manager.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { join } from 'node:path'
import type { CommandRunner, InteractiveCommandRunner } from '../../core/data-access/command-types.ts'
import { runExecutable, runInteractiveExecutable } from '../../core/data-access/run-executable.ts'
import { parseSystemImagePackage, systemImagePackageToRelativeDirectory } from './avd-config.ts'
import { defaultPathExists } from './create-avd.ts'
import type { CommandRunner, DirectoryReader, InteractiveCommandRunner, PathChecker } from './emulator-types.ts'
import type { DirectoryReader, PathChecker } from './emulator-types.ts'
import { defaultReadDirectory } from './list-installed-avds.ts'
import { sortSystemImagesNewestFirst } from './list-installed-system-images.ts'
import { resolveAndroidCommandLineTool } from './resolve-android-command-line-tool.ts'
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/data-access/tune-emulator.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type { CommandRunner } from '../../core/data-access/command-types.ts'
import { runExecutable } from '../../core/data-access/run-executable.ts'
import type { AppliedDeviceTweaks, ApplyDeviceTweaksOptions } from '../../device/data-access/device-types.ts'
import { applyDeviceTweaks } from '../../device/data-access/tune-device.ts'
import type {
CommandRunner,
RunningEmulator,
TuneEmulatorDependencies,
TuneEmulatorResult,
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/emulator-feature-delete.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { homedir } from 'node:os'
import { cancel, intro, note, outro, tasks } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import { defaultPathExists } from './data-access/create-avd.ts'
import { deleteInstalledAvds } from './data-access/delete-installed-avds.ts'
Expand All @@ -11,7 +12,6 @@ import type {
} from './data-access/emulator-types.ts'
import { defaultReadDirectory, defaultReadTextFile, listInstalledAvds } from './data-access/list-installed-avds.ts'
import { listRunningEmulators } from './data-access/list-running-emulators.ts'
import type { PromptDependencies } from './ui/emulator-ui-prompt-types.ts'
import { selectInstalledEmulatorNames } from './ui/emulator-ui-select-installed-emulator-names.ts'

interface RunEmulatorDeleteDependencies
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/emulator-feature-images.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { homedir } from 'node:os'
import { cancel, log as clackLog, intro, note, outro, spinner, taskLog } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import { systemImagePackageToRelativeDirectory } from './data-access/avd-config.ts'
import type {
Expand All @@ -24,7 +25,6 @@ import {
type SystemImagePackageManagerDependencies,
uninstallSystemImages,
} from './data-access/system-image-package-manager.ts'
import type { PromptDependencies } from './ui/emulator-ui-prompt-types.ts'
import { selectInstalledSystemImages } from './ui/emulator-ui-select-installed-system-images.ts'
import { selectSystemImage } from './ui/emulator-ui-select-system-image.ts'

Expand Down
2 changes: 1 addition & 1 deletion src/emulator/emulator-feature-start.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { homedir } from 'node:os'
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import type {
EmulatorStartCommandOptions,
Expand All @@ -10,7 +11,6 @@ import type {
import { defaultReadDirectory, defaultReadTextFile, listInstalledAvds } from './data-access/list-installed-avds.ts'
import { defaultStartProcess, startEmulator } from './data-access/start-emulator.ts'
import { waitAndTuneEmulator } from './emulator-feature-tune.ts'
import type { PromptDependencies } from './ui/emulator-ui-prompt-types.ts'
import { selectInstalledEmulatorName } from './ui/emulator-ui-select-installed-emulator-name.ts'

interface RunEmulatorStartDependencies
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/emulator-feature-stop.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import type { EmulatorStopCommandOptions, StopEmulatorDependencies } from './data-access/emulator-types.ts'
import { listRunningEmulators } from './data-access/list-running-emulators.ts'
import { stopEmulator } from './data-access/stop-emulator.ts'
import type { PromptDependencies } from './ui/emulator-ui-prompt-types.ts'
import { selectRunningEmulatorSerial } from './ui/emulator-ui-select-running-emulator-serial.ts'

interface RunEmulatorStopDependencies extends PromptDependencies, StopEmulatorDependencies {
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/emulator-feature-tune.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import { formatAppliedTweaks } from '../device/ui/device-ui-format-applied-tweaks.ts'
import { NO_TWEAKS_SELECTED_MESSAGE } from '../device/ui/device-ui-messages.ts'
Expand All @@ -12,7 +13,6 @@ import type {
} from './data-access/emulator-types.ts'
import { listRunningEmulators } from './data-access/list-running-emulators.ts'
import { applyEmulatorTweaks, tuneEmulator, waitForEmulatorBoot } from './data-access/tune-emulator.ts'
import type { PromptDependencies } from './ui/emulator-ui-prompt-types.ts'
import { selectRunningEmulatorSerial } from './ui/emulator-ui-select-running-emulator-serial.ts'

interface RunEmulatorTuneDependencies extends PromptDependencies, TuneEmulatorDependencies {
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/ui/emulator-ui-prompt-emulator-name.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { text } from '@clack/prompts'
import { resolvePromptCancellation, type TextPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import { DEFAULT_PROFILE } from '../data-access/avd-config.ts'
import { resolvePromptCancellation, type TextPrompt } from './emulator-ui-prompt-types.ts'

export async function promptEmulatorName(
defaultName: string = DEFAULT_PROFILE.name,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { select } from '@clack/prompts'
import { resolvePromptCancellation, type SelectPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import type { InstalledAvd } from '../data-access/emulator-types.ts'
import { resolvePromptCancellation, type SelectPrompt } from './emulator-ui-prompt-types.ts'

export function createInstalledEmulatorOption({ device, name, target }: InstalledAvd) {
const hint = [device ? `device: ${device}` : undefined, target ? `target: ${target}` : undefined]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { multiselect } from '@clack/prompts'
import { type MultiSelectPrompt, resolvePromptCancellation } from '../../core/ui/core-ui-prompt-types.ts'
import type { InstalledAvd } from '../data-access/emulator-types.ts'
import { type MultiSelectPrompt, resolvePromptCancellation } from './emulator-ui-prompt-types.ts'
import { createInstalledEmulatorOption } from './emulator-ui-select-installed-emulator-name.ts'

export async function selectInstalledEmulatorNames(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { multiselect } from '@clack/prompts'
import { type MultiSelectPrompt, resolvePromptCancellation } from '../../core/ui/core-ui-prompt-types.ts'
import { systemImagePackageToRelativeDirectory } from '../data-access/avd-config.ts'
import { type MultiSelectPrompt, resolvePromptCancellation } from './emulator-ui-prompt-types.ts'

export async function selectInstalledSystemImages(
systemImages: readonly string[],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { select } from '@clack/prompts'
import { resolvePromptCancellation, type SelectPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import type { RunningEmulator } from '../data-access/emulator-types.ts'
import { resolvePromptCancellation, type SelectPrompt } from './emulator-ui-prompt-types.ts'

export async function selectRunningEmulatorSerial(
runningEmulators: readonly RunningEmulator[],
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/ui/emulator-ui-select-system-image.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { select } from '@clack/prompts'
import { resolvePromptCancellation, type SelectPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import { parseSystemImagePackage, systemImagePackageToRelativeDirectory } from '../data-access/avd-config.ts'
import { resolvePromptCancellation, type SelectPrompt } from './emulator-ui-prompt-types.ts'

export async function selectSystemImage(
systemImages: readonly string[],
Expand Down
2 changes: 1 addition & 1 deletion src/playground/playground-feature-serve.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { cancel, log as clackLog, intro, note, outro } from '@clack/prompts'
import { runExecutable } from '../core/data-access/run-executable.ts'
import type { PromptDependencies } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import { connectedDeviceLabel, listConnectedDevices } from '../device/data-access/list-connected-devices.ts'
import { NO_CONNECTED_DEVICES_MESSAGE } from '../device/ui/device-ui-messages.ts'
import { resolveTargetDevice } from '../device/ui/device-ui-resolve-target-device.ts'
import type { PromptDependencies } from '../emulator/ui/emulator-ui-prompt-types.ts'
import { createAdbReverse, listAdbReverses, removeAdbReverse } from '../localnet/data-access/adb-reverse.ts'
import { isUsableDevice } from '../localnet/data-access/list-adb-devices.ts'
import { localnetRpcUrl, resolveLocalnet } from '../localnet/data-access/localnet-engines.ts'
Expand Down
2 changes: 1 addition & 1 deletion src/webshell/ui/webshell-ui-prompts.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { confirm, log, password, text } from '@clack/prompts'
import { resolvePromptCancellation, type TextPrompt } from '../../emulator/ui/emulator-ui-prompt-types.ts'
import { resolvePromptCancellation, type TextPrompt } from '../../core/ui/core-ui-prompt-types.ts'
import {
WEBSHELL_KEY_PASSWORD_ENV,
WEBSHELL_KEYSTORE_PASSWORD_ENV,
Expand Down
2 changes: 1 addition & 1 deletion src/webshell/webshell-feature-init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { access } from 'node:fs/promises'
import { basename, dirname, isAbsolute, join, relative, resolve } from 'node:path'
import { cancel, log as clackLog, intro, outro } from '@clack/prompts'
import type { CommandRunner } from '../core/data-access/command-types.ts'
import type { TextPrompt } from '../core/ui/core-ui-prompt-types.ts'
import { formatCliCommand } from '../core/util/format-cli-command.ts'
import type { TextPrompt } from '../emulator/ui/emulator-ui-prompt-types.ts'
import { applyWebshellBranding } from './data-access/apply-branding.ts'
import { copyWebshellTemplate } from './data-access/copy-template.ts'
import { findWebshellTemplateDir } from './data-access/find-template-dir.ts'
Expand Down
2 changes: 1 addition & 1 deletion test/device.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { createApp } from '../src/app.ts'
import type { CommandRunner } from '../src/core/data-access/command-types.ts'
import type { MultiSelectPrompt, SelectPrompt, TextPrompt } from '../src/core/ui/core-ui-prompt-types.ts'
import { findApkCatalogEntry, githubReleaseDownloadUrl } from '../src/device/data-access/apk-catalog.ts'
import type { DeviceTuneCommandOptions } from '../src/device/data-access/device-types.ts'
import { defaultDownloadFile, ensureApkDownloaded } from '../src/device/data-access/download-apk.ts'
Expand All @@ -18,7 +19,6 @@ import { runDeviceOpen } from '../src/device/device-feature-open.ts'
import { runDeviceTune } from '../src/device/device-feature-tune.ts'
import { describeReverse } from '../src/device/ui/device-ui-messages.ts'
import { selectOpenUrl } from '../src/device/ui/device-ui-select-open-url.ts'
import type { MultiSelectPrompt, SelectPrompt, TextPrompt } from '../src/emulator/ui/emulator-ui-prompt-types.ts'

/** Records every command so tests can assert on what adb was actually asked to do. */
function recordingRunner(responses: (cmd: string[]) => string): { calls: string[][]; runCommand: CommandRunner } {
Expand Down
2 changes: 1 addition & 1 deletion test/webshell.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { pathToFileURL } from 'node:url'
import { createApp } from '../src/app.ts'
import type { CommandRunner, InteractiveRunCommandOptions } from '../src/core/data-access/command-types.ts'
import { runInteractiveExecutable } from '../src/core/data-access/run-executable.ts'
import type { TextPrompt } from '../src/emulator/ui/emulator-ui-prompt-types.ts'
import type { TextPrompt } from '../src/core/ui/core-ui-prompt-types.ts'
import { applyWebshellBranding } from '../src/webshell/data-access/apply-branding.ts'
import { copyWebshellTemplate } from '../src/webshell/data-access/copy-template.ts'
import { findWebshellTemplateDir } from '../src/webshell/data-access/find-template-dir.ts'
Expand Down
Loading