open-index/open-npm huggingface dataset:
npm package: @oudyworks/graphql
Description: Some tooling for GraphQL
Author: Ayoub Oudmane
Latest version: 2.0.6

# @oudyworks/graphql

let's consider this type

```js
import {
  GraphQLObjectType,
  GraphQLString,
  GraphQLID
} from '@oudyworks/graphql'

const Type = new GraphQLObjectType({
    name: 'Example',
    fields: {
        id: {
            type: GraphQLID
        },
        name: {
            type: GraphQLString
        }
    }
})
```

## getConfig(Type)
getConfig(Type) will return the fields used of **Type**, in graphql fields could be an object or a function, getConfig(Type) returns the object eitherwa

```js
import {
  getConfig
} from '@oudyworks/graphql'

let fields = getConfig(Type)
// fields = {
//     id: {
//         type: GraphQLID
//     },
//     name: {
//         type: GraphQLString
//     }
// }
```

## getInputObjectType(Type)
getInputObjectType(Type) will create a GraphQLInputObjectType with the same fields of **Type**

```js
import {
  getInputObjectType
} from '@oudyworks/graphql'

let inputType = getInputObjectType(Type)
// inputType = new GraphQLInputObjectType({
//     name: 'ExampleInput',
//     fields: {
//         id: {
//             type: GraphQLID
//         },
//         name: {
//             type: GraphQLString
//         }
//     }
// })
```

## getErrorType(Type)
get a type with the same fields of Type for Errors

## Scalar
Scalar is a scalar type for grahql, it can be a String, Boolean, Integer, Float, Object or Array

```js
import {
  GraphQLObjectType,
  GraphQLString,
  GraphQLID,
  Scalar
} from '@oudyworks/graphql'

const Type = new GraphQLObjectType({
    name: 'ScalarExample',
    fields: {
        id: {
            type: GraphQLID
        },
        type: {
            type: GraphQLString
        },
        data: {
            type: Scalar
        }
    }
})
```
npm package: @ouebx-authoring/editor-simple
Description: Wrapper for CKEditor 5 Classic to avoid conflicts
Author: rootgeek
Latest version: 2.0.3

# @ouebx-authoring/editor-simple

Un wrapper TypeScript pour CKEditor 5 qui évite les conflits et simplifier l'utilisation de l'éditeur.

## Installation

```bash
npm install @ouebx-authoring/editor-simple
```

## Utilisation

```tsx
import React from 'react';
import { SimpleEditor } from '@ouebx-authoring/editor-simple';
import '@ouebx-authoring/editor-simple/dist/styles.css';

function App() {
  const handleChange = (event, editor) => {
    const data = editor.getData();
    console.log('Editor data:', data);
  };

  return (
    <div className="App">
      <h1>CKEditor 5 Example</h1>
      <SimpleEditor
        data="<p>Initial content!</p>"
        onChange={handleChange}
        config={{
          // Configuration personnalisée si nécessaire
          placeholder: 'Commencez à écrire ici...'
        }}
      />
    </div>
  );
}

export default App;
```

## Configuration personnalisée

Vous pouvez remplacer les paramètres par défaut en passant un objet de configuration:

```tsx
<SimpleEditor
  config={{
    toolbar: {
      items: [
        'heading',
        '|',
        'bold',
        'italic',
        // ...autres éléments de la barre d'outils
      ]
    },
    // ...autres options de configuration
  }}
/>
```

## API

### SimpleEditor Props

| Prop | Type | Description |
|------|------|-------------|
| `data` | string | Contenu initial de l'éditeur au format HTML |
| `onChange` | function(event, editor) | Déclenché lorsque le contenu de l'éditeur change |
| `onReady` | function(editor) | Déclenché lorsque l'éditeur est initialisé |
| `onBlur` | function(event, editor) | Déclenché lorsque l'éditeur perd le focus |
| `onFocus` | function(event, editor) | Déclenché lorsque l'éditeur reçoit le focus |
| `config` | object | Configuration personnalisée |
| `disabled` | boolean | Désactive l'éditeur lorsque défini sur true |

## Licence

MIT
npm package: @ouedyan/ariakit-core
Description: Ariakit core
Author: Diego Haz
Latest version: 0.4.15

# Ariakit Core

