{
    "$schema": "https://json-schema.org/schema",
    "$id": "GeneratorNxRspackAngularApp",
    "title": "Creates an Angular application using Rspack.",
    "description": "Creates an Angular application with Rspack for bundling.",
    "type": "object",
    "cli": "nx",
    "properties": {
        "directory": {
            "description": "The directory of the new application.",
            "x-prompt": "What directory should the application be placed in?",
            "type": "string",
            "$default": {
                "$source": "argv",
                "index": 0
            },
            "x-priority": "important"
        },
        "name": {
            "description": "The name of the application.",
            "type": "string",
            "pattern": "^[a-zA-Z][^:]*$"
        },
        "style": {
            "description": "The file extension to be used for style files.",
            "type": "string",
            "default": "css",
            "enum": ["css", "scss", "sass"],
            "x-prompt": {
                "message": "Which stylesheet format would you like to use?",
                "type": "list",
                "items": [
                    {
                        "value": "css",
                        "label": "CSS"
                    },
                    {
                        "value": "scss",
                        "label": "SASS(.scss)  [ https://sass-lang.com   ]"
                    },
                    {
                        "value": "sass",
                        "label": "SASS(.sass)  [ https://sass-lang.com   ]"
                    }
                ]
            }
        },
        "routing": {
            "type": "boolean",
            "description": "Enable routing for the application.",
            "default": true,
            "x-priority": "important"
        },
        "ssr": {
            "description": "Creates an application with Server-Side Rendering (SSR) enabled.",
            "type": "boolean",
            "x-prompt": "Do you want to enable Server-Side Rendering (SSR)?",
            "default": false
        },
        "inlineStyle": {
            "description": "Specifies if the style will be in the ts file.",
            "type": "boolean",
            "default": false,
            "alias": "s"
        },
        "inlineTemplate": {
            "description": "Specifies if the template will be in the ts file.",
            "type": "boolean",
            "default": false,
            "alias": "t"
        },
        "viewEncapsulation": {
            "description": "Specifies the view encapsulation strategy.",
            "enum": ["Emulated", "None", "ShadowDom"],
            "type": "string"
        },
        "skipFormat": {
            "description": "Skip formatting files.",
            "type": "boolean",
            "default": false,
            "x-priority": "internal"
        },
        "skipPackageJson": {
            "type": "boolean",
            "default": false,
            "description": "Do not add dependencies to `package.json`.",
            "x-priority": "internal"
        },
        "unitTestRunner": {
            "type": "string",
            "enum": ["jest", "none"],
            "description": "Test runner to use for unit tests.",
            "default": "jest"
        },
        "e2eTestRunner": {
            "type": "string",
            "enum": ["playwright", "cypress", "none"],
            "description": "Test runner to use for end to end (E2E) tests.",
            "x-prompt": "Which E2E test runner would you like to use?",
            "default": "playwright"
        },
        "tags": {
            "type": "string",
            "description": "Add tags to the application (used for linting)."
        },
        "linter": {
            "description": "The tool to use for running lint checks.",
            "type": "string",
            "enum": ["eslint", "none"],
            "default": "eslint"
        },
        "strict": {
            "type": "boolean",
            "description": "Create an application with stricter type checking and build optimization options.",
            "default": true
        },
        "port": {
            "type": "number",
            "description": "The port at which the remote application should be served."
        },
        "setParserOptionsProject": {
            "type": "boolean",
            "description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.",
            "default": false
        }
    },
    "additionalProperties": false,
    "required": ["directory"]
}
