{
  "name": "apex-mutation-testing",
  "description": "Apex mutation testing plugin",
  "version": "1.9.1",
  "dependencies": {
    "@oclif/core": "4.14.0",
    "@salesforce/apex-node": "9.0.6",
    "@salesforce/core": "9.1.6",
    "@salesforce/sf-plugins-core": "13.0.3",
    "@stryker-mutator/core": "10.0.0",
    "antlr4ts": "0.5.0-alpha.4",
    "apex-parser": "2.17.0",
    "async": "3.2.6",
    "mutation-testing-elements": "3.9.0",
    "re2js": "2.8.6",
    "zod": "4.4.3"
  },
  "devDependencies": {
    "@biomejs/biome": "2.5.10",
    "@commitlint/config-conventional": "21.2.2",
    "@oclif/plugin-help": "6.3.0",
    "@salesforce/dev-config": "4.3.3",
    "@stryker-mutator/vitest-runner": "10.0.0",
    "@types/async": "3.2.25",
    "@vitest/coverage-v8": "4.1.11",
    "husky": "9.1.7",
    "knip": "6.32.2",
    "ls-engines": "0.10.1",
    "oclif": "4.24.0",
    "pkg-pr-new": "0.0.88",
    "shx": "0.4.0",
    "tslib": "2.8.1",
    "typescript": "7.0.2",
    "vitest": "4.1.11",
    "wireit": "0.14.13"
  },
  "overrides": {
    "qs": "^6.15.2"
  },
  "engines": {
    "node": "^22.22 || ^24.15 || >=26",
    "npm": ">=12"
  },
  "files": [
    "/lib",
    "/messages",
    "/oclif.manifest.json"
  ],
  "keywords": [
    "sf",
    "sf-plugin",
    "apex",
    "test",
    "mutation"
  ],
  "license": "MIT",
  "oclif": {
    "commands": "./lib/commands",
    "bin": "sf",
    "topicSeparator": " ",
    "flexibleTaxonomy": true,
    "devPlugins": [
      "@oclif/plugin-help"
    ]
  },
  "scripts": {
    "build": "wireit",
    "clean:package-manager": "wireit",
    "clean": "wireit",
    "compile": "wireit",
    "dependencies:upgrade": "npx npm-check-updates -u ; npm install ; npm audit fix",
    "deploy:testclasses": "sf project deploy start -d test/classes",
    "test:e2e:setup": "sf project deploy start -d test/classes -o e2e-test-org",
    "test:e2e:run": "sf apex mutation test run -o e2e-test-org -c Mutation -t MutationTest --test-suite MutationSuite -r test/e2e --mutation-grouping && npm run test:e2e:normalize",
    "test:e2e:run:local": "node ./bin/run.js apex mutation test run -o apex-mutation-testing -c Mutation -t MutationTest --test-suite MutationSuite -r test/e2e --mutation-grouping && npm run test:e2e:normalize",
    "test:e2e:normalize": "node tooling/normalize-e2e-snapshot.mjs",
    "test:e2e:validate": "git diff test/e2e/ && git diff --quiet test/e2e/",
    "test:e2e:teardown": "sf project deploy start -d test/classes -o e2e-test-org",
    "test:e2e": "npm run test:e2e:setup && npm run test:e2e:run && npm run test:e2e:validate; npm run test:e2e:teardown",
    "lint": "wireit",
    "lint:dependencies": "wireit",
    "lint:engine": "ls-engines",
    "lint:fix": "wireit",
    "lint:staged": "wireit",
    "postpack": "shx rm -f oclif.manifest.json && shx sed -i 'blob/v[^/]*/' 'blob/main/' README.md",
    "prepack": "wireit",
    "prepare": "husky",
    "test:build": "wireit",
    "test:mutation": "stryker run",
    "test:nut": "wireit",
    "test:perf": "wireit",
    "test:unit": "wireit",
    "test": "wireit",
    "preview:publish": "pkg-pr-new publish --comment=off",
    "test:mutation:incremental": "FILES=$(git --no-pager diff --name-only --diff-filter=AM --merge-base origin/main src | grep '.ts$' | paste -sd ',' -) && [ -n \"$FILES\" ] && stryker run --mutate \"$FILES\" || echo 'No source files changed — skipping mutation testing'"
  },
  "publishConfig": {
    "access": "public"
  },
  "wireit": {
    "build": {
      "dependencies": [
        "compile",
        "lint"
      ]
    },
    "clean": {
      "command": "shx rm -rf 'reports/*' .nyc_output oclif.manifest.json package.tgz 'stderr*.txt' 'stdout*.txt' '.stryker-tmp/*' perf-raw.json perf-runtime.json perf-memory.json perf-preview.html",
      "files": [
        "lib",
        "reports/*",
        ".nyc_output",
        "oclif.manifest.json",
        "package.tgz",
        "sfdx-git-delta-v*.tgz",
        "stderr*.txt",
        "stdout*.txt",
        ".stryker-tmp/*",
        "perf-result.txt"
      ],
      "dependencies": [
        "clean:build"
      ]
    },
    "clean:build": {
      "command": "shx rm -rf lib",
      "files": [
        "lib/*"
      ]
    },
    "clean:package-manager": {
      "command": "shx rm -rf node_modules tsconfig.tsbuildinfo .wireit",
      "files": [
        "node_modules/*"
      ]
    },
    "compile": {
      "command": "tsc -p . --pretty --incremental",
      "files": [
        "src/**/*.ts",
        "**/tsconfig.json",
        "messages/**"
      ],
      "output": [
        "lib/**",
        "*.tsbuildinfo"
      ],
      "clean": "if-file-deleted"
    },
    "lint": {
      "command": "npx @biomejs/biome check --error-on-warnings --no-errors-on-unmatched src test",
      "files": [
        "src/**",
        "test/**/*.ts",
        "messages/**",
        "**/biome.json",
        "**/tsconfig.json"
      ],
      "output": []
    },
    "lint:dependencies": {
      "command": "knip",
      "files": [
        "src/**/*.ts",
        "test/**/*.ts",
        "messages/**",
        "**/tsconfig.json",
        "knip.config.ts"
      ],
      "output": [],
      "dependencies": [
        "lint"
      ]
    },
    "lint:fix": {
      "command": "npx @biomejs/biome check --error-on-warnings --no-errors-on-unmatched src test --fix --unsafe ",
      "files": [
        "src/**",
        "test/**/*.ts",
        "messages/**",
        "**/biome.json",
        "**/tsconfig.json"
      ],
      "output": []
    },
    "lint:staged": {
      "command": "npx @biomejs/biome check --error-on-warnings --no-errors-on-unmatched --staged src test",
      "files": [
        "src/**",
        "test/**/*.ts",
        "messages/**",
        "**/biome.json",
        "**/tsconfig.json"
      ],
      "output": []
    },
    "prepack": {
      "command": "oclif manifest && oclif readme",
      "files": [
        "src/commands/apex/mutation/test/run.ts",
        "messages/apex.mutation.test.run.md",
        "README.md"
      ],
      "dependencies": [
        "build"
      ],
      "output": [
        "README.md"
      ],
      "clean": false
    },
    "test": {
      "dependencies": [
        "build",
        "lint",
        "test:unit",
        "test:nut"
      ]
    },
    "test:build": {
      "command": "npm install && npm pack && npm run test",
      "dependencies": [
        "clean",
        "clean:package-manager"
      ]
    },
    "test:nut": {
      "command": "vitest run --config vitest.config.nut.ts",
      "files": [
        "src/**/*.ts",
        "test/nut/**/*.ts",
        "messages/**",
        "**/tsconfig.json"
      ],
      "output": [],
      "dependencies": [
        "lint",
        "build"
      ]
    },
    "test:perf": {
      "command": "node --expose-gc ./node_modules/.bin/vitest bench --config vitest.config.perf.ts && node test/perf/formatResults.mjs",
      "files": [
        "src/**/*.ts",
        "test/perf/**",
        "**/tsconfig.json",
        "vitest.config.perf.ts"
      ],
      "output": [
        "perf-raw.json",
        "perf-runtime.json",
        "perf-memory.json"
      ],
      "dependencies": [
        "compile"
      ]
    },
    "test:unit": {
      "command": "vitest run --coverage",
      "files": [
        "src/**/*.ts",
        "test/**/*.ts",
        "messages/**",
        "**/tsconfig.json"
      ],
      "output": [
        "reports/coverage/**"
      ],
      "dependencies": [
        "lint"
      ]
    }
  },
  "type": "module",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/scolladon/apex-mutation-testing.git"
  },
  "author": "Sébastien Colladon (colladonsebastien@gmail.com)"
}
