@nikovirtala/projen-constructs
    Preparing search index...

    Interface ProjectGeneratorOptions

    Options for ProjectGenerator component

    Configures the generation of a TypeScript project class that extends a Projen base class with standard configuration and component integration.

    interface ProjectGeneratorOptions {
        additionalOptions?: any[];
        components?: Component[];
        executable?: boolean;
        filePath: string;
        indent?: number;
        name: string;
        omitOptions?: string[];
        projectType: ProjectType;
        readonly?: boolean;
    }

    Hierarchy

    • SourceCodeOptions
      • ProjectGeneratorOptions
    Index

    Properties

    additionalOptions?: any[]

    Additional properties to add to the generated options interface

    Use this to extend the base options with custom properties specific to your project type.

    ignore

    components?: Component[]

    Components to integrate into the project

    Each component will be instantiated during project construction and can be configured via an optional options property in the generated interface.

    [{ component: Mise }, { component: Vitest, optionsProperty: { name: "vitestOptions", type: "...", docs: "..." } }]
    
    executable?: boolean

    Whether the generated file should be marked as executable.

    false
    
    filePath: string

    Output file path for the generated class

    Must contain a directory separator. The options interface will be generated in the same directory with a ".generated.ts" suffix.

    "src/projects/typescript.generated.ts"
    
    indent?: number

    Indentation size.

    2
    
    name: string

    Name of the generated class (e.g., "TypeScriptProject")

    The options interface will be named ${name}Options.

    omitOptions?: string[]

    Property names to omit from the base options interface

    Use this to hide base class options that should not be configurable in the generated project type.

    projectType: ProjectType

    Project type identifier

    Specifies which Projen base class to extend and which default configuration to apply.

    ProjectType.TYPESCRIPT
    
    ProjectType.JSII
    
    readonly?: boolean

    Whether the generated file should be readonly.

    true