UNPKG

@bscotch/stitch-launcher

Version:

Manage GameMaker IDE and runtime installations for fast switching between versions.

155 lines 5.23 kB
import { Channel } from '@bscotch/gamemaker-releases'; import { Pathy } from '@bscotch/pathy'; import { GameMakerChannel, GameMakerInstalledVersion } from './GameMakerLauncher.types.js'; import { GameMakerUser } from './GameMakerUser.js'; export declare class GameMakerComponent { protected info: GameMakerInstalledVersion; constructor(info: GameMakerInstalledVersion); get version(): string; get channel(): "lts" | "stable" | "beta" | "unstable" | undefined; get executablePath(): Pathy<unknown>; get directory(): Pathy<unknown>; get publishedAt(): Date | undefined; get usersDirectory(): Pathy<unknown>; activeUser(): Promise<GameMakerUser>; activeUserDirectory(): Promise<Pathy<unknown>>; /** * List paths to important files and directories. */ static listWellKnownPaths(options?: { programFiles?: string; }): Promise<{ id: "gameMakerDataDir" | "defaultMacrosFile" | "runtimeFeedsConfigFile" | "initialDefaultMacrosFile" | "runtimesCacheDir" | "gameMakerIdeDir" | "gameMakerIdeExe" | "gameMakerUserDir" | "activeUserFile" | "uiLogFile" | "activeRuntimeConfigFile"; path: string; name: string; description: string; }[]>; static get releasesCachePath(): Pathy<{ channel: "lts" | "stable" | "beta" | "unstable"; publishedAt: string; summary: string; ide: { channel: "lts" | "stable" | "beta" | "unstable"; type: "runtime" | "ide"; version: string; feedUrl: string; publishedAt: string; notesUrl: string; notes: { since: string | null; groups: { title: string; changes: string[]; }[]; }; link?: string | undefined; }; runtime: { channel: "lts" | "stable" | "beta" | "unstable"; type: "runtime" | "ide"; version: string; feedUrl: string; publishedAt: string; notesUrl: string; notes: { since: string | null; groups: { title: string; changes: string[]; }[]; }; link?: string | undefined; }; }[]>; static listReleases(options?: { /** Max age of the cached releases list */ maxAgeSeconds?: number; }): Promise<{ channel: "lts" | "stable" | "beta" | "unstable"; publishedAt: string; summary: string; ide: { channel: "lts" | "stable" | "beta" | "unstable"; type: "runtime" | "ide"; version: string; feedUrl: string; publishedAt: string; notesUrl: string; notes: { since: string | null; groups: { title: string; changes: string[]; }[]; }; link?: string | undefined; }; runtime: { channel: "lts" | "stable" | "beta" | "unstable"; type: "runtime" | "ide"; version: string; feedUrl: string; publishedAt: string; notesUrl: string; notes: { since: string | null; groups: { title: string; changes: string[]; }[]; }; link?: string | undefined; }; }[]>; static findRelease(searchOptions: { ideVersion?: string; runtimeVersion?: string; maxAgeSeconds?: number; }): Promise<{ channel: "lts" | "stable" | "beta" | "unstable"; publishedAt: string; summary: string; ide: { channel: "lts" | "stable" | "beta" | "unstable"; type: "runtime" | "ide"; version: string; feedUrl: string; publishedAt: string; notesUrl: string; notes: { since: string | null; groups: { title: string; changes: string[]; }[]; }; link?: string | undefined; }; runtime: { channel: "lts" | "stable" | "beta" | "unstable"; type: "runtime" | "ide"; version: string; feedUrl: string; publishedAt: string; notesUrl: string; notes: { since: string | null; groups: { title: string; changes: string[]; }[]; }; link?: string | undefined; }; } | undefined>; static get userDirectories(): { [Channel in GameMakerChannel]: string; }; static get cacheDir(): Pathy; /** * Ensure that all official runtime feeds are available to the user * by adding missing feeds to the appropriate GameMaker configs. */ static ensureOfficialRuntimeFeeds(channels?: Channel[]): Promise<void>; } //# sourceMappingURL=GameMakerComponent.d.ts.map