UNPKG

@contentstack/cli-variants

Version:

Variants plugin

271 lines (270 loc) 7.64 kB
/** * NOTE: Accessing ExportConfig from the export package is not possible * because it will create a circular dependency and cause the prepack/build command to fail. * Therefore, we are duplicating the following types from the export. */ import { AnyProperty, Context } from './utils'; export type Modules = 'stack' | 'assets' | 'locales' | 'environments' | 'extensions' | 'webhooks' | 'global-fields' | 'entries' | 'content-types' | 'custom-roles' | 'workflows' | 'labels' | 'marketplace-apps' | 'taxonomies' | 'personalize' | 'composable-studio'; export type branch = { uid: string; source: string; }; export type masterLocale = { code: string; }; export interface DefaultConfig { context: Context; contentVersion: number; versioning: boolean; host: string; cdn?: string; developerHubUrls: any; modules: { types: Modules[]; locales: { dirName: string; fileName: string; requiredKeys: string[]; dependencies?: Modules[]; }; customRoles: { dirName: string; fileName: string; customRolesLocalesFileName: string; dependencies?: Modules[]; }; 'custom-roles': { dirName: string; fileName: string; customRolesLocalesFileName: string; dependencies?: Modules[]; }; environments: { dirName: string; fileName: string; dependencies?: Modules[]; }; labels: { dirName: string; fileName: string; invalidKeys: string[]; dependencies?: Modules[]; }; webhooks: { dirName: string; fileName: string; dependencies?: Modules[]; }; releases: { dirName: string; fileName: string; releasesList: string; invalidKeys: string[]; dependencies?: Modules[]; }; workflows: { dirName: string; fileName: string; invalidKeys: string[]; dependencies?: Modules[]; }; globalfields: { dirName: string; fileName: string; validKeys: string[]; dependencies?: Modules[]; }; 'global-fields': { dirName: string; fileName: string; validKeys: string[]; dependencies?: Modules[]; }; assets: { dirName: string; fileName: string; batchLimit: number; host: string; invalidKeys: string[]; chunkFileSize: number; downloadLimit: number; fetchConcurrency: number; assetsMetaKeys: string[]; securedAssets: boolean; displayExecutionTime: boolean; enableDownloadStatus: boolean; includeVersionedAssets: boolean; dependencies?: Modules[]; }; content_types: { dirName: string; fileName: string; validKeys: string[]; limit: number; dependencies?: Modules[]; }; 'content-types': { dirName: string; fileName: string; validKeys: string[]; limit: number; dependencies?: Modules[]; }; entries: { dirName: string; fileName: string; invalidKeys: string[]; batchLimit: number; downloadLimit: number; limit: number; dependencies?: Modules[]; exportVersions: boolean; }; variantEntry: { dirName: string; fileName: string; chunkFileSize: number; query: { skip: number; limit: number; include_variant: boolean; include_count: boolean; include_publish_details: boolean; } & AnyProperty; } & AnyProperty; personalize: { dirName: string; baseURL: Record<string, string>; } & AnyProperty; extensions: { dirName: string; fileName: string; dependencies?: Modules[]; }; stack: { dirName: string; fileName: string; dependencies?: Modules[]; }; dependency: { entries: string[]; }; marketplace_apps: { dirName: string; fileName: string; dependencies?: Modules[]; }; 'marketplace-apps': { dirName: string; fileName: string; dependencies?: Modules[]; }; 'composable-studio': { dirName: string; fileName: string; apiBaseUrl: string; }; masterLocale: { dirName: string; fileName: string; requiredKeys: string[]; }; taxonomies: { dirName: string; fileName: string; invalidKeys: string[]; dependencies?: Modules[]; }; events: { dirName: string; fileName: string; invalidKeys: string[]; dependencies?: Modules[]; }; audiences: { dirName: string; fileName: string; invalidKeys: string[]; dependencies?: Modules[]; }; attributes: { dirName: string; fileName: string; invalidKeys: string[]; dependencies?: Modules[]; }; }; languagesCode: string[]; apis: { userSession: string; globalfields: string; locales: string; labels: string; environments: string; assets: string; content_types: string; entries: string; users: string; extension: string; webhooks: string; stacks: string; }; preserveStackVersion: boolean; fetchConcurrency: number; writeConcurrency: number; developerHubBaseUrl: string; marketplaceAppEncryptionKey: string; onlyTSModules: string[]; } export interface ExportConfig extends DefaultConfig { exportDir: string; data: string; management_token?: string; apiKey: string; forceStopMarketplaceAppsPrompt: boolean; auth_token?: string; branchName?: string; securedAssets?: boolean; contentTypes?: string[]; branches?: branch[]; branchEnabled?: boolean; branchDir?: string; singleModuleExport?: boolean; moduleName?: Modules; master_locale: masterLocale; headers?: { api_key?: string; access_token?: string; authtoken?: string; 'X-User-Agent': string; organization_uid?: string; 'X-Project-Uid'?: string; }; project_id?: string; access_token?: string; org_uid?: string; source_stack?: string; sourceStackName?: string; personalizationEnabled: boolean; personalizationHost?: string; region: any; } export interface PersonalizeConfig { dirName: string; baseURL: Record<string, string>; } export interface EventsConfig { dirName: string; fileName: string; invalidKeys: string[]; } export interface AudiencesConfig { dirName: string; fileName: string; invalidKeys: string[]; } export interface AttributesConfig { dirName: string; fileName: string; invalidKeys: string[]; }