lambdaorm-cli
Version:
The lambdaorm command line interface
55 lines (54 loc) • 2.27 kB
TypeScript
import { Entity, DomainSchema, InfrastructureSchema, SchemaState } from 'lambdaorm';
import { BuildArgs, OrmCliH3lp, LanguageService } from '../../application';
export declare class NodeLanguageService implements LanguageService {
protected readonly schemaState: SchemaState;
protected readonly helper: OrmCliH3lp;
protected library: string;
constructor(schemaState: SchemaState, helper: OrmCliH3lp);
get name(): string;
build(args: BuildArgs): Promise<void>;
localVersion(workspace: string): Promise<string>;
/**
* if the package.json does not exist create it
*/
protected createPackage(workspace: string): Promise<void>;
/**
* if the tsconfig.json does not exist create it
*/
protected createTsconfig(workspace: string): Promise<void>;
/**
* if the typescript is not installed locally it will be installed
*/
protected installTypescript(workspace: string): Promise<void>;
/**
* if the lambdaorm is not installed locally it will be installed
*/
protected installLibrary(workspace: string): Promise<void>;
protected updateStructure(workspace: string, srcPath: string, dataPath?: string): Promise<void>;
protected addDialects(path: string, infrastructure: InfrastructureSchema): Promise<void>;
protected buildModel(domainPath: string, domain: DomainSchema): Promise<void>;
protected buildRepositories(domainPath: string, domain: DomainSchema): Promise<void>;
protected getLibs(dialect: string): string[];
protected getTypescriptContent(): {
compilerOptions: {
experimentalDecorators: boolean;
emitDecoratorMetadata: boolean;
resolveJsonModule: boolean;
esModuleInterop: boolean;
strict: boolean;
declaration: boolean;
moduleResolution: string;
sourceMap: boolean;
target: string;
module: string;
outDir: string;
baseUrl: string;
typeRoots: string[];
};
include: string[];
exclude: string[];
};
protected getRepositoryContent(entity: Entity): string;
protected getModelContent(source: DomainSchema): string;
protected getType(type: string): string;
}