roblox-ts
Version:
<div align="center"><img width=25% src="https://i.imgur.com/yCjHmng.png"></div> <h1 align="center"><a href="https://roblox-ts.github.io/">roblox-ts</a></h1> <div align="center">A TypeScript-to-Lua Compiler for Roblox</div> <br> <div align="center"> <a hr
60 lines (59 loc) • 1.8 kB
TypeScript
import * as ts from "ts-morph";
export declare enum ProjectType {
Game = 0,
Bundle = 1,
Package = 2
}
interface ProjectOptions {
project?: string;
includePath?: string;
rojo?: string;
noInclude?: boolean;
minify?: boolean;
ci?: boolean;
}
export declare class Project {
configFilePath: string;
rojoFilePath: string | undefined;
project: ts.Project;
private compilerOptions;
private projectPath;
private rojoProject?;
private projectInfo;
private readonly includePath;
private readonly noInclude;
private readonly minify;
private readonly modulesPath;
private readonly rootDirPath;
private readonly outDirPath;
private readonly modulesDir?;
private readonly rojoOverridePath;
private readonly runtimeOverride;
private readonly ci;
private readonly luaSourceTransformer;
reloadProject(): void;
reloadRojo(): void;
constructor(opts?: ProjectOptions);
private validateCompilerOptions;
private validateRbxTypes;
private getRojoFilePath;
addFile(filePath: string): void;
removeFile(filePath: string): Promise<void>;
refreshFile(filePath: string): Promise<void>;
cleanDirRecursive(dir: string): Promise<void>;
getRootDirOrThrow(): string;
copyModuleFiles(): Promise<void>;
copyIncludeFiles(): Promise<void>;
copyLuaFiles(): Promise<void>;
copyDtsFiles(): Promise<unknown[]>;
compileAll(): Promise<void>;
compileFileByPath(filePath: string): Promise<void>;
private createCompilerState;
private virtualFileNum;
compileSource(source: string): string;
private getEmittedDtsFiles;
private postProcessDtsFiles;
private getDiagnosticErrors;
compileFiles(files: Array<ts.SourceFile>): Promise<void>;
}
export {};