@bageldb/bageldb-nuxt
BagelDB Client for NuxtJS
BagelDB is a content management system with flexible database with user login for doing amazing things.
Features
- ⛰ Flexible Database
- 🚠 Simplicity First
- 🌲 Powerful Editor Tools
Quick Setup
- Add
@bageldb/bageldb-nuxtdependency to your project
# Using pnpm
pnpm add @bageldb/bageldb-nuxt
# Using yarn
yarn add @bageldb/bageldb-nuxt
# Using npm
npm i @bageldb/bageldb-nuxt
# Using bun
bun i @bageldb/bageldb-nuxt
- Add
@bageldb/bageldb-nuxtto themodulessection ofnuxt.config.ts
export default defineNuxtConfig({
modules: [
'@bageldb/bageldb-nuxt',
{
token: process.env.NUXT_ENV_BAGEL_TOKEN,
alias: "db", // (optional)
exposePublicClient: true // (optional) - this will expose the client to the browser
}
]
})
The default alias is $db but can be set easily in the import. Two instances can be used in one project, but they must have different instances.
** in older versions it used to default to $bageldb
Use It
The db instance can be accessed globally anywhere in the code
retreive it via the context:
export default {
async asyncData({ $db }) {
let { data: books } = await $db.collection("books").get();
return { books };
},
};
Authentication
Using Auth with Nuxt.js works the same as evey BagelDB js framework, by using the users() method.
export default {
methods: {
async login(email, password) {
await this.$db.users().validate(email, password);
},
async logout() {
await this.$db.users().logout();
},
async signUp(email, password, userName) {
let userID = await this.$db
.users()
.create(email, password)
.catch(console.log);
// create an item with the user's id to store more information about the user.
await this.$db.collection("users").item(userID).set({ email, userName });
},
},
};
every call made after that will use the Auth token stored in the cookie.
That's it! You can now use BagelNuxt in your Nuxt app ✨
Development
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.3.32 | ^3.0 | MIT | |
| 0.3.30 | ^3.0 | MIT | |
| 0.3.29 | ^3.0 | MIT | |
| 0.3.28 | ^3.0 | MIT | |
| 0.3.27 | ^3.0 | MIT | |
| 0.3.26 | ^3.0 | MIT | |
| 0.3.25 | ^3.0 | MIT | |
| 0.3.24 | ^3.0 | MIT | |
| 0.3.23 | ^3.0 | MIT | |
| 0.3.22 | ^3.0 | MIT | |
| 0.3.21 | ^3.0 | MIT | |
| 0.3.20 | ^3.0 | MIT | |
| 0.3.19 | ^3.0 | MIT | |
| 0.3.18 | ^3.0 | MIT | |
| 0.3.17 | ^3.0 | MIT | |
| 0.3.16 | ^3.0 | MIT | |
| 0.3.15 | ^3.0 | MIT | |
| 0.3.14 | ^3.0 | MIT | |
| 0.3.13 | ^3.0 | MIT | |
| 0.3.12 | ^3.0 | MIT | |
| 0.3.11 | ^3.0 | MIT | |
| 0.3.10 | ^3.0 | MIT | |
| 0.3.9 | ^3.0 | MIT | |
| 0.3.8 | ^3.0 | MIT | |
| 0.3.7 | ^3.0 | MIT | |
| 0.3.6 | ^3.0 | MIT | |
| 0.3.4 | ^3.0 | MIT | |
| 0.3.3 | ^3.0 | MIT | |
| 0.3.2 | ^3.0 | MIT | |
| 0.3.1 | ^3.0 | MIT |
Showing the latest 30 of 48. See every release on npm
Pre-releases (5)
| Version | Released | License |
|---|---|---|
| 0.2.25-dev.1.1 | ISC | |
| 0.2.23-dev.1.1 | ISC | |
| 0.2.3-dev.2.1 | ISC | |
| 0.2.3-dev.1.2 | ISC | |
| 0.2.3-dev.1.1 | ISC |