{
    "$schema": "https://json-schema.org/schema",
    "$id": "NxJestProject",
    "cli": "nx",
    "title": "Add Jest Configuration to a project",
    "description": "Add Jest Configuration to a project.",
    "type": "object",
    "properties": {
        "project": {
            "type": "string",
            "description": "The name of the project.",
            "$default": {
                "$source": "projectName"
            },
            "x-priority": "important"
        },
        "skipSetupFile": {
            "type": "boolean",
            "description": "Skips the setup file required for angular.",
            "default": false,
            "x-deprecated": "Use the `setupFile` option instead. It will be removed in Nx v22."
        },
        "setupFile": {
            "type": "string",
            "enum": ["none", "angular", "web-components"],
            "description": "The setup file to be generated.",
            "default": "none",
            "x-priority": "important"
        },
        "skipSerializers": {
            "type": "boolean",
            "description": "Skips the serializers required to snapshot angular templates.",
            "default": false
        },
        "supportTsx": {
            "type": "boolean",
            "description": "Setup `tsx` support.",
            "default": false,
            "x-priority": "important"
        },
        "testEnvironment": {
            "type": "string",
            "enum": ["jsdom", "node", "none"],
            "description": "The test environment for jest.",
            "default": "jsdom",
            "x-priority": "important"
        },
        "compiler": {
            "type": "string",
            "enum": ["tsc", "babel", "swc"],
            "description": "The compiler to use for source and tests.",
            "default": "tsc"
        },
        "babelJest": {
            "type": "boolean",
            "alias": "babel-jest",
            "description": "Use `babel-jest` instead of `ts-jest`.",
            "x-deprecated": "Use the `compiler` option instead. It will be removed in Nx v22.",
            "default": false
        },
        "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"
        },
        "js": {
            "type": "boolean",
            "default": false,
            "description": "Use JavaScript instead of TypeScript for config files"
        },
        "runtimeTsconfigFileName": {
            "type": "string",
            "description": "The name of the project's tsconfig file that includes the runtime source files. If not provided, it will default to `tsconfig.lib.json` for libraries and `tsconfig.app.json` for applications."
        },
        "keepExistingVersions": {
            "type": "boolean",
            "x-priority": "internal",
            "description": "Keep existing dependencies versions",
            "default": true
        }
    },
    "required": []
}
