UNPKG

isaacscript

Version:

A command line tool for managing Isaac mods written in TypeScript.

61 lines 3.63 kB
import { getPackageJSONFieldsMandatory, getPackageRoot } from "complete-node"; import os from "node:os"; import path from "node:path"; // Miscellaneous export const CWD = process.cwd(); export const CURRENT_DIRECTORY_NAME = path.basename(CWD); export const HOME_DIR = os.homedir(); export const FILE_SYNCED_MESSAGE = "File synced:"; export const COMPILATION_SUCCESSFUL_MESSAGE = "Compilation successful."; export const MOD_UPLOADER_PATH = String.raw `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac Rebirth\tools\ModUploader\ModUploader.exe`; const packageRoot = await getPackageRoot(); const { version, description } = await getPackageJSONFieldsMandatory(packageRoot, "name", "version", "description"); export const PROJECT_NAME = "IsaacScript"; // We want to capitalize the name. export const PROJECT_VERSION = version; export const PROJECT_DESCRIPTION = description; // `isaacscript` const REPO_ROOT = path.resolve(import.meta.dirname, ".."); // `isaacscript/custom-stage` const CUSTOM_STAGE_PATH = path.join(REPO_ROOT, "custom-stage"); export const CUSTOM_STAGE_FILES_DIR = path.join(CUSTOM_STAGE_PATH, "isaacscript-custom-stage"); export const SHADERS_XML_PATH = path.join(CUSTOM_STAGE_PATH, "shaders.xml"); export const XML_CONVERTER_PATH = path.join(CUSTOM_STAGE_PATH, "xml-converter.exe"); // `isaacscript/isaacscript-watcher` export const DISABLE_IT_FILE = "disable.it"; export const WATCHER_MOD_NAME = "isaacscript-watcher"; export const WATCHER_MOD_SOURCE_PATH = path.join(REPO_ROOT, WATCHER_MOD_NAME); // `isaacscript/file-templates` const TEMPLATES_DIR = path.join(REPO_ROOT, "file-templates"); // `isaacscript/file-templates/static` export const TEMPLATES_STATIC_DIR = path.join(TEMPLATES_DIR, "static"); // `isaacscript/file-templates/dynamic` export const TEMPLATES_DYNAMIC_DIR = path.join(TEMPLATES_DIR, "dynamic"); export const ACTION_YML = "action.yml"; export const ACTION_YML_TEMPLATE_PATH = path.join(TEMPLATES_DYNAMIC_DIR, ".github", "workflows", "setup", ACTION_YML); const GITIGNORE = "_gitignore"; // Not named ".gitignore" to prevent npm from deleting it. export const GITIGNORE_TEMPLATE_PATH = path.join(TEMPLATES_DYNAMIC_DIR, GITIGNORE); export const MAIN_TS = "main.ts"; export const MAIN_TS_TEMPLATE_PATH = path.join(TEMPLATES_DYNAMIC_DIR, "src", MAIN_TS); export const MAIN_DEV_TS_TEMPLATE_PATH = path.join(TEMPLATES_DYNAMIC_DIR, "src", "main-dev.ts"); export const METADATA_XML = "metadata.xml"; export const METADATA_XML_TEMPLATE_PATH = path.join(TEMPLATES_DYNAMIC_DIR, "mod", METADATA_XML); export const README_MD = "README.md"; // `isaacscript/schemas` const SCHEMAS_DIR = path.join(REPO_ROOT, "schemas"); export const ISAACSCRIPT_SCHEMA_PATH = path.join(SCHEMAS_DIR, "tsconfig-isaacscript-section-schema.json"); // `project` export const CONFIG_FILE_NAME = "isaacscript.json"; export const CONFIG_FILE_PATH = path.join(CWD, CONFIG_FILE_NAME); export const TSCONFIG_JSON = "tsconfig.json"; export const TSCONFIG_JSON_PATH = path.join(CWD, TSCONFIG_JSON); export const CONSTANTS_TS_PATH = path.join(CWD, "src", "constants.ts"); // `project/mod` export const MOD_SOURCE_PATH = path.join(CWD, "mod"); export const MAIN_LUA = "main.lua"; export const METADATA_XML_PATH = path.join(MOD_SOURCE_PATH, "metadata.xml"); export const VERSION_TXT_PATH = path.join(MOD_SOURCE_PATH, "version.txt"); // `project/scripts` const SCRIPTS_PATH = path.join(CWD, "scripts"); export const PUBLISH_PRE_COPY_PY_PATH = path.join(SCRIPTS_PATH, "publish_pre_copy.py"); export const PUBLISH_POST_COPY_PY_PATH = path.join(SCRIPTS_PATH, "publish_post_copy.py"); //# sourceMappingURL=constants.js.map