**Important:** This package is an internal dependency of Ariakit and does not follow semantic versioning, meaning breaking changes may occur in patch and minor versions. You probably want to use [`@ariakit/react`](https://npmjs.org/package/@ariakit/react) instead.

## Installation

```
npm i @ariakit/core
```

## Core Team

- [Diego Haz](https://bsky.app/profile/haz.dev)
- [Ben Rodri](https://bsky.app/profile/ben.ariakit.org)
- [Dani Guardiola](https://bsky.app/profile/dio.la)

## Contributing

Follow the instructions on the [contributing guide](https://github.com/ariakit/ariakit/blob/main/contributing.md).
npm package: @ouedyan/ariakit-react
Description: Toolkit for building accessible web apps with React
Author: Diego Haz
Latest version: 0.4.18

<h1 align="center">Ariakit</h1>

<p align="center">
  Toolkit for building accessible web apps with <a href="https://reactjs.org">React</a>.
  <br>
  <a href="https://ariakit.org"><strong>Explore website »</strong></a>
</p>

<br>

<div align="center">
  <a href="https://npmjs.org/package/@ariakit/react">
    <img alt="NPM version" src="https://img.shields.io/npm/v/@ariakit/react.svg?logo=npm&color=007acc" />
  </a>
  <a href="https://github.com/ariakit/ariakit/releases">
    <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/ariakit/ariakit?logo=github&color=007acc">
  </a>
  <a href="https://github.com/ariakit/ariakit/discussions">
    <img alt="GitHub Discussions" src="https://img.shields.io/github/discussions/ariakit/ariakit?logo=github&color=007acc">
  </a>
  <br>
  <a href="https://npmjs.org/package/@ariakit/react">
    <img alt="NPM downloads" src="https://img.shields.io/npm/dm/@ariakit/react.svg?logo=npm&style=social">
  </a>
  &nbsp;
  <a href="https://github.com/ariakit/ariakit/stargazers">
    <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/ariakit/ariakit?style=social">
  </a>
  &nbsp;
  <a href="https://bsky.app/profile/ariakit.org">
    <img alt="Follow Ariakit on Bluesky" src="https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky&logoColor=fff">
  </a>
  &nbsp;
  <a href="https://discord.gg/WyHvnXsvMs">
    <img alt="Join the Ariakit Discord server" src="https://img.shields.io/badge/Discord-%235865F2.svg?&logo=discord&logoColor=white">
  </a>
</div>

<br>

## Installation

npm:

```
npm i @ariakit/react
```

pnpm:

```
pnpm add @ariakit/react
```

Yarn:

```
yarn add @ariakit/react
```

## Usage

```jsx
import { useState } from "react";
import { createRoot } from "react-dom/client";
import { Button, Dialog, DialogHeading } from "@ariakit/react";

function App() {
  const [open, setOpen] = useState(false);
  return (
    <>
      <Button onClick={() => setOpen(true)}>Open dialog</Button>
      <Dialog open={open} onClose={() => setOpen(false)}>
        <DialogHeading>Ariakit</DialogHeading>
        <p>Welcome to Ariakit!</p>
      </Dialog>
    </>
  );
}

createRoot(document.getElementById("root")).render(<App />);
```

## Core Team

- [Diego Haz](https://bsky.app/profile/haz.dev)
- [Ben Rodri](https://bsky.app/profile/ben.ariakit.org)
- [Dani Guardiola](https://bsky.app/profile/dio.la)

## Attribution

Browser testing provided by
<a href="https://www.browserstack.com" target="_blank"><img src="https://user-images.githubusercontent.com/15015324/45184727-368fbf80-b1fe-11e8-8827-08dbc80b0fb1.png" height="80" align="center"></a>

## Contributing

Follow the instructions on the [contributing guide](https://github.com/ariakit/ariakit/blob/main/contributing.md).
npm package: @ouedyan/ariakit-react-core
Description: Ariakit React core
Author: Diego Haz
Latest version: 0.4.18

# Ariakit React Core

**Important:** This package is an internal dependency of Ariakit and does not follow semantic versioning, meaning breaking changes may occur in patch and minor versions. You probably want to use [`@ariakit/react`](https://npmjs.org/package/@ariakit/react) instead.

## Installation

```
npm i @ariakit/react-core
```

## Core Team

- [Diego Haz](https://bsky.app/profile/haz.dev)
- [Ben Rodri](https://bsky.app/profile/ben.ariakit.org)
- [Dani Guardiola](https://bsky.app/profile/dio.la)

## Contributing

Follow the instructions on the [contributing guide](https://github.com/ariakit/ariakit/blob/main/contributing.md).
npm package: @ouedyan/modelcontextprotocol-server-filesystem
Description: MCP server for filesystem access
Author: Anthropic, PBC
Latest version: 0.5.0

# Filesystem MCP Server

Node.js server implementing Model Context Protocol (MCP) for filesystem operations.

## Features

- Read/write files
- Create/list/delete directories
- Move files/directories
- Search files
- Get file metadata

**Note**: The server will only allow operations within directories specified via `args`.

## API

### Resources

- `file://system`: File system operations interface

### Tools

- **read_file**
  - Read complete contents of a file
  - Input: `path` (string)
  - Reads complete file contents with UTF-8 encoding

- **read_multiple_files**
  - Read multiple files simultaneously
  - Input: `paths` (string[])
  - Failed reads won't stop the entire operation

- **write_file**
  - Create new file or overwrite existing (exercise caution with this)
  - Inputs:
    - `path` (string): File location
    - `content` (string): File content

- **create_directory**
  - Create new directory or ensure it exists
  - Input: `path` (string)
  - Creates parent directories if needed
  - Succeeds silently if directory exists

- **list_directory**
  - List directory contents with [FILE] or [DIR] prefixes
  - Input: `path` (string)

- **move_file**
  - Move or rename files and directories
  - Inputs:
    - `source` (string)
    - `destination` (string)
  - Fails if destination exists

- **search_files**
  - Recursively search for files/directories
  - Inputs:
    - `path` (string): Starting directory
    - `pattern` (string): Search pattern
  - Case-insensitive matching
  - Returns full paths to matches

- **get_file_info**
  - Get detailed file/directory metadata
  - Input: `path` (string)
  - Returns:
    - Size
    - Creation time
    - Modified time
    - Access time
    - Type (file/directory)
    - Permissions

- **list_allowed_directories**
  - List all directories the server is allowed to access
  - No input required
  - Returns:
    - Directories that this server can read/write from

## Usage with Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir"]
  }
}
```

## License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
npm package: @ouellettec/omlette-project-template
Description: ## What is this?
Author: Christopher Ouellette
Latest version: 0.3.0

# Omlette Project Template

## What is this?

This repo is a project template creator that allows you to quickly bootstrap a monorepo for a React frontend with a Firebase backend.

## How to use it

No need to download this package, simply run `npx @ouellettec/omlette-project-template --interactive` in your desired directory and the CLI tool will ask you a few questions and take care of the rest!

Once installed, you can open the `[Your Project Name].code-workspace` in vs code by selecting `File > Open workspace from file`. It should open a popup in the bottom right corner of the window asking you to install the workspaces recommended extensions, click "Show Recommendations". Install all the recommendations to insure the project's auto formatters and task runners run during development. If it does not appear, you may already have them all installed.

Check the `README.md` in the project's root folder for information on the template's setup and npm scripts.

## What templates are available?

Currently there is a `frontend`, `backend`, and `web` templates. `web` will setup both the `frontend` and `backend` templates.

In the future, we hope to add a react native template.

## What does it setup?

|Feature|Environment ( Frontend / Backend )|Template ( Frontend, Backend, Web )|
|---|---|---|
|React ( Using CRA )|Frontend|Frontend, Web|
|Tailwind CSS|Frontend|Frontend, Web|
|Firebase Functions|Backend|Backend, Web|
|EsLint|Both|All|
|Prettier|Both|All|
|Jest|Both|All|


## Developing this Project

1. Run `yarn` in he root directory to ensure you have the node dependencies installed.
1. Run `yarn develop` in the root folder.
    - You can run `yarn develop --interactive` to start the app in interactive mode.
    - All the source files are in the `/bin` directory. 
1. To debug the code, add `debugger` to where you want the code to stop.
1. Open Chrome and navigate to `chrome://inspect/`.
1. Click open `Open dedicated DevTools for Node`.
1. Type `rs` into the terminal to restart nodemon and re-execute the script.

## Deploying the Project

1. Login to the NPM account with command `npm login --scope=@ouellettec`
1. Run `yarn deploy:check` to ensure the the package has been linted and tested.
1. Run `yarn deploy:test` and check the output to insure the files added are correct.
1. Delete the `.tgz` that was created.
1. Increment the NPM version according to semantic versioning.
1. Commit the changed npm version.
1. Create a new release tag on Github.
1. Run `yarn deploy`.
npm package: @ouellettec/utils-react-state-zustand
Description: A GitHub action that gathers all the packages within the monorepo that have a deploy script. These packages are then checked downstream to see if they have been updated and can be deployed.
Latest version: 2.0.1

# GitHub Action: Packages

A GitHub action that gathers all the packages within the monorepo that have a deploy script. These packages are then checked downstream to see if they have been updated and can be deployed.

## Development

1. Run `yarn dev` to start the file watcher
1. Run `yarn start` to test the add on.
npm package: @ouest-france/blockprovider-example
Description: BlockProvider example
Author: Francois-Guillaume Ribreau
Latest version: 1.1.2

# Sample BlockProvider project ([online](https://blockprovider-example.cleverapps.io/))

This BlockProvider exposes:

* a block that displays bitcoin current value

### Online demo

This BlockProvider is available at https://blockprovider-example.cleverapps.io/

### Setup

```sh
npm install
```

### Start it

```sh
npm start
```

### Check how it renders locally

Checkout [BlockProvider Runner](../blockprovider-runner).

### Develop

```sh
npm run start:dev
```

<!-- ## Validate API

```
npm run validator -- --BlockProviderConfig http://localhost:3030/configuration
npm run validator -- --BlockJSON http://localhost:3030/bitcoin?threshold=10000
``` -->
npm package: @ouest-france/blockprovider-runner
Description: BlockProvider runner - Render a BlockProvider locally
Author: Francois-Guillaume Ribreau
Latest version: 1.3.0

# BlockProvider-Runner - Render a BlockProvider locally

### Online demo

The above link asks BlockProvider Runner to render our [BlockProvider example](../blockprovider-example) project:

https://blockprovider-runner.cleverapps.io/block?config=https%3A//blockprovider-example.cleverapps.io/configurations&name=cms-block-provider-example-bitcoin@1.0.0&parameters=%3Fthreshold%3D1989

### Setup locally

```sh
npm install @ouest-france/blockprovider-runner --global
```

### Usage

Start server:

```sh
PORT=8080 blockprovider-runner
```

Let's consider your BlockProvider is running on `http://localhost:3000` (see our
[blockprovider-example](../blockprovider-example)) with two path :

* BlockProviderConfig is at : `http://localhost:3000/configurations`
* Block name to test `cms-block-provider-example-bitcoin` with configuration
  version `1.0.0`
* Accepting one parameter `?threshold=1989`

To debug it, open your browser:

```
http://localhost:8080/block?config=http%3A//localhost%3A3000/configurations&name=cms-block-provider-example-bitcoin@1.0.0&parameters=%3Fthreshold%3D1989
```
npm package: @ouest-france/schemas
Description: Ouest-France schema
Author: Francois-Guillaume Ribreau
Latest version: 2.1.0

# Ouest-France Platform Schemas

### Schemas

* **BlockConfig** [json-schema](BlockConfig.json)
  [unit test](BlockConfig.test.js)
* **BlockJSON** [json-schema](BlockJSON.json) [unit test](BlockJSON.test.js)

### Use inside your project

```
npm i @ouest-france/schemas --save
```

### Run tests

```
npm test
```

### Vendors management

* Update OpenAPI & json-schema schemas

```shell
npm run vendors:update
```
npm package: @ouest-france/validator-server
Description: Ouest-France/SIPA Platform - BlockProvider Validator
Author: Francois-Guillaume Ribreau
Latest version: 1.2.1

# Validator Server

## Use it online

Validator server is available at https://validator-server.cleverapps.io/

### Validate a BlockProviderConfig from a CI job

Let say we want to validate the configuration (BlockProviderConfig) of our
sample BlockProvider currently deployed at
https://blockprovider-example.cleverapps.io

We would use:

https://validator-server.cleverapps.io/validate?schema=https%3A%2F%2Fraw.githubusercontent.com%2FOuest-France%2Fplatform%2Fmaster%2Fpackages%2Fschemas%2FBlockProviderConfig.json&url=https://blockprovider-example.cleverapps.io/configurations

If it yields `HTTP 200` it passes, otherwise it does not and will display why.

### Validate a BlockProviderConfig from a CI job

Let say we want to validate our local BlockProvider
(`http://localhost:8081/configurations`) in our CI process (using
[jq.node](https://github.com/FGRibreau/jq.node/))

```
curl --silent https://validator-server.cleverapps.io/validate\?schema\=https%3A%2F%2Fraw.githubusercontent.com%2FOuest-France%2Fplatform%2Fmaster%2Fpackages%2Fschemas%2FBlockProviderConfig.json\&url\=http://localhost:8081/configurations | jqn -r process 'tap(console.log) | thru(x => process.exit(!!x.errors+0))'
```

This line will first print the validation output and then yield an exitcode=1 if the validation failed.

## Use it locally

```shell
npm install
npm start
```

### Use it locally (development)

```shell
npm install
npm run start:dev
```