open-index/open-npm huggingface dataset:
npm package: @kyvi/cobweb-vue2
Description: CRUD component
Author: kyvi
Latest version: 1.5.1

vue2+node12 蛛网组态软件。

## 使用教程：

### 1、安装依赖

```java
npm i @kyvi/cobweb-vue2，
```

### 2、引入 cobweb-vue2

```javascript
//main.js
import cobweb from "@kyvi/cobweb-vue2";
import "@kyvi/cobweb-vue2/lib/index.css";
Vue.use(cobweb);
window.axios = axios;
```
npm package: @kyw0716/woowacourse-scent-modal
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Author: kyw0716
Latest version: 0.0.6

# ScentModal 모달 라이브러리

context api를 사용해 간단한 모달을 구현할 수 있는 라이브러리 입니다.

<br/>

## 설치 방법

```sh
npm install @kyw0716/woowacourse-scent-modal
```

<br/>

## 구성

- ModalProvider
- useModalStateContext
- useModalActionContext
- BottomSheet

<br/>

## 사용 방법

<br/>

### ModalProvider 사용하기

```js
import { ModalProvider } from '@kyw0716/woowacourse-scent-modal';

function App() {
  return (
    <ModalProvider>
      <UsingModalComponent />
    </ModalProvider>
  );
}
```

<br/>

### BottomSheet 템플릿 불러오기

```js
import { BottomSheet } from '@kyw0716/woowacourse-scent-modal';
```

<br/>

### context 사용하기

```js
function UsingModalComponent() {
  const { isOpen } = useModalStateContext();
  const { openModal } = useModalActionContext();

  return (
    <>
      {isOpen && <BottomSheet>모달</BottomSheet>}
      <button onClick={openModal}>모달 열기</button>
    </>
  );
}
```

<img src="./modal-example.gif" style="width: 200px;"/>

<br/>
npm package: @kyzmat-vue/auth
Description: Библиотека аутентификации OAuth для Kyzmat (Vue 3 с поддержкой TypeScript)
Author: Kyzmat
Latest version: 1.2.8

# @kyzmat-vue/auth

### Описание

Библиотека аутентификации для Vue 3 с поддержкой TypeScript для платформы Kyzmat. Эта библиотека предоставляет функциональность OAuth аутентификации для приложений на Vue 3.

### Возможности

- Совместимость с Vue 3
- Поддержка TypeScript
- OAuth аутентификация
- Управление токенами через cookies
- Легковесность и простота интеграции

### Установка

```bash
npm install @kyzmat-vue/auth
```

### Быстрый старт

1. Инициализация библиотеки в main.ts/main.js:

```typescript
import { createApp } from "vue";
import { createAuth } from "@kyzmat-vue/auth";
import App from "./App.vue";

const app = createApp(App);

app.use(
  createAuth({
    clientId: "ваш-client-id",
    redirectUri: "http://localhost:3000/callback",
    apiUrl: "https://api.kyzmat.com",
  })
);

app.mount("#app");
```

2. Импорт стилей в main.ts/main.js:

```typescript
import "@kyzmat-vue/auth/dist/index.css";
```

### Компоненты

#### KyzmatButton

Предустановленный компонент кнопки для аутентификации:

```vue
<template>
  <KyzmatButton />
</template>
```

#### KyzmatCallback

Обработка OAuth callback. Можно использовать напрямую в Vue Router или как компонент:

В Vue Router:

```typescript
import { createRouter } from "vue-router";
import { KyzmatCallback } from "@kyzmat-vue/auth";

const router = createRouter({
  routes: [
    {
      path: "/callback",
      component: KyzmatCallback,
    },
  ],
});
```

Или напрямую в компоненте:

```vue
<template>
  <KyzmatCallback />
</template>
```

#### KyzmatGuard

Защита маршрутов, требующих аутентификации:

```vue
<template>
  <KyzmatGuard> <ВашЗащищенныйКомпонент /> </KyzmatGuard>
</template>
```

### Композаблы

#### useAuth

Основной композабл аутентификации:

```typescript
import { useAuth } from "@kyzmat-vue/auth";

const { login, logout, isAuthenticated } = useAuth();
```

#### useToken

Управление токенами:

