JSPM

  • Created
  • Published
  • Downloads 2572
  • Score
    100M100P100Q117410F
  • License Apache-2.0

Arcjet SDK for NestJS

Package Exports

  • @arcjet/nest
  • @arcjet/nest/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@arcjet/nest) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Arcjet Logo

@arcjet/nest

npm badge

Arcjet helps developers protect their apps in just a few lines of code. Implement rate limiting, bot protection, email verification, and defense against common attacks.

This is the Arcjet SDK for NestJS.

Looking for our Next.js framework SDK? Check out the @arcjet/next package.

Getting started

Visit the quick start guide to get started.

Example

Try an Arcjet protected Next.js app live at example.arcjet.com (source code). See arcjet/example-nestjs for a NestJS example.

What is this?

This is our adapter to integrate Arcjet into NestJS. Arcjet helps you secure your Nest server. This package exists so that we can provide the best possible experience to Nest users.

When should I use this?

You can use this if you are using NestJS. See our Get started guide for other supported frameworks.

Install

This package is ESM only. Install with npm in Node.js:

npm install @arcjet/nest

Use

import { ArcjetModule, shield } from "@arcjet/nest";
import { Module } from "@nestjs/common";
import { NestFactory } from "@nestjs/core";

// Get your Arcjet key at <https://app.arcjet.com>.
// Set it as an environment variable instead of hard coding it.
const arcjetKey = process.env.ARCJET_KEY;

if (!arcjetKey) {
  throw new Error("Cannot find `ARCJET_KEY` environment variable");
}

@Module({
  imports: [
    ArcjetModule.forRoot({
      isGlobal: true,
      key: arcjetKey,
      rules: [
        // Shield protects your app from common attacks.
        // Use `DRY_RUN` instead of `LIVE` to only log.
        shield({ mode: "LIVE" }),
      ],
    }),
  ],
})
class AppModule {}

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(8000);
}

bootstrap();

For more on how to configure Arcjet with NestJS and how to protect Nest, see the Arcjet NestJS SDK reference on our website.

License

Apache License, Version 2.0 © Arcjet Labs, Inc.