{
    "additionalProperties": false,
    "properties": {
        "changeDetection": {
            "alias": "c",
            "default": "Default",
            "description": "Specifies the change detection strategy.",
            "enum": [
                "Default",
                "OnPush"
            ],
            "type": "string"
        },
        "entryComponent": {
            "default": false,
            "description": "Specifies if the component is an entry component of declaring module.",
            "type": "boolean"
        },
        "export": {
            "default": false,
            "description": "Specifies if declaring module exports the component.",
            "type": "boolean"
        },
        "flat": {
            "default": false,
            "description": "Flag to indicate if a dir is created.",
            "type": "boolean"
        },
        "inlineStyle": {
            "alias": "s",
            "default": false,
            "description": "Specifies if the style will be in the ts file.",
            "type": "boolean"
        },
        "inlineTemplate": {
            "alias": "t",
            "default": false,
            "description": "Specifies if the template will be in the ts file.",
            "type": "boolean"
        },
        "module": {
            "alias": "m",
            "description": "Allows specification of the declaring module.",
            "type": "string"
        },
        "name": {
            "$default": {
                "$source": "argv",
                "index": 0
            },
            "description": "The name of the component.",
            "type": "string"
        },
        "path": {
            "description": "The path to create the component.",
            "format": "path",
            "type": "string",
            "visible": false
        },
        "prefix": {
            "alias": "p",
            "description": "The prefix to apply to generated selectors.",
            "oneOf": [
                {
                    "maxLength": 0
                },
                {
                    "format": "html-selector",
                    "minLength": 1
                }
            ],
            "type": "string"
        },
        "project": {
            "$default": {
                "$source": "projectName"
            },
            "description": "The name of the project.",
            "type": "string"
        },
        "selector": {
            "description": "The selector to use for the component.",
            "format": "html-selector",
            "type": "string"
        },
        "skipImport": {
            "default": false,
            "description": "Flag to skip the module import.",
            "type": "boolean"
        },
        "spec": {
            "default": true,
            "description": "Specifies if a spec file is generated.",
            "type": "boolean"
        },
        "styleext": {
            "default": "css",
            "description": "The file extension to be used for style files.",
            "type": "string"
        },
        "viewEncapsulation": {
            "alias": "v",
            "description": "Specifies the view encapsulation strategy.",
            "enum": [
                "Emulated",
                "Native",
                "None"
            ],
            "type": "string"
        }
    },
    "required": [],
    "title": "Angular Component Options Schema",
    "type": "object"
}