{
  "repository": "facebook/yoga",
  "ref": "41118bd3a86c637fdb43a90fd596e78375137d0f",
  "methods": [
    {
      "slug": "formal",
      "title": "Formal verification and model checking"
    },
    {
      "slug": "static_analysis",
      "title": "Static analysis"
    },
    {
      "slug": "testing",
      "title": "Testing"
    },
    {
      "slug": "formatting",
      "title": "Formatting and hygiene"
    },
    {
      "slug": "supply_chain",
      "title": "Supply chain"
    },
    {
      "slug": "unclassified",
      "title": "Unclassified"
    }
  ],
  "verifications": [
    {
      "tool": "eslint",
      "method": "static_analysis",
      "commands": [
        "eslint .",
        "eslint . --fix"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validate-js.yml",
          "locator": "jobs.lint.steps[2] (yarn lint)"
        },
        {
          "path": "package.json",
          "locator": "scripts.lint"
        },
        {
          "path": "javascript/package.json",
          "locator": "scripts.lint"
        },
        {
          "path": "javascript/package.json",
          "locator": "scripts.lint:fix"
        },
        {
          "path": "package.json",
          "locator": "scripts.lint:fix"
        },
        {
          "path": "website/package.json",
          "locator": "scripts.lint"
        },
        {
          "path": "website/package.json",
          "locator": "scripts.lint:fix"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: eslint"
        },
        {
          "path": ".eslintrc.cjs",
          "locator": "config file"
        },
        {
          "path": "website/.eslintrc.cjs",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/eslint/eslint",
      "docs": "https://eslint.org/docs/latest/use/command-line-interface#exit-codes",
      "exit_codes": {
        "0": "no errors",
        "1": "linting errors found",
        "2": "configuration problem or internal error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "tsc",
      "method": "static_analysis",
      "commands": [
        "tsc --noEmit",
        "tsc"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validate-js.yml",
          "locator": "jobs.typecheck.steps[2] (yarn tsc)"
        },
        {
          "path": "javascript/package.json",
          "locator": "scripts.tsc"
        },
        {
          "path": "website/package.json",
          "locator": "scripts.typecheck"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: typescript"
        }
      ],
      "upstream": "https://github.com/microsoft/TypeScript",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "jest",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "javascript/package.json",
          "locator": "devDependencies: jest"
        },
        {
          "path": "javascript/jest.config.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/jestjs/jest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [
        "prettier --check ./**/*.{cjs,cts,flow,js,jsx,md,mjs,mts,ts,tsx,yaml,yml}",
        "prettier --write ./**/*.{cjs,cts,flow,js,jsx,md,mjs,mts,ts,tsx,yaml,yml}"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validate-format.yml",
          "locator": "jobs.format.steps[4] (Check formatting)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check-javascript"
        },
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-javascript"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: prettier"
        },
        {
          "path": ".prettierrc.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/prettier/prettier",
      "docs": "https://prettier.io/docs/cli#exit-codes",
      "exit_codes": {
        "0": "everything formatted",
        "1": "something was not formatted (--check)",
        "2": "prettier error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node --disable-warning=ExperimentalWarning --loader=babel-register-esm ./scripts/gentest-validate.ts"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "gentest/package.json",
          "locator": "scripts.gentest-validate"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node --disable-warning=ExperimentalWarning --loader=babel-register-esm ./src/cli.ts"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "gentest/package.json",
          "locator": "scripts.gentest"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/clang-format.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-cpp"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/clang-format.js --check"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validate-format.yml",
          "locator": "jobs.format.steps[4] (Check formatting)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check-cpp"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-kotlin.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-kotlin"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-kotlin.js --check"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validate-format.yml",
          "locator": "jobs.format.steps[4] (Check formatting)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check-kotlin"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-python.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-python"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-python.js --check"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validate-format.yml",
          "locator": "jobs.format.steps[4] (Check formatting)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check-python"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
