open-index/open-npm huggingface dataset:
npm package: @regiocom/next-proxy
Description: A proxy handler for [Next.js API Routes](https://nextjs.org/docs/api-routes/introduction).
Author: Paul Reichelt
Latest version: 1.1.1

# @regiocom/next-proxy

A proxy handler for [Next.js API Routes](https://nextjs.org/docs/api-routes/introduction).

**Example usage**

In this example we forward the request to a backend API and append an API Token.

```js
// pages/api/index.js

import { createProxyHandler } from '@regiocom/next-proxy'

export const config = {
  api: {
    // Do not let next.js parse body. We pipe it directly to the target endpoint.
    bodyParser: false,
  },
}

export default createProxyHandler({
  // Endpoint URL of backend API
  target: 'http://my-backend:3000',
  // Additional headers
  headers: {
    Authentication: `Bearer ${process.env.API_TOKEN}`,
  },
})
```

**Example with [@auth0/nextjs-auth0](https://github.com/auth0/nextjs-auth0/)**

In this example we use an access token stored in a session cookie.

```js
// pages/api/index.js
import { createProxyHandler } from '@regiocom/next-proxy'
import auth0 from '../../lib/auth0'

export const config = {
  api: {
    // Do not let next.js parse body. We pipe it directly to the API_ENDPOINT.
    bodyParser: false,
  },
}

/**
 * Acts as reverse proxy for API_ENDPOINT.
 *
 * Ensures that the user is authenticated and adds the access token
 * as well as the user's sub to the backend request.
 *
 * @param {import('next').NextApiRequest} req - Request object
 * @param {import('next').NextApiResponse} res - Response object
 * @returns {Promise<void>}
 */
export async function proxy(req, res) {
  const session = await auth0.getUserInfo(req)

  if (!session || !session.user) {
    res.status(401).json({
      error: 'not_authenticated',
      description:
        'The user does not have an active session or is not authenticated',
    })

    return
  }

  const handler = createProxyHandler({
    target: process.env.API_ENDPOINT,
    headers: {
      'X-Authenticated-UserID': session.user.sub,
      Authorization: `Bearer ${session.accessToken}`,
    },
  })

  return await handler(req, res)
}
```
npm package: @region-kz/design-system
Description: Design-system package with component base
Author: region.kz
Latest version: 2.13.2

## Available Scripts

In the project directory, you can run:

### `yarn ci`

Checks all files for matching rules provided in config files of the project.
Runs both `lint` and `test` checks. You can run each of them manually, giving some clarification like `yarn ci:lint` or `yarn ci:test`

### `yarn compile`

Compiles all typescript files and puts them into `./lib` folder.

### `yarn clean`

Deletes `./lib` folder

### `yarn start`

**Note: This is development only command!**

Runs Storybook UI, providing development environment, for convenient development and testing of components, without importing them into production pages.