{
  "repository": "facebook/react-native",
  "ref": "edf2b86e63b311cd844a53b7fba474e9b0994658",
  "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 --max-warnings 0 ."
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.lint"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: eslint"
        },
        {
          "path": ".eslintrc.js",
          "locator": "config file"
        },
        {
          "path": "packages/rn-tester/.eslintrc",
          "locator": "config file"
        },
        {
          "path": "private/core-cli-utils/.eslintrc.json",
          "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 -p packages/react-native/__typetests__/tsconfig.legacy.json",
        "tsc -p packages/react-native/__typetests__/tsconfig.json"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test-all.yml",
          "locator": "jobs.lint.steps[7] (TypeScript (legacy deep imports / manual types))"
        },
        {
          "path": "package.json",
          "locator": "scripts.test-typescript-legacy"
        },
        {
          "path": ".github/workflows/test-all.yml",
          "locator": "jobs.build_js_types.steps[4] (Validate generated types)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test-generated-typescript"
        },
        {
          "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": [
        "jest --maxWorkers=2 --ci --reporters=default --reporters=jest-junit",
        "jest"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test-ci"
        },
        {
          "path": "package.json",
          "locator": "scripts.test"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: jest"
        },
        {
          "path": "jest.config.js",
          "locator": "config file"
        },
        {
          "path": "private/helloworld/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "private/react-native-fantom/config/jest.config.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/jestjs/jest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "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": [
        "local"
      ],
      "evidence": [
        {
          "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"
        },
        {
          "path": "private/helloworld/.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": [
        "ecr verify-config"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/expo-code-review-command.yml",
          "locator": "jobs.command.steps[4] (Guard config tokenEnv (root + routing + all scopes))"
        },
        {
          "path": ".github/workflows/expo-code-review.yml",
          "locator": "jobs.review.steps[2] (Guard config tokenEnv (root + routing + all scopes))"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "flow full-check"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test-all.yml",
          "locator": "jobs.lint.steps[6] (Flow)"
        },
        {
          "path": "package.json",
          "locator": "scripts.flow-check"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "for formatter in javascript cpp kotlin java python swift"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/format.yml",
          "locator": "jobs.format.steps[7] (Check formatting)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "markdownlint-cli2 2>&1"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test-all.yml",
          "locator": "jobs.lint.steps[4] (markdownlint)"
        },
        {
          "path": "package.json",
          "locator": "scripts.lint-markdown"
        }
      ],
      "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": [
        "local"
      ],
      "evidence": [
        {
          "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/e2e/init-project-e2e.js --projectName RNTestProject --currentBranch $BRANCH --directory /tmp/RNTestProject --pathToLocalReactNative $REACT_NATIVE_PKG"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/build-android-templateapp.yml",
          "locator": "jobs.build.steps[6] (Build template app)"
        },
        {
          "path": ".github/workflows/e2e-android-templateapp.yml",
          "locator": "jobs.test.steps[4] (Prepare Metro workspace)"
        },
        {
          "path": ".github/workflows/e2e-ios-templateapp.yml",
          "locator": "jobs.build.steps[11] (Build the app)"
        },
        {
          "path": ".github/workflows/e2e-ios-templateapp.yml",
          "locator": "jobs.test.steps[7] (Prepare project for Metro)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/e2e/init-project-e2e.js --useHelloWorld --pathToLocalReactNative $GITHUB_WORKSPACE/build/$(cat build/react-native-package-version)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test-all.yml",
          "locator": "jobs.test_android_helloworld.steps[8] (Prepare the Helloworld application)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/e2e/init-project-e2e.js --useHelloWorld --pathToLocalReactNative /tmp/react-native-tmp/$(cat /tmp/react-native-tmp/react-native-package-version)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test-ios-spm-newapp.yml",
          "locator": "jobs.test.steps[12] (Prepare the HelloWorld application)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-java.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-java"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-java.js --check"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format-check"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check-java"
        }
      ],
      "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": [
        "local"
      ],
      "evidence": [
        {
          "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": [
        "local"
      ],
      "evidence": [
        {
          "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
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-swift.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-swift"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/format-swift.js --check"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.format-check"
        },
        {
          "path": "package.json",
          "locator": "scripts.format-check-swift"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/js-api/build-types"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/publish-npm.yml",
          "locator": "jobs.publish_bumped_packages.steps[4] (Build types)"
        },
        {
          "path": "package.json",
          "locator": "scripts.build-types"
        },
        {
          "path": ".github/workflows/test-all.yml",
          "locator": "jobs.build_js_types.steps[3] (Build react-native package types)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/release-testing/test-release-local-clean.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test-release-local-clean"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/release-testing/test-release-local.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test-release-local"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node ./scripts/releases/set-rn-artifacts-version.js --build-type $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/prebuild-ios-core.yml",
          "locator": "jobs.build-rn-slice.steps[6] (Set React Native version)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node .github/workflow-scripts/visual/approve-run.js prepare"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/visual-approve-rntester.yml",
          "locator": "jobs.approve.steps[2] (Decide)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node .github/workflow-scripts/visual/approve-run.js report"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/visual-approve-rntester.yml",
          "locator": "jobs.approve.steps[7] (Update gate)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node scripts/ios-prebuild/headers-verify.js --flavor $EXPR ${{ inputs.version-type != "
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/prebuild-ios-core.yml",
          "locator": "jobs.compose-xcframework.steps[14] (Verify composed headers)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tee .format-results/output.txt"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/format.yml",
          "locator": "jobs.format.steps[7] (Check formatting)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "xcodebuild -scheme RNTestProject -workspace RNTestProject.xcworkspace -configuration $EXPR -sdk iphonesimulator -destination generic/platform=iOS Simulator -derivedDataPath /tmp/RNTestProject"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/e2e-ios-templateapp.yml",
          "locator": "jobs.build.steps[11] (Build the app)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
