{
  "name": "@fluid-tools/build-cli",
  "version": "0.65.0",
  "description": "Build tools for the Fluid Framework",
  "homepage": "https://fluidframework.com",
  "repository": {
    "type": "git",
    "url": "https://github.com/microsoft/FluidFramework.git",
    "directory": "build-tools/packages/build-cli"
  },
  "license": "MIT",
  "author": "Microsoft and contributors",
  "sideEffects": false,
  "type": "module",
  "exports": {
    ".": {
      "default": {
        "types": "./lib/index.d.ts",
        "default": "./lib/index.js"
      }
    },
    "./policy": {
      "default": {
        "types": "./lib/library/repoPolicyCheck/index.d.ts",
        "default": "./lib/library/repoPolicyCheck/index.js"
      }
    }
  },
  "main": "lib/index.js",
  "types": "lib/index.d.ts",
  "bin": {
    "flub": "./bin/run.js"
  },
  "files": [
    "/bin",
    "/lib",
    "!lib/test",
    "/oclif.manifest.json"
  ],
  "c8": {
    "all": true,
    "cache-dir": "nyc/.cache",
    "exclude": [
      "src/test/**/*.*ts",
      "lib/test/**/*.*js"
    ],
    "exclude-after-remap": false,
    "include": [
      "src/**/*.*ts",
      "lib/**/*.*js"
    ],
    "report-dir": "nyc/report",
    "reporter": [
      "cobertura",
      "html",
      "text"
    ],
    "temp-directory": "nyc/.nyc_output"
  },
  "dependencies": {
    "@andrewbranch/untar.js": "^1.0.3",
    "@fluid-tools/build-infrastructure": "~0.65.0",
    "@fluid-tools/version-tools": "~0.65.0",
    "@fluidframework/build-tools": "~0.65.0",
    "@fluidframework/bundle-size-tools": "~0.65.0",
    "@github/copilot-sdk": "^0.2.2",
    "@inquirer/prompts": "^8.0.1",
    "@microsoft/api-extractor": "^7.58.1",
    "@oclif/core": "^4.10.5",
    "@oclif/plugin-autocomplete": "^3.2.45",
    "@oclif/plugin-commands": "^4.1.45",
    "@oclif/plugin-help": "^6.2.43",
    "@oclif/plugin-not-found": "^3.2.80",
    "@octokit/core": "^7.0.6",
    "@octokit/rest": "^22.0.1",
    "@rushstack/node-core-library": "^5.19.0",
    "async": "^3.2.6",
    "azure-devops-node-api": "^11.2.0",
    "change-case": "^5.4.4",
    "danger": "^13.0.5",
    "date-fns": "^3.6.0",
    "debug": "^4.4.3",
    "ejs": "^3.1.10",
    "execa": "^5.1.1",
    "fflate": "^0.8.2",
    "fs-extra": "^11.3.2",
    "github-slugger": "^2.0.0",
    "globby": "^11.1.0",
    "gray-matter": "^4.0.3",
    "human-id": "^4.1.2",
    "issue-parser": "^7.0.1",
    "json5": "^2.2.3",
    "jssm": "^5.104.2",
    "jszip": "^3.10.1",
    "latest-version": "^9.0.0",
    "lilconfig": "^3.1.3",
    "mdast": "^3.0.0",
    "mdast-util-heading-range": "^4.0.0",
    "mdast-util-to-string": "^4.0.0",
    "minimatch": "^10.1.1",
    "npm-check-updates": "^17.1.18",
    "oclif": "^4.23.0",
    "picocolors": "^1.1.1",
    "prettier": "~3.2.5",
    "prompts": "^2.4.2",
    "read-pkg-up": "^7.0.1",
    "remark": "^15.0.1",
    "remark-gfm": "^4.0.1",
    "remark-github": "^12.0.0",
    "remark-github-beta-blockquote-admonitions": "^3.1.1",
    "remark-toc": "^9.0.0",
    "replace-in-file": "^8.4.0",
    "resolve.exports": "^2.0.3",
    "semver": "^7.7.3",
    "simple-git": "^3.32.3",
    "sort-json": "^2.0.1",
    "sort-package-json": "1.57.0",
    "strip-ansi": "^7.1.2",
    "table": "^6.9.0",
    "ts-morph": "^22.0.0",
    "unist-util-visit": "^5.0.0",
    "xml2js": "^0.6.2",
    "yaml": "^2.8.1"
  },
  "devDependencies": {
    "@biomejs/biome": "~2.4.5",
    "@fluidframework/build-common": "^2.0.3",
    "@oclif/test": "^4.1.18",
    "@types/async": "^3.2.25",
    "@types/chai": "^5.2.3",
    "@types/chai-arrays": "^2.0.3",
    "@types/debug": "^4.1.12",
    "@types/ejs": "^3.1.5",
    "@types/eslint": "^9.6.1",
    "@types/fs-extra": "^11.0.4",
    "@types/issue-parser": "^3.0.5",
    "@types/mdast": "^4.0.4",
    "@types/mocha": "^10.0.10",
    "@types/node": "~22.19.17",
    "@types/prettier": "^2.7.3",
    "@types/prompts": "^2.4.9",
    "@types/semver": "^7.7.1",
    "@types/sort-json": "^2.0.3",
    "@types/unist": "^3.0.3",
    "@types/xml2js": "^0.4.14",
    "c8": "^10.1.3",
    "chai": "^6.2.1",
    "chai-arrays": "^2.2.0",
    "concurrently": "^9.2.1",
    "copyfiles": "^2.4.1",
    "eslint": "~9.39.2",
    "jssm-viz-cli": "^5.101.0",
    "mocha": "^11.7.5",
    "mocha-multi-reporters": "^1.5.1",
    "mocked-env": "^1.3.5",
    "rimraf": "^6.1.3",
    "ts-node": "^10.9.2",
    "tslib": "^2.8.1",
    "type-fest": "^2.19.0",
    "typescript": "~5.4.5"
  },
  "engines": {
    "node": ">=22.22.2"
  },
  "fluidBuild": {
    "tasks": {
      "build": {
        "dependsOn": [
          "...",
          "build:diagrams"
        ],
        "script": false
      },
      "build:diagrams": [],
      "build:manifest": [
        "...",
        "build:copy",
        "build:diagrams"
      ]
    }
  },
  "oclif": {
    "bin": "flub",
    "dirname": "flub",
    "flexibleTaxonomy": true,
    "commands": "./lib/commands",
    "additionalHelpFlags": [
      "-h"
    ],
    "additionalVersionFlags": [
      "-V"
    ],
    "plugins": [
      "@oclif/plugin-autocomplete",
      "@oclif/plugin-commands",
      "@oclif/plugin-help",
      "@oclif/plugin-not-found"
    ],
    "repositoryPrefix": "<%- repo %>/blob/main/build-tools/packages/build-cli/<%- commandPath %>",
    "topicSeparator": " ",
    "topics": {
      "ai": {
        "description": "AI-powered assistant for launching the right AI agent."
      },
      "build-perf": {
        "description": "Build performance observability commands for collecting, processing, and analyzing build metrics."
      },
      "bump": {
        "description": "Bump the version of packages, release groups, and their dependencies."
      },
      "check": {
        "description": "Check commands are used to verify repo state, apply policy, etc."
      },
      "generate": {
        "description": "Generate commands are used to create/update code, docs, readmes, etc."
      },
      "modify": {
        "description": "Modify commands are used to modify projects to add or remove dependencies, update Fluid imports, etc."
      },
      "release": {
        "description": "Release commands are used to manage the Fluid release process."
      },
      "publish": {
        "description": "Publish commands are used to publish packages to an npm registry."
      },
      "promote": {
        "description": "Promote commands are used to promote packages published to an npm registry."
      },
      "transform": {
        "description": "Transform commands are used to transform code, docs, etc. into alternative forms."
      },
      "report": {
        "description": "Report analysis about the codebase, like code coverage and bundle size measurements."
      },
      "vnext": {
        "description": "Vnext commands are new implementations of standard flub commands using new infrastructure."
      }
    }
  },
  "scripts": {
    "build": "fluid-build --task build",
    "build:compile": "fluid-build --task compile",
    "build:copy": "copyfiles -u 1 \"src/**/*.fsl\" \"src/test/**/fixtures/**/*\" \"src/library/buildPerf/templates/*\" lib",
    "build:diagrams": "jssm-viz -i \"./src/machines/*.fsl\"",
    "build:docs": "api-extractor run --local",
    "build:esnext": "tsc",
    "build:manifest": "oclif manifest",
    "build:readme": "oclif readme --version 0.0.0 --multi",
    "build:test:esm": "tsc --project ./src/test/tsconfig.json",
    "check:biome": "biome check .",
    "check:format": "npm run check:biome",
    "ci:build:docs": "api-extractor run",
    "clean": "rimraf --glob dist lib oclif.manifest.json \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
    "clean:manifest": "rimraf --glob oclif.manifest.json",
    "compile": "fluid-build . --task compile",
    "eslint": "eslint --quiet --format stylish src",
    "eslint:fix": "eslint --quiet --format stylish src --fix --fix-type problem,suggestion,layout",
    "format": "npm run format:biome",
    "format:biome": "biome check --write .",
    "lint": "npm run eslint",
    "lint:fix": "npm run eslint:fix",
    "test": "npm run test:mocha",
    "test:coverage": "c8 npm run test",
    "test:mocha": "mocha --forbid-only"
  }
}