UNPKG

libmodulor

Version:

A TypeScript library to create platform-agnostic applications

73 lines (72 loc) 2.54 kB
import type { FileName, FilePath } from '../dt/index.js'; import type { LoggerSettings } from '../std/index.js'; import type { RecursiveNonNullable } from '../utils/index.js'; import type { AppTesterCtx } from './ctx.js'; type AppTesterOptsAliasPrefix = string; type AppTesterOptsImportsList = string[]; export interface AppTesterTypeScriptOpts { /** * Although the TS lib relies on an enum (`ModuleKind`), we use plain text so it's compatible with a regular tsconfig.json * @see https://www.typescriptlang.org/tsconfig/#module * @defaultValue "NodeNext" */ module?: string; /** * Although the TS lib relies on an enum (`ModuleResolutionKind`), we use plain text so it's compatible with a regular tsconfig.json * @see https://www.typescriptlang.org/tsconfig/#moduleResolution * @defaultValue "NodeNext" */ moduleResolution?: string; /** * @see https://www.typescriptlang.org/tsconfig/#noCheck * @defaultValue true */ noCheck?: boolean; /** * @see https://www.typescriptlang.org/tsconfig/#skipLibCheck * @defaultValue true */ skipLibCheck?: boolean; /** * Although the TS lib relies on an enum (`ScriptTarget`), we use plain text so it's compatible with a regular tsconfig.json * @see https://www.typescriptlang.org/tsconfig/#target * @defaultValue "ESNext" */ target?: string; } export type AppTesterOpts = Partial<Pick<LoggerSettings, 'logger_level'>> & { source?: { imports?: { external?: { /** * @defaultValue '@' */ aliasPrefix?: AppTesterOptsAliasPrefix; /** * @defaultValue ['LIB_NAME', 'inversify'] */ allowed?: AppTesterOptsImportsList; }; internal?: { /** * @defaultValue '../../' */ maxDepth?: FilePath; /** * @defaultValue '.' */ startChar?: string; }; }; ts?: { /** * @defaultValue tsconfig.json */ configFileName?: FileName; } & AppTesterTypeScriptOpts; }; }; export type AppTesterOptsAllSet = RecursiveNonNullable<AppTesterOpts>; export declare const DEFAULT_APP_TESTER_OPTS: AppTesterOptsAllSet; export declare function optsAllSet(opts: AppTesterCtx['opts']): AppTesterOptsAllSet; export {};