Backend

Elimina el backend de PocketBase, convirtiendo el proyecto en un sitio estático solo de frontend.

Sintaxis

$ vela disable backend

Opciones

  • -y, --yes - Omitir la confirmación

Qué elimina

Se eliminan, junto con todo lo que les hayas añadido:

  • data/ — la base de datos local, y tus fixtures, hooks y seeds de data/fixtures, data/hooks y data/seeds
  • src/lib/server/workflows.ts y todo src/lib/workflows/, incluidos los workflows que hayas escrito. Los workflows se ejecutan sobre PocketBase, así que se van con él.
  • Todos los server.test.ts dentro de src/. Los tests de servidor se ejecutan con el contexto de test de PocketBase, así que sin él no pueden ejecutarse.
  • Los paquetes openworkflow, openworkflow-pocketbase y croner

La base de datos de un servidor desplegado no se toca.

El resto se revierte en lugar de eliminarse:

  • src/hooks.server.ts pierde el handle de PocketBase y el hook init que arranca el worker de workflows. Los handles que añadieron otras funciones, como i18n, se quedan. El archivo solo se elimina si no queda nada en él.
  • El adaptador de SvelteKit se cambia de nuevo a @sveltejs/adapter-static con un fallback de SPA, y se instala @sveltejs/adapter-static.
  • El bloque de PocketBase se quita de .gitignore.
  • test/setup.ts vuelve a la versión sin base de datos, que solo da a los tests request y agent.
  • El src/routes/+layout.server.ts de un proyecto antiguo que aún lee el nombre y la URL de la aplicación de locals.meta, que solo definía el handle de PocketBase, pasa a leerlos de src/lib/site.ts, que se crea si no existe. Define ahí url con la dirección donde se despliega el sitio. Los proyectos nuevos ya leen src/lib/site.ts, así que su layout raíz no cambia.

Un archivo que Vela no puede revertir con seguridad, como un hooks.server.ts cuyo init hace algo más que arrancar el worker, se deja tal cual, y se te indica qué cambiar.

Desactiva las funciones que dependen del backend — auth, api y el resto — antes de ejecutar esto.

Qué deja

  • @velastack/pocketbase, pocketbase-sveltekit y @sveltejs/adapter-node permanecen en package.json. Desinstálalos tú mismo si quieres eliminarlos.
  • El directorio migrations/ en la raíz del proyecto
  • POCKETBASE_SUPERUSER_EMAIL y POCKETBASE_SUPERUSER_PASSWORD en .env, que es lo que permite a vela enable backend reutilizarlas en lugar de volver a preguntar