open-index/open-npm huggingface dataset:
npm package: @roziana/commom-ds
Latest version: 1.4.2


# ✨ Teddy Commom DS: Cross-Platform Design System ✨


Benefícios de utilizar um monorepo:
 - Código e visibilidade compartilhados
 - Mudanças atômicas
 - Uso de diferentes ferramentas e tecnologias
 - Conjunto único de dependências
 
[Nx - Gerenciador de Monorepos](https://www.npmjs.com/package/nx)

    npm i nx
    npx nx graph
![Visualização do Monorepo](https://amplified-iris-73c.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F99eb03c8-a238-4594-9f39-9e1991a92a0e%2Fb2c0dec2-f894-4a4d-b608-a30377d8cce8%2FUntitled.png?table=block&id=6ebcaa22-e682-4ac4-ae54-f2a19014fb43&spaceId=99eb03c8-a238-4594-9f39-9e1991a92a0e&width=1380&userId=&cache=v2) 

### Definindo o workspace com o Nx    
   

    --criando um workspace
	    npx --ignore-existing create-nx-workspace teddy-ds --preset=empty

    --criação dos projetos: libs, apps, etc
	    nx g @nx/angular:library teddy-ds-angular --directory libs/teddy-ds-angular
	    nx g @nx/react:library teddy-ds-react --directory libs/teddy-ds-react

	--instalando storybook
		nx g @nx/react:storybook-configuration teddy-ds-react
		nx g @nx/angular:storybook-configuration teddy-ds-angular
		
	    nx run teddy-ds-react:storybook

    
   
   ## Estrutura do projeto
    teddy-ds
    ├── libs                              
    │    ├── shared    
    │    	└── design-tokens
    │    	└── types
    │    └── teddy-ds-angular
    │    └── teddy-ds-react
       
	 
## Utilizando a lib
**Instalação:**

    npm i @roziana/commom-ds

**No seu projeto:
React**

    <Button
       size="small"
       title="Login"
     />

**Angular**

    <lib-teddy-ds-button [size]="'large'"></lib-teddy-ds-button>

### Considerações
  - Pontos positivos:
      - Conseguimos ter projetos separados mantendo as tecnologias que já são utilizadas e podendo reaproveitar as libs já existentes;
      - Estilizações em um só lugar;

  - Pontos negativos:
      - A lib como um todo pode se tornar um pouco "pesada" por conter as dependencias de todos os projetos;
      - Alterações feitas devem levar em consideração ambos os projetos;
npm package: @roziscoding/grammy-autoquote
Description: Unnoficial grammY plugin that automatically quotes user messages
Author: Roz
Latest version: 2.0.9

# Auto quote plugin for grammY

This plugin provides a convenient way to quote the user's message when replying to them.

## How does it work

This plugin works by setting `reply_to_message_id` param to the value of `ctx.msg.message_id` for every API method that starts with `send` (except for `sendChatAction`).

## Usage

### Reply Parameters

The plugin supports specifying the `allow_send_without_reply` parameter, which will allow the bot to send messages without quoting the user's message. To do so, just pass an object to the plugin initializer like so:

```ts
autoQuote({ allowSendingWithoutReply: true });
```

### For a single context

```ts
import { Bot } from "grammy";
import { addReplyParam } from "@roz/grammy-autoquote";

const bot = new Bot("");

bot.command("demo", async (ctx) => {
  ctx.api.config.use(addReplyParam(ctx));
  // ctx.api.config.use(addReplyParam(ctx, { allowSendingWithoutReply: true }));

  ctx.reply("Demo command!"); // This will quote the user's message
});

bot.start();
```

### For every context

```ts
import { Bot } from "grammy";
import { autoQuote } from "@roz/grammy-autoquote";

const bot = new Bot("");

bot.use(autoQuote());
// bot.use(autoQuote({ allowSendingWithoutReply: true }));

bot.command("demo", async (ctx) => {
  ctx.reply("Demo command!"); // This will quote the user's message
});

bot.command("hello", async (ctx) => {
  ctx.reply("Hi there :)"); // Also quotes the user's message
});

bot.start();
```
npm package: @rozlib/eslint-config-collection
Description: Shared eslint configurations
Author: Matthew Zito
Latest version: 0.0.16

# @rozlib/eslint-config
https://github.com/exbotanical/eslint-config

Extensible eslint configurations for the punctilious developer.

## Packages

- `all` Aggregate of Vue, React, and Typescript-specific rulesets.
- `base` Base configuration with rulesets for markdown, yaml, json, package.json, and code.
- `javascript` Extension of `base` for JavaScript codebases.
- `react` React TypeScript rulesets. Additionally includes Cypress and accessibility rulesets.
- `typescript` TypeScript rulesets.
- `vue` Vue TypeScript rulesets. Additionally includes Cypress and accessibility rulesets.

## Usage

In .eslintrc,

```json
{
  "extends": ["@rozlib"]
}
```

Base

```bash
pnpm add -D @rozlib/eslint-config-base
```

```json
{
  "extends": ["@rozlib/base"]
}
```

Javascript

```bash
pnpm add -D @rozlib/eslint-config-javascript
```

```json
{
  "extends": ["@rozlib/javascript"]
}
```

React

```bash
pnpm add -D @rozlib/eslint-config-react
```

```json
{
  "extends": ["@rozlib/react"]
}
```

TypeScript

```bash
pnpm add -D @rozlib/eslint-config-typescript
```

```json
{
  "extends": ["@rozlib/typescript"]
}
```

Vue

```bash
pnpm add -D @rozlib/eslint-config-vue
```

```json
{
  "extends": ["@rozlib/vue"]
}
```
npm package: @rozlib/prettier-config
Description: Shared prettier configurations
Author: Matthew Zito
Latest version: 0.0.18

# @magister_zito/prettier-config
https://github.com/exbotanical/prettier-config

Extensible prettier configurations for the punctilious developer.

## Usage

```bash
pnpm add -D @magister_zito/prettier-config
```

In package.json:

```json
{
  "prettier": "@magister_zito/prettier-config"
}
```

In .prettierrc:

```json
"@magister_zito/prettier-config"
```

Extending .prettierignore:

```bash
prettier . --write --ignore-path node_modules/@magister_zito/prettier-config/.prettierignore
```
npm package: @rozoai/deeplink-react
Description: React component for scanning QR codes
Latest version: 1.1.4

# @rozoai/deeplink-react

A React component for scanning QR codes and parsing them with `@rozoai/deeplink-core`.

## Installation

```bash
pnpm add @rozoai/deeplink-react @rozoai/deeplink-core
```

## Usage

```tsx
import { useState } from "react";
import { ScanQr } from "@rozoai/deeplink-react";
import { type DeeplinkData } from "@rozoai/deeplink-core";

function MyComponent() {
  const [isScannerOpen, setScannerOpen] = useState(false);

  const handleScanSuccess = (data: DeeplinkData) => {
    console.log("Scanned data:", data);
    setScannerOpen(false);
  };

  const handleScanError = (error: Error) => {
    console.error("Scan error:", error);
    setScannerOpen(false);
  };

  return (
    <div>
      <button onClick={() => setScannerOpen(true)}>Scan QR Code</button>
      <ScanQr
        isOpen={isScannerOpen}
        onClose={() => setScannerOpen(false)}
        onScan={handleScanSuccess}
        onError={handleScanError}
      />
    </div>
  );
}
```

## Props

- `isOpen` (boolean): Controls the visibility of the scanner modal.
- `onClose` (() => void): Callback function invoked when the scanner modal is requested to be closed.
- `onScan` ((data: DeeplinkData) => void): Callback function invoked when a QR code is successfully scanned and parsed.
- `onError` ((error: Error) => void): Callback function invoked when an error occurs during scanning or parsing.

---

## Related Packages

- **[@rozoai/deeplink-core](../core)**: The core library for parsing deeplinks from various blockchain and payment protocols.
- **[Demo Application](../../apps/demo)**: A Next.js application demonstrating the usage of `@rozoai/deeplink-core` and `@rozoai/deeplink-react`.
npm package: @rozzy/vue-datagrid
Description: Data grid component for Vue 3
Author: Mihály Rozovits
Latest version: 0.1.21


# VUE3 Data Grid
This project is an attempt to have a lightweight data grid component that is easy to configure to your application's needs

![image](https://user-images.githubusercontent.com/617600/233993154-0aee5392-77b4-437a-8405-371536653df6.png)

I'd be happy to get feature requests, improvement ideas, but please keep in mind that this is a weekend project of mine. If you're a developer and can work your way through the code, fix what you want, and create a pull request.

## Live Demo
Check out he main features at [the demo site](https://vue-datagrid-examples.netlify.app)

## Usage 
### General
Add the package to yout app and include the source files you need, like

    import { GridColumnDefinition } from  '@rozzy/vue-datagrid/src/GridColumnDefinition';
	import { GridRowCommandDefinition, type  IGridRowCommandDefinition } from  '@rozzy/vue-datagrid/src/GridCommandDefinition';

### Dependencies
The project is mainly using Bulma as the CSS library, but you can define which CSS classes are applied to each type of element. For this, you'll have to pass a `GridStyleDefinition` object when defining the grid

The example code is using SCSS styles, so you'll need _sass_ to compile them

Obviously Vue3 is needed as the name suggests

## Examples
There are a lot of examples under the `examples` directory.
To check them out you need to run

```sh
npm install
```
then 

```sh
npm run dev
```
npm package: @rp-pedraza/koa-proxy
Description: Proxy middleware for koa
Author: R.P. Pedraza
Latest version: 1.0.0-alpha.3.0.6

# koa-proxy [![Build Status](https://github.com/rp-pedraza/koa-proxy/actions/workflows/node.js.yml/badge.svg)](https://github.com/rp-pedraza/koa-proxy/actions/workflows/node.js.yml)

Proxy middleware for koa

---

## Install

```
$ npm install koa-proxy -S
```

## Usage

When you request http://localhost:3000/index.js, it will fetch http://alicdn.com/index.js and return.

```js
var koa = require('koa');
var proxy = require('koa-proxy');
var app = koa();
app.use(proxy({
  host: 'http://alicdn.com'
}));
app.listen(3000);
```

You can proxy a specified url.

```js
app.get('index.js', proxy({
  url: 'http://alicdn.com/index.js'
}));
```

You can specify a key/value object that can map your request's path to the other.

```js
app.get('index.js', proxy({
  host: 'http://alicdn.com',
  map: {
    'index.js': 'index-1.js'
  }
}));
```

You can specify a function that can map your request's path to the desired destination.

```js
app.get('index.js', proxy({
  host: 'http://alicdn.com',
  map(path) {
    return 'public/' + path;
  }
}));
```

You can specify match criteria to restrict proxy calls to a given path.

```js
app.use(proxy({
  host:  'http://alicdn.com', // proxy alicdn.com...
  match: /^\/static\//        // ...just the /static folder
}));
```

Or you can use match to exclude a specific path.

```js
app.use(proxy({
  host:  'http://alicdn.com',     // proxy alicdn.com...
  match: /^(?!\/dontproxy\.html)/ // ...everything except /dontproxy.html
}));
```

A function can also be created instead.

```js
app.use(proxy({
  host:  'http://alicdn.com',     // proxy alicdn.com...
  match(path) {
    return !path.match("/dontproxy.html"); // ...everything except /dontproxy.html
  }
}));
```

You can configure proxy to remember cookies for future use by setting `jar = true`. This means cookies set by server will be stored and resent in subsequent requests. For me info see the documentation for [request](https://github.com/request/request).

```js
app.use(proxy({
  jar: true,
}));
```

Proxy won't send 'foo' and 'bar' headers to real server, or recieve 'jar-jar' from real server.

```js
app.use(proxy({
  suppressRequestHeaders: ['foo','bar'], // case-insensitive
  suppressResponseHeaders: ['jar-jar'] // case-insensitive
}));
```

You can also add new headers to your response or override existing ones
```js
app.use(proxy({
  overrideResponseHeaders: {
    "cow": "moo",
    "duck": "quack"
    },
}));
```