rbx-forge
Version:
A roblox-ts and Luau CLI tool for fully-managed Rojo projects
68 lines (67 loc) • 1.58 kB
text/typescript
import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
//#region src/config/schema.d.ts
declare const configSchema: arktype_internal_variants_object_ts0.ObjectType<{
projectType: "luau" | "rbxts";
buildOutputPath?: string;
commandNames?: {
build?: string;
compile?: string;
init?: string;
open?: string;
restart?: string;
serve?: string;
start?: string;
stop?: string;
syncback?: string;
typegen?: string;
watch?: string;
};
luau?: {
watch?: {
args?: string[];
command?: string;
};
};
rbxts?: {
args?: string[];
command?: string;
watchOnOpen?: boolean;
};
rojoAlias?: string;
rojoProjectPath?: string;
suppressNoTaskRunnerWarning?: boolean;
syncback?: {
projectPath?: string | undefined;
runOnStart?: boolean;
};
syncbackInputPath?: string;
typegen?: {
exclude?: string[];
include?: string[];
maxDepth?: number | undefined;
};
typegenOutputPath?: string;
}, {}>;
type Config = typeof configSchema.infer;
//#endregion
//#region src/config/index.d.ts
/**
* Define a typed configuration for rbx-forge.
*
* @example
*
* ```typescript
* import { defineConfig } from "rbx-forge";
*
* export default defineConfig({
* buildOutputPath: "build/game.rbxl",
* });
* ```
*
* @param config - The configuration object.
* @returns The same configuration object with type checking.
*/
declare function defineConfig(config: Config): Config;
//#endregion
export { type Config, defineConfig };