import { PackageJson } from 'mrm-core'; import { AppEnvironments } from '@ioc:Adonis/Core/Application'; /** * Shape of the template node */ export type TemplateNode = { src: string; dest: string; data?: any; mustache?: boolean; } | string; /** * Shape of the package instructions node */ export type PackageInstructionsBlock = { instructions?: string; instructionsMd?: string; templates?: { basePath?: string; } & { [templateFor: string]: TemplateNode | TemplateNode[]; }; env?: { [key: string]: string; }; preloads?: (string | { file: string; environment?: AppEnvironments[]; optional?: boolean; })[]; metaFiles?: (string | { pattern: string; reloadServer?: boolean; })[]; types?: string; commands?: string[]; providers?: string[]; aliases?: { [key: string]: string; }; aceProviders?: string[]; testProviders?: string[]; }; /** * Shape of the package file along with the adonisjs * block */ export type PackageFile = PackageJson & { adonisjs: PackageInstructionsBlock; };