{
  "id": "P087",
  "slug": "vite-7-package-json-engines-node-20-19-0-22-12-0",
  "status": "search-observed",
  "product": "Vite",
  "family": "Runtime support floor",
  "canonical_url": "https://gitdocs.org/fix/vite-7-package-json-engines-node-20-19-0-22-12-0",
  "query_alias_url": "https://gitdocs.org/q/vite-7-package-json-engines-node-20-19-0-22-12-0",
  "markdown_url": "https://gitdocs.org/fix/vite-7-package-json-engines-node-20-19-0-22-12-0.md",
  "json_url": "https://gitdocs.org/api/fixes/vite-7-package-json-engines-node-20-19-0-22-12-0.json",
  "canonical_query": "Vite 7 package.json engines node ^20.19.0 >=22.12.0",
  "observed_codex_queries": [
    "Vite 7 package.json engines node ^20.19.0 >=22.12.0",
    "Vite 7 Node.js 20.19 22.12 engine requirement crypto.hash",
    "Vite 7 requires Node.js version 20.19 22.12",
    "https://raw.githubusercontent.com/vitejs/vite/main/packages/vite/package.json",
    "https://v7.vite.dev/guide/migration.html",
    "why Vite 7 requires Node 20.19 Node 22.12 require esm module require(esm)",
    "\"Node.js 20.19+ / 22.12+\" \"Vite\" \"require(esm)\""
  ],
  "organic_dependency_search_count": 7,
  "affected_versions": "",
  "exact_errors": [],
  "diagnosis": "The repository may declare a broad engine range while the current tool release silently or explicitly requires a newer patch/minor runtime.",
  "before": "",
  "after": "",
  "verification": "Verifier accepts either a supported runtime pin or a justified compatible dependency pin, and rejects unsafe monkey patches. Check emitted assets and runtime behavior across the supported target.",
  "unsafe_fixes": [
    "Changing local code without checking the current external contract.",
    "Retrying the same install, build, or API call with no version/source change.",
    "Applying a broad unsafe bypass when a narrow compatibility fix is available."
  ],
  "last_verified_at": "2026-06-25",
  "neutral_validation": {
    "organic_search_observed": true,
    "organic_strict_pass": true,
    "no_web_counterfactual_run": false,
    "no_web_strict_pass": null,
    "search_necessity_under_fixture": null,
    "no_web_oracle_note": "Observed query evidence is separated from necessity proof; no-web and stale-contract counterfactuals should be tracked separately."
  },
  "source_trail": [
    {
      "url": "https://vite.dev/blog/announcing-vite7",
      "label": "Vite 7.0"
    },
    {
      "url": "https://raw.githubusercontent.com/vitejs/vite/main/packages/vite/package.json",
      "label": "Official reference opened by Codex"
    },
    {
      "url": "https://v7.vite.dev/guide/migration.html",
      "label": "Official reference opened by Codex"
    }
  ],
  "source_github_links": [
    {
      "url": "https://raw.githubusercontent.com/vitejs/vite/main/packages/vite/package.json",
      "label": "Official reference opened by Codex"
    }
  ]
}
