1import { PromptObject } from 'prompts';
2
3/**
4 * Possible command options.
5 */
6export type CommandOptions = {
7  target: string;
8  source?: string;
9  withReadme: boolean;
10  withChangelog: boolean;
11  example: boolean;
12};
13
14/**
15 * Represents an object that is passed to `ejs` when rendering the template.
16 */
17export type SubstitutionData = {
18  project: {
19    slug: string;
20    name: string;
21    version: string;
22    description: string;
23    package: string;
24    moduleName: string;
25    viewName: string;
26  };
27  author: string;
28  license: string;
29  repo: string;
30};
31
32export type CustomPromptObject = PromptObject & {
33  name: string;
34  resolvedValue?: string | null;
35};
36
37export type Answers = Record<string, string>;
38