open-index/open-npm huggingface dataset:
npm package: @jambff/prisma-api
Description: Extends [@jambff/api](https://www.npmjs.com/package/@jambff/api) with additional helpers for APIs built using [Prisma](https://www.prisma.io/).
Author: Alex Mendes
Latest version: 2.12.3

# Jambff Prisma API

Extends [@jambff/api](https://www.npmjs.com/package/@jambff/api) with
additional helpers for APIs built using [Prisma](https://www.prisma.io/).

## Installation

Install with your favourite package manager:

```text
yarn add @jambff/prisma-api
```

You should also install all `peerDependencies`.

## Search query parser

Parses a query string to the format required for a Prisma where query. Supports
nested object queries via dot notation.

```js
import { parseFilterQuery, FilterType } from '@jambff/prisma-api';
import qs from 'qs';

const queryString = '?filter[published]=true&filter[imageId]=lte:10&filter[image]=title.contains:something';
const queryObject = qs.parse(queryString, { arrayFormat: 'brackets' });

const filterTypes = {
  published: FilterType.BOOLEAN,
  imageId: FilterType.NUMBER,
  image: {
    title: FilterType.STRING,
  },
};

const prismaQuery = parseFilterQuery(filterTypes, queryObject);
// [
//   { published: true },
//   { imageId: { lte: 10 },
//   { image: { title: { contains: "something" } },
// }
```
npm package: @jambff/ra-components
Description: Reusable components for building [React Admin](https://marmelab.com/react-admin/) interfaces.
Author: Alex Mendes
Latest version: 2.0.0

# React Admin Components

Reusable components for building [React Admin](https://marmelab.com/react-admin/)
interfaces.

## Installation

```text
yarn add @jambff/ra-components
```

See `./src` for the available components
npm package: @jambff/ra-data-provider
Description: A data provider for React Admin that integrates with JamBFF APIs.
Author: Alex Mendes
Latest version: 1.2.1

# React Admin Data Provider

A data provider for [React Admin](https://marmelab.com/react-admin/) that
integrates with JamBFF APIs.

## Installation

```text
yarn add @jambff/ra-data-provider
```

## Usage

```ts
import { createDataProvider } from '@jambff/data-provider';

const dataProvider = createDataProvider('http://api.example.com');
```

## Authentication

If you need to make authenticated requests you can override the fetch client,
for example:

```ts
import { createDataProvider } from '@jambff/data-provider';
import { createClient } from '@supabase/supabase-js';
import { createAuthenticatedFetch } from '@jambff/supabase-auth-fetch';

const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY);
const fetch = createAuthenticatedFetch(supabase);

const dataProvider = createDataProvider('http://api.example.com', { fetch });
```
npm package: @jambff/supabase-auth-fetch
Description: A fetch client that integrates with Supabase Auth.
Author: Alex Mendes
Latest version: 1.0.0

# Supabase Auth Fetch

A fetch client that integrates with [Supabase Auth](https://supabase.com/auth).

## Installation

```text
yarn add @jambff/supabase-auth-fetch
```

## Usage

```tsx
import { createClient } from '@supabase/supabase-js';
import { createAuthenticatedFetch } from '@jambff/supabase-auth-fetch';

const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY);
const fetch = createAuthenticatedFetch(supabase);

fetch('http://example.com/secure');
```

Using this client an `Authorization` header will be added to any requests
containing the access token for the currently authenticated user, for example:

```text
Authorization: Bearer [ACCESS TOKEN]
```

If a request fails with a 401 or 403 status code and attempt will be made to
refresh the current Supabase session before trying again.
npm package: @jambit/eslint-plugin-typed-redux-saga
Description: These are eslint rules to help with typed-redux-saga
Author: Santo Pfingsten
Latest version: 0.4.0

# Description

These are eslint rules to help with [typed-redux-saga](https://github.com/agiledigital/typed-redux-saga).

It includes an auto-fix option, so you can use it to easily convert your codebase from redux-saga to typed-redux-saga!
(As always, you should double-check if the auto-fixer did its job correctly before committing the changes!)

## How to Use

Install the plugin via npm:

`npm i -D @jambit/eslint-plugin-typed-redux-saga`

Add it to your eslint configuration as seen below.
Keep in mind, that you don't want to run these rules in your test files, since there you most likely need to use the imports from `redux-saga/effects`.

```json
{
    "plugins": ["@jambit/typed-redux-saga"],
    "rules": {},
    "overrides": [
        {
            "files": ["./**/*.ts"],
            "excludedFiles": ["./**/*.spec.ts"],
            "rules": {
                "@jambit/typed-redux-saga/use-typed-effects": "error",
                "@jambit/typed-redux-saga/delegate-effects": "error"
            }
        }
    ]
}
```

## Included-rules

### @jambit/typed-redux-saga/use-typed-effects

This rule ensures, that you import from `typed-redux-saga` instead of `redux-saga/effects`.

If you want to use the [babel macro feature](https://github.com/agiledigital/typed-redux-saga#babel-macro), this rule can be configured to use `typed-redux-saga/macro` instead:

```json
"@jambit/typed-redux-saga/use-typed-effects": ["error", "macro"]
```

The second entry in the options array can be either "default" or "macro".

### @jambit/typed-redux-saga/delegate-effects

This rule ensures, that you use `yield*` on effects from `typed-redux-saga` and `typed-redux-saga/macro`.

## License

Licensed under MIT
npm package: @jambit/wdio-cucumber-selected-steps-stepdoc
Description: Cucumber step documentation generator for @jambit/wdio-cucumber-selected-steps
Author: Santo Pfingsten
Latest version: 2.4.0

# Description

This is a tool used to generate markdown documentation for the steps included in the `@jambit/wdio-cucumber-selected-steps` project.
It can be used to generate documentation for your custom steps as well.
Since this project uses the nunjucks template language, you can generate documentation in HTML or something completely different if you supply template files.

## Prerequisites

This documentation generator expects a couple of things to work properly:
- Step definitions are separate from their support functions
- Support functions are written in TypeScript.
- defineTypedStep is used for all steps to be documented.

I.e. the same conditions as in the `@jambit/wdio-cucumber-selected-steps` project.

For example:

```JavaScript
defineTypedStep(
    /^I enter "([^"]*)" into the prompt$/,
    [
        paramType.string,
    ],
    setPromptText,
);
```

## Creating Documentation

All you need to to:
- `npm i -D @jambit/wdio-cucumber-selected-steps-stepdoc`
- Create a `stepdoc.json` file next to your package.json (see https://github.com/jambit/wdio-cucumber-selected-steps-demo/ for an example)
- Run `npx stepdoc` (or create a script in the package.json)
- You can even customize the (nunjucks) templates used to generate the documentation by copying them from the template directory.
- Take a look at [src/configTypes.ts](https://github.com/jambit/wdio-cucumber-selected-steps/blob/master/packages/stepdoc/src/configTypes.ts) to see which options are available.

## Creating a Template

This project contains two different markdown templates.. a short one and a detailed one.
If you want to write your own, take a look at the ones included and use the [src/templateTypes.ts](https://github.com/jambit/wdio-cucumber-selected-steps/blob/master/packages/stepdoc/src/templateTypes.ts) file to see what data is available (`TemplateData` contains the globally available objects).

Check out the [Nunjucks templating documentation](https://mozilla.github.io/nunjucks/templating.html) as well.

## Caveats

You might encounter that there are some limitations where this tool has been tailored to work for the `@jambit/wdio-cucumber-selected-steps` project.

In that respect there are still possibilities to improve this project and make it more generic. Feel free to create a pull request or open an issue if you encounter issues.

# License

Licensed under MIT
npm package: @jambo.team/env-doctor
Description: Zero-dependency secrets hygiene scanner and remediation tool
Author: RunEnv
Latest version: 1.0.2

# 🩺 @jambo.team/env-doctor

A lightning-fast, zero-dependency secrets scanner and automated remediation engine for modern development teams.

**env-doctor** proactively scans your source code for hardcoded secrets, cryptographic keys, and high-entropy passwords. When vulnerabilities are detected, our interactive **Remediation Wizard** surgically extracts the string, replaces it with `process.env.*`, and auto-vaults it into the Cloud.

This tool is part of the [RunEnv](https://runenv.dev) DevSecOps ecosystem.

## 🚀 Features
- **Zero Dependencies**: Uses native JavaScript modules. Extremely lightweight.
- **Blazing Fast**: Native regex execution and Shannon entropy analysis ensures sub-millisecond execution.
- **Automated Refactoring**: Identifies leaks and natively splices `process.env.VAR_NAME` directly into your code.
- **CI/CD Native**: Seamlessly plugs into GitHub Actions, automatically blocking Pull Requests and surfacing file annotations in the PR code review interface.

## 💻 Local Usage

You don't need to install anything! Run it directly via `npx` in any codebase:

```bash
npx @jambo.team/env-doctor@latest
```

It will execute a full risk analysis on your repository and grade your hygiene. If your grade is below an `A+`, it will launch the interactive remediation wizard to vault the leaked secrets.

### Optional Flags
```bash
# Scan a specific directory
npx @jambo.team/env-doctor@latest -d src/

# Disable Shannon Entropy (massively boosts speed for huge codebases)
npx @jambo.team/env-doctor@latest --no-entropy
```

## 🛡️ GitHub Actions Setup

You can fully automate this scanner in your CI/CD pipelines to ensure developers never merge a leaked API key to production.

Create a `.github/workflows/scan.yml` file in your repository:

```yaml
name: "Security: Secret Scanner"

on:
  pull_request:
    branches: [ "main", "develop" ]

jobs:
  scan:
    name: "Audit Source Code"
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 20
      - name: RunEnv Secret Scanner
        uses: Jambo-company/env-doctor@main
```

When run in CI, if a secret is hardcoded, `env-doctor` will fatally crash the build and annotate exactly where the leak occurred inside the GitHub PR UI.

## License

MIT License