UNPKG

@bscotch/gml-parser

Version:

A parser for GML (GameMaker Language) files for programmatic manipulation and analysis of GameMaker projects.

78 lines 2.35 kB
import { type YyResourceType } from '@bscotch/yy'; export interface ImportAction { action: 'create' | 'replace'; /** Name of the asset */ asset: string; /** The folder in the target where this asset would live */ targetFolder: string; } interface RequirementBase { requiredBy: { name: string; kind: YyResourceType; }; requirement: { name: string; kind: YyResourceType; }; relationship: 'parent' | 'child' | 'ref' | 'code'; } export interface AssetDependency extends RequirementBase { relationship: 'parent' | 'child' | 'ref'; } export interface CodeDependency extends RequirementBase { relationship: 'code'; signifier: string; /** Where the signifier was defined */ def: { file: string; line: number; column: number; }; /** Where the signifier was referenced */ ref: { file: string; line: number; column: number; }; } export type Dependency = AssetDependency | CodeDependency; export interface ImportModuleOptions { /** * The folder in the source project to import from. Either * this or sourceAsset can be specified. */ sourceFolder?: string; /** * The asset in the source project to import from. Either * this or sourceFolder can be specified. */ sourceAsset?: string; /** * Folder to import into. Defaults to `sourceFolder`. */ targetFolder?: string; /** * By default all resources are imported, but * you can specify a subset here. */ types?: YyResourceType[]; /** * A "missing dependency" is one that is neither in the target project * nor in the `sourceFolder` of the source project, but that is referenced * by an asset in `sourceFolder`. (For example, a sprite or parent object * referenced by an object). * * If set to 'error', the import will abort if there are any missing deps. * * If set to 'skip', the import will proceed without the missing dependencies. * * If set to 'include', the missing deps will be included in the import and also * placed in the `targetProject`'s `targetFolder`. * * @default 'error' */ onMissingDependency?: 'error' | 'skip' | 'include'; } export {}; //# sourceMappingURL=modules.types.d.ts.map