{
  "id": "vue-2",
  "title": "Vue 2",
  "language": "JavaScript / TypeScript",
  "group": "Rewrite sources",
  "summary": "An application using Vue 2, including the final Vue 2.7 release. Vue 2 reached end of life on 2023-12-31. Vue 3 is a natural migration candidate when the application should stay in the Vue ecosystem; the source's plugins and APIs still require review.",
  "kind": [
    "web"
  ],
  "roles": [
    "browser-ui"
  ],
  "ui": "client-rendered Vue component tree; inspect Options API/Composition API usage, plugins, router and state management",
  "host": "Often static browser assets plus separately owned APIs/services. Identify server rendering, server templates and deployment responsibilities separately.",
  "responsibilities": [
    "browser-ui: client-rendered Vue component tree; inspect Options API/Composition API usage, plugins, router and state management",
    "Vue components, directives, filters and reactive state",
    "Vue Router routes, navigation guards and history fallback where used",
    "Vuex or other shared state and persistence plugins where used",
    "Build tooling, single-file component compilation, polyfills and browser support",
    "Separately owned APIs, identity, persistence, background work and integrations",
    "server-runtime: inventory the actual API, identity, data, job, integration and hosting owners; the browser framework itself does not establish whether or how these exist."
  ],
  "lifecycle": {
    "status": "End of life; no new features, updates or fixes from the Vue team",
    "date": "End of life: 2023-12-31; final Vue 2 release: 2.7.16",
    "as_of": "2026-10-23",
    "sources": [
      "https://v2.vuejs.org/eol/"
    ]
  },
  "version_check": [
    "Read package.json and lockfiles to find Vue, vue-template-compiler, Vue CLI/Vite plugins, router and state-library versions.",
    "Identify whether the application uses Vue 2.7 Composition API support, custom render functions, filters, plugins or compiler options.",
    "Use the official Vue 3 migration guide and the migration build guidance against the actual feature set; recheck plugin compatibility at planning time."
  ],
  "inventory": [
    "Map route names, URL patterns, navigation guards, forms, validation and browser-visible behavior.",
    "Trace global state, persistence, event buses, custom directives, filters and third-party component libraries.",
    "Record SSR/SSG behavior, build commands, asset paths, browser support and deployment routing.",
    "List API contracts, authentication, permissions, data owners and tests for critical journeys."
  ],
  "options": [
    "Keep Vue 2 only as a bounded transition or maintenance choice with a documented support and security plan.",
    "Upgrade within Vue to Vue 3, using the migration build or staged component conversion where appropriate and qualifying each dependency.",
    "Replace selected modules or routes incrementally while preserving APIs and data ownership.",
    "Choose another browser stack only when requirements or team constraints justify leaving Vue; do not force that outcome because another guide exists."
  ],
  "target_research": "Vue 3 is the natural first target to investigate for a Vue 2 source. Compare the official migration path, build tooling, component/library compatibility, router/state changes and required server behavior before considering a different framework.",
  "caution": "Vue 2 end of life does not make a migration automatic. Third-party packages and custom component behavior may be the largest constraints. Vue 3 is not guaranteed compatible with the installed Vue 2 ecosystem.",
  "sources": [
    {
      "title": "Vue 2 Has Reached End of Life",
      "url": "https://v2.vuejs.org/eol/",
      "claim": "Vue records the 2023-12-31 end-of-life date, no further Vue-team features/updates/fixes, final version 2.7.16 and recommends Vue 3 for new work."
    },
    {
      "title": "Migration to Vue 2.7",
      "url": "https://v2.vuejs.org/v2/guide/migration-vue-2-7",
      "claim": "Vue's final 2.7 release has selected Composition API and tooling support that can inform a staged migration."
    },
    {
      "title": "Migration Build",
      "url": "https://v3-migration.vuejs.org/migration-build",
      "claim": "The official Vue 3 migration build can expose compatibility warnings and support incremental migration, subject to its documented limits."
    }
  ],
  "guide_url": "/rewrite/sources/vue-2/",
  "markdown_url": "/rewrite/sources/vue-2.md",
  "json_url": "/rewrite/sources/vue-2.json"
}
