open-index/open-npm huggingface dataset:
npm package: @manujdhull/nestjs-pkce-oauth2
Description: A NestJS plugin to simplify OAuth2 PKCE flow integration, including decorators, guards, and token/session management.
Author: Manuj Dhull
Latest version: 1.0.3

# @manujdhull/nestjs-pkce-oauth2

[![npm version](https://img.shields.io/npm/v/@manujdhull/nestjs-pkce-oauth2.svg)](https://www.npmjs.com/package/@manujdhull/nestjs-pkce-oauth2)
[![license](https://img.shields.io/npm/l/@manujdhull/nestjs-pkce-oauth2.svg)](LICENSE)
[![downloads](https://img.shields.io/npm/dm/@manujdhull/nestjs-pkce-oauth2.svg)](https://www.npmjs.com/package/@manujdhull/nestjs-pkce-oauth2)

A **NestJS plugin for OAuth 2.0 with PKCE support**, providing decorators, guards, and token/session management to make secure authentication easy — especially with providers like **Google**, **GitHub**, or **Auth0**.

---

## ✨ Features

- 🔐 Built-in support for **PKCE (Proof Key for Code Exchange)**
- ⚙️ Decorators: `@OAuthInitiate()` and `@OAuthCallback()` for easy route integration
- 🛡️ `StateGuard` for CSRF protection during auth flow
- 🧠 `TokenStoreService` abstraction for token persistence
- ✅ Works out of the box with `@nestjs/platform-express`

---

## 📦 Installation

```bash
npm install @manujdhull/nestjs-pkce-oauth2
npm package: @manukpl/create-typonaut
Description: CLI project to initialize typescript repositories
Latest version: 1.2.0

# create-typonaut

This project is a cli tool aiming to provide a boilerplate for a nodejs & typescript development project.

## Usage

WIP.

### Options

- `--name=<my-name>` (shortcut `-n`): name of the project (package.json + created directory)
- `--git=<true|false>` (shortcut `-g`, `true` if no value): initialize git inside new directory

### Exemple usage

`yarn create @manukpl/typonaut -n project-api -g` will create a new directoy `./project-api` with the full template & initiaze git (no initial commit though)
npm package: @manusanchev/vue3-clickaway
Description: Vue 3 directive to detect clickaway events
Author: Manuel S
Latest version: 1.1.4

# vue3 ClickAway

Vue 3 directive to detect clickaway events

## Install

### PNPM

```bash
pnpm add @manusanchev/vue3-clickaway
```

### Yarn

```bash
yarn install @manusanchev/vue3-clickaway
```

### NPM

```bash
npm install @manusanchev/vue3-clickaway
```

## Register

### Vue 3

```js
import { createApp } from "vue";
import ClickAway from "@manusanchev/vue3-clickaway";
import App from "./App.vue";

const app = createApp(App);
app.use(ClickAway);
app.mount("#app");

```

### Nuxt 3

plugins/clickaway.client.ts

```nuxtjs
import ClickAway from "@manusanchev/vue3-clickaway";

export default defineNuxtPlugin(nuxtApp => {
  nuxtApp.vueApp.use(ClickAway);
});
```

## Usage

```vue
<script setup lang="ts">

function onClickAway() {
  // your code here
}
</script>

<template>
  <div v-clickaway="onClickAway">
    <!-- Content -->
  </div>
</template>
```