```typescript
import { useToken } from "@kyzmat-vue/auth";

const { getToken, refreshToken } = useToken();
```

#### useUserState

Управление состоянием пользователя:

```typescript
import { useUserState } from "@kyzmat-vue/auth";

const { user, setUser, clearUser } = useUserState();
```

#### useKyzmatGuard

Функциональность защиты маршрутов:

```typescript
import { useKyzmatGuard } from "@kyzmat-vue/auth";

const { guard } = useKyzmatGuard();
```

### Лицензия

MIT
npm package: @kyzrfranz/jsonresume-terminal
Description: display your jsonresume in a terminal
Author: kyzrfranz
Latest version: 1.0.2

# \<jsonresume-terminal>

This webcomponent follows the [open-wc](https://github.com/open-wc/open-wc) recommendation.

## Installation

```bash
npm i jsonresume-terminal
```

## Usage

```html
<script type="module">
  import 'jsonresume-terminal/jsonresume-terminal.js';
</script>

<jsonresume-terminal></jsonresume-terminal>
```



## Tooling configs

For most of the tools, the configuration is in the `package.json` to minimize the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.

## Local Demo with `web-dev-server`

```bash
npm start
```

To run a local development server that serves the basic demo located in `demo/index.html`


## Resume Data
You can pass a `github-username` attribute to the component to fetch the resume data from github.
For that you must have a public gist with the name `resume.json` in your github account.

In that json you must have a valid jsonresume.
npm package: @kz-d/prisma-where-required
Description: Make certain fields required in where clause for Prisma
Author: kz-d
Latest version: 1.0.1

# prisma-where-required

## Overview
prisma-where-required is a utility that enforces certain fields to be mandatory in the 'where' clause when using Prisma. 
This tool was primarily created with multi-tenant systems or to perform a soft delete in mind.

This extension requires Prisma 4.0.0 or higher.


## Usage
1. `npm i @kz-d/prisma-where-required -D`

2. Add the following to your schema.prisma file:

```
generator where-required {
  provider = "prisma-where-required"
  nodeModulePath = "node_modules"
}
```

3. Add /// @where-required to the columns you want to make mandatory:

```
model User {
  id    Int     @id @default(autoincrement())
  name String
  organizationId Int  /// @where-required
}
```

4. `npx prisma generate`

After these steps, your code will display the following behaviour:

```
// @ts-expect-error args are required
prisma.user.findMany()

// @ts-expect-error where is required
prisma.user.findMany({})

// @ts-expect-error organizationId is required
prisma.user.findMany({where: {}})

// compile ok
prisma.user.findMany({where: {organizationId: 1}})
```

If you want to perform a search across all records for the mandatory field, you need to **explicitly specify undefined**:

```
prisma.user.findMany({
    where: { organizationId: undefined } // You can fetch all records by bypassing the organizationId.
})
```

## Caution
This implementation is somewhat forceful and the compatibility with future versions of Prisma is uncertain. In particular, using OR, AND, NOT or nested where clauses requires a very verbose and awkward writing style.  
Please exercise careful judgement when applying this to a production environment.

However, it's worth noting that this tool only impacts types, making it easy to opt-out if necessary.
npm package: @kzb/express-zod-endpoint
Description: Validation middleware for ExpressJs based on zod
Author: kozubskydmitry@gmail.com
Latest version: 0.0.1

# express-zod-endpoint

Validation middleware for ExpressJs based on zod.

## Usage

```ts
import { z } from 'zod';

router.post('/my/endpoint', authorization, endpoint({
  body: z.object({
    one: z.number().positive(),
    two: z.string().trim(),
  }),
  query: z.object({
    three: z.string().trim(),
  }),
}, async ({ body, query, res }) => {
  const { one, two } = body;
  console.log(one, two, query.three);
  return res.send({ result: 42 });
}));
```
npm package: @kzen-networks/tezos-thresh-wallet
Description: Tezos JavaScript API
Author: Oded Leiba
Latest version: 0.1.5

# Tezos Threshold Wallet

![npm](https://badge.fury.io/js/%40kzen-networks%2Ftezos-thresh-wallet.svg)

Tezos wallet and JS SDK powered by two-party EdDSA (Ed25519).

## Installation
1. If on Linux, install needed packages:
```sh
$ sudo apt-get update
$ sudo apt-get install libgmp3-dev pkg-config libssl-dev clang libclang-dev
```
2. Install [Node.js](https://nodejs.org/en/download/)<br>
(tested on Node 10)
3. Install [nightly Rust](https://github.com/rust-lang/rustup.rs#installation)<br>
(tested on rustc 1.38.0-nightly (0b680cfce 2019-07-09))
4. Install the package:
```sh
$ npm install @kzen-networks/tezos-thresh-wallet
```

## Usage
Server (acts as the co-signer in the two-party signing protocol):
```js
import { Ed25519Party1 } from '@kzen-networks/tezos-thresh-wallet';

new Ed25519Party1().launchServer();
```
Client:
```js
import TezClient, { Ed25519Party2, Ed25519Party2Share } from '@kzen-networks/tezos-thresh-wallet';
const client = new TezClient('http://127.0.0.1:8732');

const P1_SERVER_ENDPOINT = 'http://localhost:8000';
const party2 = new Ed25519Party2(P1_SERVER_ENDPOINT);

(async () => {
  await client.importEd25519Party2(party2);  // activates two-party key generation protocol
  const address = client.party2.publicKeyHash();
  console.log(address);
  // tz1csGALMvB6sh3KJyHAMYVYVMUaucBgBDw7

  /* Now you should deposit XTZ into this address */

  console.log(await client.getBalance(address));  // in mutez (1 XTZ = 1,000,000 mutez)
  // 982974

  const { hash } = await client.transfer({
    source: address,
    to: 'tz1YaqLFe8nywjCiAF1vK1U1yns69nPQoyg1',
    amount: 10000
  });
  console.log(hash);
  // ooebvSGroFp7bma7Gicx5s2GeDT2j69m5r8z2nUMMzogYASCBzX

})();
```

## Demo
You can also use a demo using the command line.<br>
Server:
```sh
$ demo/server
```
Client:
```sh
$ demo/client --help
Usage: client [options] [command]

Options:
  -h, --help                           output usage information

Commands:
  generate-address|a                   Generate a new Tezos address
  balance|b <address>                  Get the balance of a Tezos address
  transfer|t <from> <to> <xtz_amount>  Transfer XTZ
  delegate|d <from> <to>               Delegate account funds to a given delegator for staking
```

|![Transfer demo](https://raw.githubusercontent.com/KZen-networks/tezos-thresh-wallet/master/demo/tezos-tss-demo.gif "Tezos Threshold Wallet Demo")|
|:--:|

## Development
```sh
$ git clone https://github.com/KZen-networks/tezos-thresh-wallet
$ cd tezos-thresh-wallet
$ npm install
$ npm run build
```
Built files will be located in the `dist` folder.

## License
MIT

## Credits
This work is a fork extending the work of Andrew Kishino's [Sotez](https://github.com/AndrewKishino/sotez).
npm package: @kzfk52/cf-access-jwt
Description: Tiny lib for verifying Cloudflare Access JWTs.
Author: Kazuyuki FUKUDA
Latest version: 1.1.0

<p>
  <a href="https://badge.fury.io/js/@kzfk52%2Fcf-access-jwt"><img src="https://badgen.net/npm/v/@kzfk52/cf-access-jwt" alt="npm version" height="18"></a>
</p>

# cf-access-jwt

Tiny lib for decoding Cloudflare Access JWTs and verifying signatures, using
native crypto APIs.

Currently supports `alg:'RS256'` only.

```js
import { parseJwt } from '@kzfk52/cf-access-jwt';

const jwt = request.headers.get('Cf-Access-Jwt-Assertion');

// CloudFlare Zero Team id
const issuer = 'https://<your-team-name>.cloudflareaccess.com';
// CloudFlare Zero Access Application : Overview tab : Application Audience (AUD) Tag
const audience = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';

const result = await parseJwt(jwt, issuer, audience);
if (!result.valid) {
  console.log(result.reason); // Invalid issuer/audience, expired, etc
} else {
  console.log(result.payload); // { iss, sub, aud, iat, exp, ...claims }
}
```

Code shamelessly stolen from: https://github.com/cfworker/cfworker/