@fonderie/vue-courier-admin
| Install | |
|---|---|
npm install @fonderie/vue-courier-admin |
|
| Latest Version: | 0.5.3 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 19, 2026 |
| Links: | GitHub · npm |
@fonderie/vue-courier-admin
Vue 3 composables for the Fonderie courier admin API — useTemplates
(list, plus saveTemplate/removeTemplate), useTemplate,
useTemplatePreview, useTemplateRevisions (list + rollback),
useTemplateCatalog (every email and language, built-in copy included),
useBuiltInTemplate (the shipped default for one type), and
useTemplateResolution (which template a send would actually use). Thin bindings over
@fonderie/client's
CourierAdminClient: reactive refs for loading/error/data state and the
request itself, nothing else. Bring your own UI.
Install
npm install @fonderie/vue-courier-admin
Use
<script setup>
import { CourierAdminClient } from '@fonderie/client';
import { useTemplates } from '@fonderie/vue-courier-admin';
const admin = new CourierAdminClient({
baseUrl: 'https://api.example.com/v1',
adminToken: import.meta.env.VITE_FONDERIE_ADMIN_TOKEN,
});
// Saving and deleting come from useTemplates; both refresh the list.
const { templates, saveTemplate, removeTemplate } = useTemplates(admin);
</script>
<template>
<ul>
<li v-for="t in templates" :key="t.type">
{{ t.type }}
<button @click="saveTemplate(t.type, { text: 'Hello!' })">Save</button>
<button @click="removeTemplate(t.type)">Revert to default</button>
</li>
</ul>
</template>
This client is deliberately separate from FonderieClient. Courier's
/admin/templates/* routes are guarded by a static bearer token configured
on the server (CourierModule's adminToken), not the signed-in user's
session — the same model @fonderie/config's admin surface and the
fonderie template/fonderie config CLI commands use. Construct
CourierAdminClient with that token directly; it does not share state with
AuthClient/BillingClient/WorkspacesClient.
Want pre-built screens instead of wiring your own editor?
See @fonderie/vue-courier-admin-screens.
Why this exists
You've shipped this plumbing before — auth, teams, billing, messaging —
and the next project will ask for it again. Fonderie packages it once:
plain TypeScript modules for
@fonderie/core,
PostgreSQL-backed, self-hosted, MIT. No external control plane, no
per-seat anything. Register the modules you need; skip the ones you don't.
This package owns the Vue binding for courier's template admin API —
reactive state management around @fonderie/client, nothing more. No
business logic lives here; it lives in @fonderie/courier on the server.
Browse the whole set at fonderiejs/fonderie · follow @fonderiejs
License
MIT © Fonderie, Inc.
Related Packages
Pre-built Vue screens for the Fonderie courier admin API — template list, templa...
Vue composables over @fonderie/admin — the operator's surface. One composable pe...
Vue 3 composables for the Fonderie config admin API (feature flags/remote config...
Vue 3 composables for Fonderie's outgoing webhooks — thin bindings over @fonderi...
Version History
| Version | Released | License |
|---|---|---|
| 0.5.3 | MIT | |
| 0.5.2 | MIT | |
| 0.5.1 | MIT | |
| 0.5.0 | MIT | |
| 0.4.1 | MIT | |
| 0.4.0 | MIT | |
| 0.3.0 | MIT | |
| 0.2.0 | MIT | |
| 0.1.0 | MIT |