@decelerate/next-guard
v0.0.1-alpha.0
Published
next-guard is a lightweight and flexible package for adding security to your Next.js functions.
Downloads
5
Readme
Next Guard
next-guard
is a lightweight and flexible package for adding security to your Next.js functions. With an easy-to-use guard wrapper, you can protect your routes and actions effortlessly.
Why would i use this package?
I created this package because i needed a way to protect my Next.js actions. I wanted to be able to add a guard to my functions and protect them with a simple function. This package is perfect for you if you want to add a guard to your functions and protect them with a few lines of code.
Documentation
Installation
To install the latest version on npm locally and save it in your package's package.json
file:
npm install @decelerate/next-guard --save
yarn add @decelerate/next-guard
To install the latest development version locally, without updating your project's package.json
file:
npm install git+https://github.com/Decelerate/next-guard.git
yarn add git+https://github.com/Decelerate/next-guard.git
Usage
example.ts
import { Guard } from "@decelerate/next-guard";
const AuthGuard = async () => {
// Your authentication logic here
const user = await auth();
if (!user) {
return false;
}
return true;
};
const myUnprotectedFunction = async () => {
return prisma.user.findMany();
}
const myProtectedFunction = Guard(myUnprotectedFunction, AuthGuard)
example.ts
import { Guard } from "@decelerate/next-guard";
const AuthGuard = async () => {
// Your authentication logic here
const user = await auth();
// You can return any type of data in case of error, Guard will automatically type it
if (!user) {
return {
error: "You are not authenticated"
status: 401
};
}
return true;
};
const myUnprotectedFunction = async () => {
return prisma.user.findMany();
}
const myProtectedFunction = Guard(myUnprotectedFunction, AuthGuard)
Contribute
Requirements :
- Node.JS > 18.0.0
Clone the Git repository and start building good stuff.
$ git clone [email protected]:Decelerate/next-guard.git
$ cd next-auth
$ yarn
When done build everything with yarn build
and create a pull request respecting git convention.