{
  "namedInputs": {
    "default": ["{projectRoot}/**/*"],
    "excludeStories": [
      "default",
      "!{projectRoot}/.storybook/*",
      "!{projectRoot}/**/tsconfig.storybook.json",
      "!{projectRoot}/**/*.stories.(ts|tsx)",
      "!{projectRoot}/**/__stories__/*"
    ],
    "excludeTests": [
      "default",
      "!{projectRoot}/**/jest.config.(js|ts)",
      "!{projectRoot}/**/tsconfig.spec.json",
      "!{projectRoot}/**/*.test.(ts|tsx)",
      "!{projectRoot}/**/*.spec.(ts|tsx)",
      "!{projectRoot}/**/__tests__/*"
    ],
    "production": [
      "default",
      "excludeStories",
      "excludeTests",
      "!{projectRoot}/**/__mocks__/*",
      "!{projectRoot}/**/testing/*"
    ]
  },
  "targetDefaults": {
    "build": {
      "cache": true,
      "inputs": ["^production", "production"],
      "dependsOn": ["^build"]
    },
    "start": {
      "cache": true,
      "dependsOn": ["^build"]
    },
    "lint": {
      "executor": "@nx/eslint:lint",
      "cache": true,
      "outputs": ["{options.outputFile}"],
      "options": {
        "eslintConfig": "{projectRoot}/.eslintrc.cjs",
        "cache": true,
        "cacheLocation": "{workspaceRoot}/.cache/eslint",
        "ignorePath": "{workspaceRoot}/.gitignore"
      },
      "configurations": {
        "ci": { "cacheStrategy": "content" },
        "fix": { "fix": true }
      }
    },
    "fmt": {
      "executor": "nx:run-commands",
      "cache": true,
      "options": {
        "cwd": "{projectRoot}",
        "command": "prettier {args.files} --check --cache {args.cache} --cache-location {args.cacheLocation} --write {args.write} --cache-strategy {args.cacheStrategy}",
        "cache": true,
        "cacheLocation": "../../.cache/prettier/{projectRoot}",
        "cacheStrategy": "metadata",
        "write": false
      },
      "configurations": {
        "ci": { "cacheStrategy": "content" },
        "fix": { "write": true }
      }
    },
    "typecheck": {
      "executor": "nx:run-commands",
      "cache": true,
      "options": {
        "cwd": "{projectRoot}",
        "command": "tsc -b tsconfig.json --incremental"
      },
      "configurations": {
        "watch": { "watch": true }
      }
    },
    "test": {
      "executor": "@nx/jest:jest",
      "cache": true,
      "dependsOn": ["^build"],
      "inputs": [
        "^default",
        "excludeStories",
        "{workspaceRoot}/jest.preset.js"
      ],
      "outputs": ["{projectRoot}/coverage"],
      "options": {
        "jestConfig": "{projectRoot}/jest.config.ts",
        "coverage": true,
        "coverageReporters": ["text-summary"],
        "cacheDirectory": "../../.cache/jest/{projectRoot}"
      },
      "configurations": {
        "ci": {
          "ci": true,
          "maxWorkers": 3
        },
        "coverage": { "coverageReporters": ["lcov", "text"] },
        "watch": { "watch": true }
      }
    },
    "test:e2e": {
      "cache": true,
      "dependsOn": ["^build"]
    },
    "storybook:build": {
      "executor": "nx:run-commands",
      "cache": true,
      "dependsOn": ["^build"],
      "inputs": ["^default", "excludeTests"],
      "outputs": ["{projectRoot}/{options.output-dir}"],
      "options": {
        "cwd": "{projectRoot}",
        "command": "storybook build",
        "output-dir": "storybook-static",
        "config-dir": ".storybook"
      },
      "configurations": {
        "test": {
          "command": "storybook build --test"
        }
      }
    },
    "storybook:dev": {
      "executor": "nx:run-commands",
      "cache": true,
      "dependsOn": ["^build"],
      "options": {
        "cwd": "{projectRoot}",
        "command": "storybook dev",
        "config-dir": ".storybook"
      }
    },
    "storybook:static": {
      "executor": "nx:run-commands",
      "dependsOn": ["storybook:build"],
      "options": {
        "cwd": "{projectRoot}",
        "command": "npx http-server {args.staticDir} -a={args.host} --port={args.port} --silent={args.silent}",
        "staticDir": "storybook-static",
        "host": "localhost",
        "port": 6006,
        "silent": true
      },
      "configurations": {
        "test": {}
      }
    },
    "storybook:coverage": {
      "executor": "nx:run-commands",
      "cache": true,
      "inputs": [
        "^default",
        "excludeTests",
        "{projectRoot}/coverage/storybook/coverage-storybook.json"
      ],
      "outputs": [
        "{projectRoot}/coverage/storybook",
        "!{projectRoot}/coverage/storybook/coverage-storybook.json"
      ],
      "options": {
        "command": "npx nyc report --reporter={args.reporter} --reporter=text-summary -t {args.coverageDir} --report-dir {args.coverageDir} --check-coverage --cwd={projectRoot}",
        "coverageDir": "coverage/storybook",
        "reporter": "lcov"
      },
      "configurations": {
        "text": { "reporter": "text" }
      }
    },
    "storybook:test": {
      "executor": "nx:run-commands",
      "cache": true,
      "inputs": ["^default", "excludeTests"],
      "outputs": ["{projectRoot}/coverage/storybook"],
      "options": {
        "cwd": "{projectRoot}",
        "commands": [
          "test-storybook --url http://localhost:{args.port} --maxWorkers=3 --coverage --coverageDirectory={args.coverageDir}",
          "nx storybook:coverage {projectName} --coverageDir={args.coverageDir}"
        ],
        "parallel": false,
        "coverageDir": "coverage/storybook",
        "port": 6006
      }
    },
    "storybook:test:nocoverage": {
      "executor": "nx:run-commands",
      "inputs": ["^default", "excludeTests"],
      "options": {
        "cwd": "{projectRoot}",
        "commands": [
          "test-storybook --url http://localhost:{args.port} --maxWorkers=3"
        ],
        "port": 6006
      }
    },
    "storybook:static:test": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "npx concurrently --kill-others --success=first -n SB,TEST 'nx storybook:static {projectName} --port={args.port} --configuration=test' 'npx wait-on tcp:{args.port} && nx storybook:test {projectName} --port={args.port}'"
        ],
        "port": 6006
      }
    },
    "storybook:performance:test": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "npx concurrently --kill-others --success=first -n SB,TEST 'nx storybook:dev {projectName} --configuration=performance --port={args.port}' 'npx wait-on tcp:{args.port} && nx storybook:test:nocoverage {projectName} --port={args.port} --configuration=performance'"
        ],
        "port": 6006
      }
    },
    "chromatic": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "{projectRoot}",
        "commands": [
          {
            "command": "nx storybook:build {projectName} --configuration=test",
            "forwardAllArgs": false
          },
          "cross-var chromatic --project-token=$CHROMATIC_PROJECT_TOKEN --storybook-build-dir=storybook-static {args.ci}"
        ],
        "parallel": false
      },
      "configurations": {
        "ci": {
          "ci": "--exit-zero-on-changes"
        }
      }
    },
    "@nx/jest:jest": {
      "cache": true,
      "inputs": [
        "^default",
        "excludeStories",
        "{workspaceRoot}/jest.preset.js"
      ],
      "options": {
        "passWithNoTests": true
      },
      "configurations": {
        "ci": {
          "ci": true,
          "codeCoverage": true
        }
      }
    },
    "@nx/eslint:lint": {
      "cache": true,
      "inputs": [
        "default",
        "{workspaceRoot}/.eslintrc.js",
        "{workspaceRoot}/tools/eslint-rules/**/*"
      ]
    },
    "@nx/vite:test": {
      "cache": true,
      "inputs": ["default", "^default"]
    },
    "@nx/vite:build": {
      "cache": true,
      "dependsOn": ["^build"],
      "inputs": ["default", "^default"]
    }
  },
  "installation": {
    "version": "18.3.3"
  },
  "generators": {
    "@nx/react": {
      "application": {
        "style": "@emotion/styled",
        "linter": "eslint",
        "bundler": "vite",
        "compiler": "swc",
        "unitTestRunner": "jest",
        "projectNameAndRootFormat": "derived"
      },
      "library": {
        "style": "@emotion/styled",
        "linter": "eslint",
        "bundler": "vite",
        "compiler": "swc",
        "unitTestRunner": "jest",
        "projectNameAndRootFormat": "derived"
      },
      "component": {
        "style": "@emotion/styled"
      }
    }
  },
  "tasksRunnerOptions": {
    "default": {
      "options": {
        "cacheableOperations": ["storybook:build"]
      }
    }
  },
  "useInferencePlugins": false,
  "defaultBase": "main"
}
