From f3264452db29a12ecc8ff6ec08c10eefc0df5b21 Mon Sep 17 00:00:00 2001 From: El Cris Date: Thu, 29 Jan 2026 15:25:21 -0600 Subject: [PATCH 1/2] Protosprite also tries to look on your PATH for aseprite if not present on steam --- packages/protosprite-cli/src/cli.ts | 10 ++++++++-- packages/protosprite-cli/src/util/findAseprite.ts | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/protosprite-cli/src/cli.ts b/packages/protosprite-cli/src/cli.ts index 1abd0c2..2ff5957 100644 --- a/packages/protosprite-cli/src/cli.ts +++ b/packages/protosprite-cli/src/cli.ts @@ -20,7 +20,7 @@ import { ExternalSpriteSheetData, isEmbeddedSpriteSheetData } from "../../protosprite-core/dist/src/core/data.js"; -import { findAsperiteBinary } from "./util/findAseprite.js"; +import { findSteamAsepriteBinary } from "./util/findAseprite.js"; import { genTypeDefinitions } from "./util/genDefinitions.js"; import os from "os"; @@ -113,10 +113,16 @@ class ProtoSpriteCLI { this.workingDirectory, `${inputFileParts.name}.png` ); - let asepriteBinPath = findAsperiteBinary(); + let asepriteBinPath = findSteamAsepriteBinary(); // Replace spaces in binary path with escapes. if (os.platform() === "darwin") { asepriteBinPath = asepriteBinPath?.replaceAll(" ", "\\ ") ?? null; + } + if (asepriteBinPath == null) asepriteBinPath = "aseprite"; + try{ + childProcess.execSync(`${asepriteBinPath} --version`); + }catch{ + throw new Error("Cannot find Steam aseprite binary or 'aseprite' on your PATH"); } const asepriteArgs = [ "-b", diff --git a/packages/protosprite-cli/src/util/findAseprite.ts b/packages/protosprite-cli/src/util/findAseprite.ts index ddea24f..c2414e2 100644 --- a/packages/protosprite-cli/src/util/findAseprite.ts +++ b/packages/protosprite-cli/src/util/findAseprite.ts @@ -2,7 +2,7 @@ import fs from "fs"; import os from "os"; import path from "path"; -export function findAsperiteBinary(): string | null { +export function findSteamAsepriteBinary(): string | null { const platform = os.platform(); const steamInstallPath = getSteamInstallPath(platform); From f26a3b599f58d97254d6ef788c81ac65853ae586 Mon Sep 17 00:00:00 2001 From: El Cris Date: Wed, 25 Mar 2026 21:49:48 -0600 Subject: [PATCH 2/2] Format cli.ts with prettier Co-Authored-By: Claude Sonnet 4.6 --- packages/protosprite-cli/src/cli.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/protosprite-cli/src/cli.ts b/packages/protosprite-cli/src/cli.ts index 2ff5957..745497d 100644 --- a/packages/protosprite-cli/src/cli.ts +++ b/packages/protosprite-cli/src/cli.ts @@ -4,6 +4,7 @@ import * as aseprite from "@kayahr/aseprite"; import childProcess from "child_process"; import fs from "fs"; import { Jimp } from "jimp"; +import os from "os"; import path from "path"; import ProtoSprite, { ProtoSpriteInstance, @@ -22,8 +23,6 @@ import { } from "../../protosprite-core/dist/src/core/data.js"; import { findSteamAsepriteBinary } from "./util/findAseprite.js"; import { genTypeDefinitions } from "./util/genDefinitions.js"; -import os from "os"; - const program = new Command() .name("protosprite-cli") @@ -117,12 +116,14 @@ class ProtoSpriteCLI { // Replace spaces in binary path with escapes. if (os.platform() === "darwin") { asepriteBinPath = asepriteBinPath?.replaceAll(" ", "\\ ") ?? null; - } + } if (asepriteBinPath == null) asepriteBinPath = "aseprite"; - try{ - childProcess.execSync(`${asepriteBinPath} --version`); - }catch{ - throw new Error("Cannot find Steam aseprite binary or 'aseprite' on your PATH"); + try { + childProcess.execSync(`${asepriteBinPath} --version`); + } catch { + throw new Error( + "Cannot find Steam aseprite binary or 'aseprite' on your PATH" + ); } const asepriteArgs = [ "-b",