{
  "$schema": "https://cdn.jsdelivr.net/npm/nx/schemas/nx-schema.json",
  "extends": "nx/presets/npm.json",
  "namedInputs": {
    "sharedGlobals": [
      "{workspaceRoot}/.github/**/*",
      "{workspaceRoot}/.gitattributes",
      "{workspaceRoot}/.gitignore",
      "{workspaceRoot}/assets/**/*",
      "{workspaceRoot}/tsconfig.*.json",
      "{workspaceRoot}/.npmrc",
      "{workspaceRoot}/.npmignore",
      "{workspaceRoot}/package.json",
      "{workspaceRoot}/pnpm-workspace.yaml",
      "{workspaceRoot}/LICENSE",
      "{workspaceRoot}/nx.json",
      "{workspaceRoot}/.nxignore",
      "{workspaceRoot}/storm-workspace.json",
      "{workspaceRoot}/storm-workspace.*.json",
      "{workspaceRoot}/.storm-workspace/config.json",
      "{workspaceRoot}/.storm-workspace/config.*.json",
      "{workspaceRoot}/storm-workspace.yaml",
      "{workspaceRoot}/storm-workspace.*.yaml",
      "{workspaceRoot}/.storm-workspace/config.yaml",
      "{workspaceRoot}/.storm-workspace/config.*.yaml",
      "{workspaceRoot}/storm-workspace.toml",
      "{workspaceRoot}/storm-workspace.*.toml",
      "{workspaceRoot}/.storm-workspace/config.toml",
      "{workspaceRoot}/.storm-workspace/config.*.toml",
      "{workspaceRoot}/storm-workspace.config.js",
      "{workspaceRoot}/.storm-workspace/config.js",
      "{workspaceRoot}/.storm-workspace/config.*.js",
      "{workspaceRoot}/storm-workspace.config.ts",
      "{workspaceRoot}/.storm-workspace/config.ts",
      "{workspaceRoot}/.storm-workspace/config.*.ts",
      "{workspaceRoot}/.env",
      "{workspaceRoot}/.env.*"
    ],
    "default": ["sharedGlobals", "{projectRoot}/**/*"],
    "production": [
      "{projectRoot}/**/*",
      "!{projectRoot}/tools/**/*",
      "!{projectRoot}/scripts/**/*",
      "!{projectRoot}/node_modules/**/*",
      "!{projectRoot}/api-extractor.json",
      "!{projectRoot}/tsdoc.json",
      "!{projectRoot}/typedoc.json",
      "!{projectRoot}/.eslint-doc-generatorrc.js",
      "!{projectRoot}/.eslint-doc-generatorrc.json",
      "!{projectRoot}/.storybook/**/*",
      "!{projectRoot}/tsconfig.storybook.json",
      "!{projectRoot}/jest.config.ts",
      "!{projectRoot}/tsconfig.spec.json",
      "!{projectRoot}/src/test-setup.[jt]s",
      "!{projectRoot}/test-setup.[jt]s",
      "!{projectRoot}/tsconfig.spec.json",
      "!{projectRoot}/.eslintignore",
      "!{projectRoot}/.eslintrc.json",
      "!{projectRoot}/.eslintrc.cjs",
      "!{projectRoot}/eslint.config.js",
      "!{projectRoot}/eslint.config.cjs",
      "!{projectRoot}/eslint.config.mjs",
      "!{projectRoot}/biome.toml",
      "!{projectRoot}/biome.json",
      "!{projectRoot}/lefthook.yaml",
      "!{projectRoot}/.markdownlint.json",
      "!{projectRoot}/.markdownlint-cli2.cjs",
      "!{projectRoot}/.prettierrc",
      "!{projectRoot}/.prettierignore",
      "!{projectRoot}/docs/**/*",
      "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)",
      "!{projectRoot}/benches/**/*",
      "!{projectRoot}/e2e/**/*",
      "!{projectRoot}/tests/**/*",
      "!{projectRoot}/testing/**/*",
      "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "!{projectRoot}/tsconfig.spec.json"
    ],
    "testing": [
      "sharedGlobals",
      "{workspaceRoot}/jest.config.ts",
      "{workspaceRoot}/jest.preset.js",
      "{workspaceRoot}/benches/**/*",
      "{workspaceRoot}/e2e/**/*",
      "{workspaceRoot}/tests/**/*",
      "{workspaceRoot}/testing/**/*",
      "{workspaceRoot}/coverage/**/*",
      "{projectRoot}/project.json",
      "{projectRoot}/README.md",
      "{projectRoot}/CHANGELOG.md",
      "{projectRoot}/.env",
      "{projectRoot}/.env.local",
      "{projectRoot}/jest.config.ts",
      "{projectRoot}/tsconfig.spec.json",
      "{projectRoot}/src/test-setup.[jt]s",
      "{projectRoot}/test-setup.[jt]s",
      "{projectRoot}/tsconfig.spec.json",
      "{workspaceRoot}/jest.config.ts",
      "{workspaceRoot}/jest.preset.js",
      "{workspaceRoot}/benches/**/*",
      "{workspaceRoot}/e2e/**/*",
      "{workspaceRoot}/tests/**/*",
      "{workspaceRoot}/testing/**/*",
      "{workspaceRoot}/coverage/**/*",
      "{projectRoot}/benches/**/*",
      "{projectRoot}/e2e/**/*",
      "{projectRoot}/tests/**/*",
      "{projectRoot}/testing/**/*",
      "{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "{projectRoot}/tsconfig.spec.json"
    ],
    "linting": [
      "sharedGlobals",
      "{workspaceRoot}/.eslintignore",
      "{workspaceRoot}/eslintrc.json",
      "{workspaceRoot}/.eslintrc",
      "{workspaceRoot}/.eslintrc.json",
      "{workspaceRoot}/.eslintrc.js",
      "{workspaceRoot}/.eslintrc.cjs",
      "{workspaceRoot}/.eslintrc.mjs",
      "{workspaceRoot}/eslint.*.json",
      "{workspaceRoot}/eslint.*.js",
      "{workspaceRoot}/eslint.*.cjs",
      "{workspaceRoot}/eslint.*.mjs",
      "{workspaceRoot}/eslint.*.ts",
      "{workspaceRoot}/biome.toml",
      "{workspaceRoot}/biome.json",
      "{workspaceRoot}/lefthook.yaml",
      "{workspaceRoot}/.markdownlint.json",
      "{workspaceRoot}/.markdownlint-cli2.cjs",
      "{workspaceRoot}/.prettierrc",
      "{workspaceRoot}/prettier.config.js",
      "{workspaceRoot}/.prettierignore",
      "{projectRoot}/project.json",
      "{projectRoot}/README.md",
      "{projectRoot}/CHANGELOG.md",
      "{projectRoot}/.env",
      "{projectRoot}/.env.local",
      "{projectRoot}/.eslintignore",
      "{projectRoot}/eslintrc.json",
      "{projectRoot}/.eslintrc",
      "{projectRoot}/.eslintrc.json",
      "{projectRoot}/.eslintrc.js",
      "{projectRoot}/.eslintrc.cjs",
      "{projectRoot}/.eslintrc.mjs",
      "{projectRoot}/eslint.*.json",
      "{projectRoot}/eslint.*.js",
      "{projectRoot}/eslint.*.cjs",
      "{projectRoot}/eslint.*.mjs",
      "{projectRoot}/eslint.*.ts",
      "{projectRoot}/biome.toml",
      "{projectRoot}/biome.json",
      "{projectRoot}/lefthook.yaml",
      "{projectRoot}/.markdownlint.json",
      "{projectRoot}/.markdownlint-cli2.cjs",
      "{projectRoot}/.prettierrc",
      "{projectRoot}/.prettierignore"
    ],
    "documentation": [
      "sharedGlobals",
      "{workspaceRoot}/api-extractor.json",
      "{workspaceRoot}/tsdoc.json",
      "{workspaceRoot}/typedoc.json",
      "{workspaceRoot}/.eslint-doc-generatorrc.js",
      "{workspaceRoot}/.eslint-doc-generatorrc.json",
      "{workspaceRoot}/contentlayer.config.ts",
      "{workspaceRoot}/*.md",
      "{workspaceRoot}/*.mdx",
      "{workspaceRoot}/docs/**/*",
      "{workspaceRoot}/.storybook/**/*",
      "{projectRoot}/project.json",
      "{projectRoot}/README.md",
      "{projectRoot}/CHANGELOG.md",
      "{projectRoot}/.env",
      "{projectRoot}/.env.local",
      "{projectRoot}/api-extractor.json",
      "{projectRoot}/tsdoc.json",
      "{projectRoot}/typedoc.json",
      "{projectRoot}/.eslint-doc-generatorrc.js",
      "{projectRoot}/.eslint-doc-generatorrc.json",
      "{projectRoot}/contentlayer.config.ts",
      "{projectRoot}/.storybook/**/*",
      "{projectRoot}/tsconfig.storybook.json",
      "{projectRoot}/README.md",
      "{projectRoot}/docs/**/*",
      "{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)",
      "!{projectRoot}/benches/**/*",
      "!{projectRoot}/e2e/**/*",
      "!{projectRoot}/tests/**/*",
      "!{projectRoot}/testing/**/*",
      "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "!{projectRoot}/tsconfig.spec.json"
    ],
    "rust": [
      "sharedGlobals",
      "{workspaceRoot}/Cargo.toml",
      "{workspaceRoot}/Cargo.lock",
      "{workspaceRoot}/.cargo/config.toml",
      "{workspaceRoot}/rust-toolchain",
      "{workspaceRoot}/rustfmt.toml",
      "{workspaceRoot}/deny.toml",
      "{projectRoot}/Cargo.toml",
      "{projectRoot}/.cargo/config.toml",
      {
        "runtime": "node -p '`${process.platform}_${process.arch}`'"
      },
      "{projectRoot}/project.json",
      "{projectRoot}/README.md",
      "{projectRoot}/CHANGELOG.md",
      "{projectRoot}/.env",
      "{projectRoot}/.env.local",
      "{projectRoot}/**/*.rs",
      "{projectRoot}/**/*.proto",
      "{projectRoot}/**/*.acid",
      "{projectRoot}/**/*.acidic",
      "{projectRoot}/**/*.prisma",
      "{projectRoot}/src/**/*.json",
      "{projectRoot}/src/**/*.jsonc",
      "{projectRoot}/src/**/*.yaml",
      "{projectRoot}/src/**/*.yml",
      "{projectRoot}/src/**/*.toml",
      {
        "runtime": "node -p '`${process.platform}_${process.arch}`'"
      },
      "!{projectRoot}/README.md",
      "!{projectRoot}/docs/**/*",
      "!{projectRoot}/benches/**/*",
      "!{projectRoot}/e2e/**/*",
      "!{projectRoot}/tests/**/*",
      "!{projectRoot}/testing/**/*"
    ],
    "typescript": [
      "sharedGlobals",
      "!{projectRoot}/tsconfig.spec.json",
      "!{projectRoot}/tsconfig.storybook.json",
      "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)",
      "!{projectRoot}/node_modules/**/*",
      "!{projectRoot}/benches/**/*",
      "!{projectRoot}/e2e/**/*",
      "!{projectRoot}/tests/**/*",
      "!{projectRoot}/testing/**/*",
      "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "!{projectRoot}/tsconfig.spec.json",
      "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)",
      "!{projectRoot}/node_modules/**/*",
      "{projectRoot}/package.json",
      "{projectRoot}/tsconfig.json",
      "{projectRoot}/tsconfig.*.json",
      "{projectRoot}/project.json",
      "{projectRoot}/README.md",
      "{projectRoot}/CHANGELOG.md",
      "{projectRoot}/.env",
      "{projectRoot}/.env.*",
      "{projectRoot}/README.md",
      "{projectRoot}/docs/**/*",
      "{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)",
      "{projectRoot}/**/*.proto",
      "{projectRoot}/**/*.acid",
      "{projectRoot}/**/*.acidic",
      "{projectRoot}/**/*.prisma",
      "{projectRoot}/src/**/*.cts",
      "{projectRoot}/src/**/*.mts",
      "{projectRoot}/src/**/*.ts",
      "{projectRoot}/src/**/*.tsx",
      "{projectRoot}/src/**/*.graphql",
      "{projectRoot}/src/**/*.gql",
      "{projectRoot}/src/**/*.js",
      "{projectRoot}/src/**/*.cjs",
      "{projectRoot}/src/**/*.mjs",
      "{projectRoot}/src/**/*.jsx",
      "{projectRoot}/src/**/*.json",
      "{projectRoot}/src/**/*.jsonc",
      "{projectRoot}/src/**/*.yaml",
      "{projectRoot}/src/**/*.yml",
      "{projectRoot}/src/**/*.toml",
      "{projectRoot}/src/**/*.md",
      "{projectRoot}/src/**/*.mdx",
      "{projectRoot}/build.*.[jt]s?(x)",
      "{projectRoot}/tsup.*.[jt]s?(x)",
      "{projectRoot}/contentlayer.*.[jt]s?(x)",
      "{projectRoot}/bin/**/*",
      "{projectRoot}/tools/**/*",
      "{projectRoot}/helpers/**/*",
      "{projectRoot}/scripts/**/*"
    ]
  },
  "targetDefaults": {
    "lint-markdown": {
      "inputs": ["linting", "{projectRoot}/**/*.md", "{projectRoot}/**/*.mdx"],
      "outputs": ["{projectRoot}/**/*.md", "{projectRoot}/**/*.mdx"],
      "dependsOn": ["^lint-markdown"],
      "executor": "nx:run-commands",
      "options": {
        "command": "pnpm exec markdownlint-cli2 \"{projectRoot}/*.{md,mdx}\" \"{projectRoot}/**/*.{md,mdx}\" --config \"node_modules/@storm-software/markdownlint/config/base.markdownlint-cli2.jsonc\" --fix"
      }
    },
    "lint": {
      "dependsOn": ["lint-markdown", "^lint"],
      "executor": "nx:run-commands",
      "options": {
        "command": "echo Linted the project files in \"{projectRoot}\" "
      }
    },
    "format-toml": {
      "inputs": ["linting", "{projectRoot}/**/*.toml"],
      "outputs": ["{projectRoot}/**/*.toml"],
      "dependsOn": ["^format-toml"],
      "executor": "nx:run-commands",
      "options": {
        "command": "pnpm exec taplo format --config=\"node_modules/@storm-software/linting-tools/taplo/config.toml\" --cache-path=\"node_modules/.cache/taplo/{projectRoot}\" --colors=\"always\" \"{projectRoot}/*.toml\" \"{projectRoot}/**/*.toml\" "
      }
    },
    "format-readme": {
      "inputs": [
        "linting",
        "documentation",
        "{projectRoot}/{README.md,package.json,Cargo.toml,executors.json,generators.json}",
        "default",
        "^production"
      ],
      "outputs": ["{projectRoot}/README.md"],
      "dependsOn": ["^format-readme"],
      "executor": "nx:run-commands",
      "options": {
        "command": "pnpm exec storm-git readme --templates=\"tools/readme-templates\" --project=\"{projectName}\""
      }
    },
    "format-prettier": {
      "inputs": ["linting", "default", "^production"],
      "dependsOn": ["^format-prettier"],
      "executor": "nx:run-commands",
      "options": {
        "command": "pnpm exec prettier \"{projectRoot}/**/*\" --write --ignore-unknown --no-error-on-unmatched-pattern --config=\"node_modules/@storm-software/prettier/config.json\" --ignore-path=\"node_modules/@storm-software/prettier/.prettierignore\" --cache --cache-location=\"node_modules/.cache/prettier/{projectRoot}\" "
      }
    },
    "format": {
      "dependsOn": [
        "format-toml",
        "format-readme",
        "format-prettier",
        "^format"
      ],
      "options": {
        "command": "echo Formatted the project files in \"{projectRoot}\" "
      }
    },
    "clean": {
      "inputs": ["default", "^production"],
      "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
      "dependsOn": ["^clean"],
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "pnpm exec rimraf --glob {projectRoot}/dist",
          "pnpm exec rimraf dist/{projectRoot}"
        ]
      }
    },
    "build-untyped": {
      "dependsOn": ["^build"]
    },
    "build-base": {
      "dependsOn": ["build-untyped", "^build"]
    },
    "build-compile": {
      "inputs": ["default", "^production"],
      "dependsOn": ["build-base", "build-untyped", "^build"]
    },
    "build": {
      "inputs": ["default", "^production"],
      "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
      "dependsOn": ["build-base", "build-compile", "build-untyped", "^build"]
    },
    "rebuild": {
      "inputs": ["default", "^production"],
      "executor": "nx:run-commands",
      "dependsOn": ["clean", "^build"],
      "options": {
        "command": "pnpm exec nx run {projectName}:build",
        "cwd": "{workspaceRoot}"
      }
    },
    "docs": {
      "outputs": ["{options.outputPath}"],
      "inputs": ["linting", "documentation", "default", "^production"],
      "dependsOn": ["build", "format-readme", "lint-docs", "^docs"]
    },
    "test": {
      "inputs": ["testing", "default", "^production"],
      "dependsOn": ["build", "^test"]
    },
    "e2e": {
      "inputs": ["testing", "default", "^production"],
      "dependsOn": ["test", "^e2e"]
    },
    "nx-release-publish": {
      "inputs": ["default", "^production"],
      "dependsOn": ["build", "^nx-release-publish"]
    }
  },
  "release": {
    "groups": {
      "packages": {
        "projects": ["packages/*", "crates/*"],
        "projectsRelationship": "independent",
        "releaseTagPattern": "{projectName}@{version}",
        "changelog": {
          "entryWhenNoChanges": false,
          "renderOptions": {
            "authors": false,
            "commitReferences": true,
            "versionTitleDate": true
          }
        },
        "version": {
          "groupPreVersionCommand": "pnpm build",
          "generator": "@storm-software/workspace-tools:release-version",
          "currentVersionResolver": "git-tag",
          "specifierSource": "conventional-commits",

          "generatorOptions": {
            "currentVersionResolver": "git-tag",
            "specifierSource": "conventional-commits"
          }
        }
      }
    }
  },
  "plugins": [
    "@storm-software/workspace-tools/plugins/typescript",
    "@storm-software/workspace-tools/plugins/typescript/tsup",
    "@storm-software/workspace-tools/plugins/typescript/untyped",
    "@storm-software/workspace-tools/plugins/rust"
  ],
  "parallel": 3,
  "defaultBase": "main",
  "useDaemonProcess": true,
  "useInferencePlugins": true
}
