import { BcryptOptions, SlackOptions, TemplateOptions, ViewOptions } from './'; /** * App configuration descriptor interface. */ export interface AppOptions { /** * BCrypt configuration. * If true, BCrypt hashing will be used with default settings (10 salt rounds). * If false, BCrypt hashing will be disabled. * To customize BCrypt configuration, provide BCryptOptions. * // TODO: Rename for consistency */ bcrypt?: BcryptOptions | boolean; /** * Optional way to provide template configuration. * It may be used as an alternative to following naming conventions for config files. * Path to existing file may be provided as well as template options themselves. */ templates?: string | TemplateOptions; /** * Optional way to provide view configuration. * It may be used as an alternative to following naming conventions for config files. * Path to existing file may be provided as well as view options themselves. */ views?: string | ViewOptions; /** * Express environment. It is detected automatically based on the flag provided to project running script. */ environment?: string; /** * Slack options for sending notifications to your Slack team. * NOTE: providing any boolean value here will result into Slack not working as Slack API key is mandatory * for sending notifications to your channels. */ slack?: boolean | SlackOptions; /** * Domain to be used for current project. */ domain?: string; /** * File extension based on preferred type (js for JavaScript and ts for TypeScript). * Defaults to 'js' (JavaScript). */ extension?: 'js' | 'ts'; /** * Port to listen to for running application. * Defaults to 3000. */ port?: number; /** * Extra parameters to be used app-wide can be put here. * Any keys without value pairs existing in 'app.yml' not related to AppOptions object will be put into args. */ args?: any[]; /** * Extra parameters to be used app-wide can be put here. * Any key-value pairs existing in 'app.yml' not related to AppOptions object will be put into kwargs. */ kwargs?: object; }