UNPKG

@salesforce/templates

Version:

Salesforce JS library for templates

107 lines (106 loc) 3.3 kB
interface StringKeyValueObject<V> { [opt: string]: V; } export declare type Answers = StringKeyValueObject<string>; export interface CreateOutput { outputDir: string; created: string[]; rawOutput: string; } /** * Available Template types * Each template type must have a corresponding generator class: * - generator class file should locate in generators/ * - generator class file should default export a generator class extending SfdxGenerator * - generator class file should have a name same as the type name, except with the first letter lowercased */ export declare enum TemplateType { AnalyticsTemplate = 0, ApexClass = 1, ApexTrigger = 2, LightningApp = 3, LightningComponent = 4, LightningEvent = 5, LightningInterface = 6, LightningTest = 7, Project = 8, VisualforceComponent = 9, VisualforcePage = 10, StaticResource = 11 } /** * Template Options * If not supplied, the apiversion and outputdir use default values. */ export interface TemplateOptions { apiversion?: string; outputdir?: string; } export interface AnalyticsTemplateOptions extends TemplateOptions { templatename: string; } export interface ApexClassOptions extends TemplateOptions { template: 'DefaultApexClass' | 'ApexUnitTest' | 'ApexException' | 'InboundEmailService'; classname: string; } declare type ApexTriggerEvent = 'before insert' | 'before update' | 'before delete' | 'after insert' | 'after update' | 'after delete' | 'after undelete'; export interface ApexTriggerOptions extends TemplateOptions { triggername: string; triggerevents: ApexTriggerEvent[]; sobject: string; template: 'ApexTrigger'; } export interface LightningAppOptions extends TemplateOptions { appname: string; template: 'DefaultLightningApp'; internal: boolean; } export interface LightningComponentOptions extends TemplateOptions { componentname: string; template: 'default' | 'analyticsDashboard' | 'analyticsDashboardWithStep'; type: 'aura' | 'lwc'; internal: boolean; } export interface LightningEventOptions extends TemplateOptions { eventname: string; template: 'DefaultLightningEvt'; internal: boolean; } export interface LightningInterfaceOptions extends TemplateOptions { interfacename: string; template: 'DefaultLightningIntf'; internal: boolean; } export interface LightningTestOptions extends TemplateOptions { template: 'DefaultLightningTest'; testname: string; internal: boolean; } export interface ProjectOptions extends TemplateOptions { projectname: string; defaultpackagedir: string; /** * namespace * Note that namespace is a reserved keyword for yeoman generator */ ns: string; template: 'standard' | 'empty' | 'analytics'; manifest: boolean; loginurl: string; } export interface VisualforceComponentOptions extends TemplateOptions { componentname: string; label: string; template: 'DefaultVFComponent'; } export interface VisualforcePageOptions extends TemplateOptions { pagename: string; label: string; template: 'DefaultVFPage'; } export interface StaticResourceOptions extends TemplateOptions { resourcename: string; contenttype: string; template: 'empty'; } export {};