UNPKG

@abaplint/transpiler

Version:
84 lines (83 loc) 2.73 kB
import { Chunk } from "./chunk"; import * as abaplint from "@abaplint/core"; import { TestMethodList } from "./unit_test"; import { DatabaseSetupResult } from "./db/database_setup_result"; export interface IFile { filename: string; relative?: string; contents: string; } export interface IObjectIdentifier { name: string; type: string; } export interface IOutput { objects: IOutputFile[]; reg: abaplint.IRegistry; unitTestScript: string; unitTestScriptOpen: string; initializationScript: string; initializationScript2: string; databaseSetup: DatabaseSetupResult; } export interface IRequire { name: string | undefined; filename: string; } export interface IProgress { set(total: number, text: string): void; tick(text: string): Promise<void>; } /** one javascript output file for each object */ export interface IOutputFile { object: IObjectIdentifier; filename: string; chunk: Chunk; requires: readonly IRequire[]; exports: readonly string[]; } export declare enum UnknownTypesEnum { compileError = "compileError", runtimeError = "runtimeError" } export interface ITranspilerOptions { /** ignore syntax check, used for internal testing */ ignoreSyntaxCheck?: boolean; /** adds common js modules */ addCommonJS?: boolean; /** adds filenames as comments in the output js */ addFilenames?: boolean; /** sets behavior for unknown types, either fail at compile- or run-time */ unknownTypes?: UnknownTypesEnum; /** list of unit tests to skip */ skip?: TestMethodList; /** extra setup script to be executed during initialization */ setup?: { filename: string; preFunction?: string | undefined; postFunction?: string | undefined; }; /** list of keywords to rename, if not supplied default will be used */ keywords?: string[]; /** populate tables, all tables are populated if undefined and they exist */ populateTables?: { /** insert into REPOSRC, skips if equals false */ reposrc?: boolean; /** insert into SEOSUBCO, skips if equals false */ seosubco?: boolean; /** insert into SEOSUBCODF, skips if equals false */ seosubcodf?: boolean; /** insert into SEOSUBCOTX, skips if equals false */ seosubcotx?: boolean; /** insert into TADIR, skips if equals false */ tadir?: boolean; /** insert into WWWPARAMS, skips if equals false */ wwwparams?: boolean; }; /** ignore source map */ ignoreSourceMap?: boolean; /** import programs */ importProg?: boolean; /** skips version check, not recommended */ skipVersionCheck?: boolean; }