open-index/open-npm huggingface dataset:
npm package: @kylegl/unstorage-s3-iam-driver
Description: A custom Unstorage driver for AWS S3.
Author: Kyle Lauber
Latest version: 0.6.0

# unstorage-s3-driver

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
[![License][license-src]][license-href]

_description_



## License

[MIT](./LICENSE) License © [Kyle Lauber](https://github.com/kylegl)

<!-- Badges -->

[npm-version-src]: https://img.shields.io/npm/v/unstorage-s3-driver?style=flat&colorA=080f12&colorB=1fa669
[npm-version-href]: https://npmjs.com/package/unstorage-s3-driver
[npm-downloads-src]: https://img.shields.io/npm/dm/unstorage-s3-driver?style=flat&colorA=080f12&colorB=1fa669
[npm-downloads-href]: https://npmjs.com/package/unstorage-s3-driver
[bundle-src]: https://img.shields.io/bundlephobia/minzip/unstorage-s3-driver?style=flat&colorA=080f12&colorB=1fa669&label=minzip
[bundle-href]: https://bundlephobia.com/result?p=unstorage-s3-driver
[license-src]: https://img.shields.io/github/license/kylegl/unstorage-s3-driver.svg?style=flat&colorA=080f12&colorB=1fa669
[license-href]: https://github.com/kylegl/unstorage-s3-driver/blob/main/LICENSE
[jsdocs-src]: https://img.shields.io/badge/jsdocs-reference-080f12?style=flat&colorA=080f12&colorB=1fa669
[jsdocs-href]: https://www.jsdocs.io/package/unstorage-s3-driver
npm package: @kylegl/vue-hooks-form-core
Description: Vue Composition API for validating form.
Author: Elone Hoo
Latest version: 0.0.15-beta.1

# @vue-hooks-form/core

<a href="https://www.npmjs.com/package/@vue-hooks-form/core"><img src="https://img.shields.io/npm/v/@vue-hooks-form/core?color=43B36B&label="></a>

Inspired by <a href="https://github.com/react-hook-form/react-hook-form">react-hook-form</a>, if you love react-hook-form usage, come on and try it!

[GitHub](https://github.com/elonehoo/vue-hooks-form)
npm package: @kylegl/vue-hooks-form-monorepo
Description: Vue Composition API for validating form.
Author: Elone Hoo
Latest version: 0.0.15-beta.0

<div align="center">
  <img src="./public/logo.svg" wigth='100px' height='100px' />
</div>

<h1 align="center">
  vue-hooks-form
</h1>

 <p align="center">
Inspired by <a href="https://github.com/react-hook-form/react-hook-form">react-hook-form</a>, if you love react-hook-form usage, come on and try it!
<p>

<p align="center">
  <a href="https://www.npmjs.com/package/@vue-hooks-form/core"><img src="https://img.shields.io/npm/v/@vue-hooks-form/core?color=43B36B&label="></a>
</p>

<p align="center">
 <a href="https://form.elonehoo.me">Documentation</a> | <a href="https://form.elonehoo.me/guide/">Getting Started</a> | <a href="https://stackblitz.com/edit/vue-hooks-form?file=src/App.vue">Playground</a>
</p>

<br>
<br>

## Features

- Type Strong: Written in TypeScript
- No Component: No need to import any components to use, you can use it in all UI framework
- Easy to use: Just 1 main hooks: useForm

```vue
<script setup lang="ts">
import { useForm } from '@vue-hooks-form/core'
interface Inputs {
  username: string
}
const {
  register,
  formState: { errors },
  handleSubmit,
} = useForm<Inputs>()
</script>

<template>
  errors: {{ errors }}
  <form @submit.prevent="handleSubmit()()">
    <input
      :="register('username', {
        required: 'username field cannot be empty!'
      })"
    >
    <button type="submit">
      submit
    </button>
  </form>
</template>
```

## Credits

Thanks to:

- [react-hook-form](https://github.com/react-hook-form/react-hook-form)
- [vue-use-form](https://github.com/vue-use-form/vue-use-form)

## License

[MIT](./LICENSE) License © 2023-Present [Elone Hoo](https://github.com/elonehoo)
npm package: @kylegl/vue-hooks-form-zod
Description: zod resolver for vue-hooks-form
Author: Elone Hoo
Latest version: 0.0.15-beta.1

# @vue-hooks-form/zod

<a href="https://www.npmjs.com/package/@vue-hooks-form/zod"><img src="https://img.shields.io/npm/v/@vue-hooks-form/zod?color=43B36B&label="></a>

Inspired by <a href="https://github.com/react-hook-form/react-hook-form">react-hook-form</a>, if you love react-hook-form usage, come on and try it!

[GitHub](https://github.com/elonehoo/vue-hooks-form)
npm package: @kylegl/vueform
Description: Register global imports on demand for Vite and Webpack
Latest version: 0.1.3

# vueform

[![NPM version](https://img.shields.io/npm/v/vueform?color=a1b858&label=)](https://www.npmjs.com/package/vueform)

Starter template for [unplugin](https://github.com/unjs/unplugin).

## Template Usage

To use this template, clone it down using:

```bash
npx degit antfu/vueform my-unplugin
```

And do a global replace of `vueform` with your plugin name.

Then you can start developing your unplugin 🔥

To test your plugin, run: `pnpm run dev`
To release a new version, run: `pnpm run release`

## Install

```bash
npm i vueform
```

<details>
<summary>Vite</summary><br>

```ts
// vite.config.ts
import Starter from "vueform/vite";

export default defineConfig({
  plugins: [
    Starter({
      /* options */
    }),
  ],
});
```

Example: [`playground/`](./playground/)

<br></details>

<details>
<summary>Rollup</summary><br>

```ts
// rollup.config.js
import Starter from "vueform/rollup";

export default {
  plugins: [
    Starter({
      /* options */
    }),
  ],
};
```

<br></details>

<details>
<summary>Webpack</summary><br>

```ts
// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require("vueform/webpack")({
      /* options */
    }),
  ],
};
```

<br></details>

<details>
<summary>Nuxt</summary><br>

```ts
// nuxt.config.js
export default {
  buildModules: [
    [
      "vueform/nuxt",
      {
        /* options */
      },
    ],
  ],
};
```

> This module works for both Nuxt 2 and [Nuxt Vite](https://github.com/nuxt/vite)

<br></details>

<details>
<summary>Vue CLI</summary><br>

```ts
// vue.config.js
module.exports = {
  configureWebpack: {
    plugins: [
      require("vueform/webpack")({
        /* options */
      }),
    ],
  },
};
```

<br></details>

<details>
<summary>esbuild</summary><br>

```ts
// esbuild.config.js
import { build } from "esbuild";
import Starter from "vueform/esbuild";

build({
  plugins: [Starter()],
});
```

<br></details>
npm package: @kylehue/drawer
Description: Drawer is a front-end library for creating dynamic file explorers.
Latest version: 2.2.1

# Drawer

> Drawer is a front-end library for creating dynamic file explorers.

![Sample Drawer](https://raw.githubusercontent.com/kylehue/drawer/main/public/sample.jpg)

### Install
**NPM:**
```bash
npm install @kylehue/drawer
```
**CDN:**
```html
<!-- CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@kylehue/drawer/build/styles/style.css">
<!-- JS -->
<script src="https://cdn.jsdelivr.net/npm/@kylehue/drawer/browser/Drawer.js"></script>
```

### Usage
```ts
import { Drawer } from "@kylehue/drawer";

const drawer = new Drawer({
   /* ...options */
});

const root = drawer.initRoot(document.querySelector("#drawer"));

// Adding items
root.add("src/classes/comps/sample.txt");

// Deleting items
root.delete("/src/classes/comps");

// Moving items
root.get("src/classes")?.move("/");

// Listen on item add
drawer.onDidAddItem((desc) => {
   console.log(desc.item.source + " has been added!");
});

// Listen on error
drawer.onError((error) => {
   console.error(error.reason);
});
```

### Styling
Here are some of the styles that can be customized.

| Class name                    | Description                           |
| ----------------------------- | ------------------------------------- |
| `.drawer-folder`              | Container of folder item              |
| `.drawer-folder-head`         | Folder header container               |
| `.drawer-folder-icon`         | Folder icon                           |
| `.drawer-folder-icon-chevron` | Folder arrow icon                     |
| `.drawer-file`                | Container of file item                |
| `.drawer-file-icon`           | File icon                             |
| `.drawer-indent-guide`        | Vertical lines beside the folder tree |
| `.drawer-drop-target`         | Current location of item on drag      |
| `.drawer-drag-label`          | The item that is being dragged        |
| `.drawer-item-focused`        | Selected item                         |
npm package: @kylejacobbutler/moment-timezone-locale
Description: Moment with Timezone and Locale bundled together.
Author: Kyle Jacob Jutler
Latest version: 1.0.18
Deprecated: false

# moment-timezone-locale

[momentjs](https://github.com/moment/moment) with locales and timezone bundled.
 ES6 compatabile.

## Installation

```
npm i moment-timezone-locale
```
```
jspm i npm:moment-timezone-locale
```

## Usage

```javascript
import moment from 'moment-timezone-locale';

console.log( moment.fromNow() );
console.log( moment.locale() );
console.log( moment.tz() );

```
npm package: @kylejlin/option
Description: Inspired by Rust's Option.
Author: Kyle Lin
Latest version: 2.0.1
Deprecated: Use rusty-ts instead.

# Option

[![Build Status](https://travis-ci.com/kylejlin/option.svg?branch=master)](https://travis-ci.com/kylejlin/option)
[![Coverage Status](https://coveralls.io/repos/github/kylejlin/option/badge.svg?branch=master)](https://coveralls.io/github/kylejlin/option?branch=master)
[![npm version](https://badge.fury.io/js/%40kylejlin%2Foption.svg)](https://www.npmjs.com/package/@kylejlin/option)
[![Downloads](https://img.shields.io/npm/dm/%40kylejlin%2Foption.svg)](https://www.npmjs.com/package/@kylejlin/option)

A [Rust-inspired](https://doc.rust-lang.org/std/option/enum.Option.html) `Option` type for TypeScript.

## DEPRECATION NOTICE

This package has been deprecated.

Use [`rusty-ts`](https://www.npmjs.com/package/rusty-ts) instead.

## Usage

```bash
npm install --save @kylejlin/option
```

```ts
import { Option, option } from "@kylejlin/option";

const a = option.some("foo");
const b = a.map(x => x.toUpperCase());

const c = option.some(3);
const d = a.andThen(a => c.map(c => a.repeat(c)));

function f(opt: Option<string>) {
  console.log(opt.unwrap());
}

// Logs "FOOFOOFOO"
f(d);
```

### Why `Option` _and_ `option`?

`Option` is just an interface—any `Option`-compatible code you write will be compatible with any implementation of `Option`.
This gives you the flexibility to implement `Option` however you like.

However, you probably don't want to write your own implementation, so we provide you with one out-of-the-box via the `option` factory object.
To instantiate a Some or None variant, simply call `option.some()` or `option.none()`, respectively.

## API Docs

Docs can be found [here](https://kylejlin.github.io/option/).

## Caveats

### Forgetting to import `Option` in a browser environment

_Note: You only have to worry about the following section if your tsconfig's `lib` includes `"dom"`._

If you reference `Option` but forget to import it from this package, this will likely be a silent error instead of the expected `Cannot find name 'Option'. (2304)`. This is because the browser declares [an `Option` constructor](https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement/Option) as part of its DOM API.
npm package: @kylejlin/react-scripts-web-workers
Description: Kyle Lin's Configuration and scripts for Create React App.
Latest version: 3.1.0

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @kylejlin/simple-ecs
Description: A simple entity-component-system setup.
Author: Kyle Lin
Latest version: 3.1.0

# simple-ecs
A simple entity-component-system setup.

## Usage example
```bash
npm install --save @kylejlin/simple-ecs
```

`components.js`
```javascript
class Hero {
  constructor() {
    this.health = 100;
    this.ammunition = 0;
  }
}

class Position {
  constructor(x, y, z) {
    this.x = x;
    this.y = y;
    this.z = z;
  }
}

class Velocity {
  constructor(x, y, z) {
    this.x = x;
    this.y = y;
    this.z = z;
  }
}

export {
  Hero,
  Position,
  Velocity,
};
```

`index.js`
```javascript
import { World } from '@kylejlin/simple-ecs';
import * as components from './components';

const world = new World(components);
const { Entity, Components, System } = world;
const { Hero, Position, Velocity } = Components;

const bob = new Entity();
world.addEntity(bob);
bob.addComponent(new Hero());
bob.addComponent(new Position(0, 0, 0));
bob.addComponent(new Velocity(0, 0, 0));

const motion = new System((dt, forEach) => {
  forEach([Position, Velocity], (entity) => {
    const position = entity.getComponent(Position);
    const velocity = entity.getComponent(Velocity);

    position.x += velocity.x;
    position.y += velocity.y;
    position.z += velocity.z;
  });
});
world.addSystem(motion);

let then = Date.now();
const gameLoop = () => {
  requestAnimationFrame(render);

  const now = Date.now();
  const dt = now - then;
  then = now;

  world.update(dt);
};
gameLoop();
```

Note: this library is not transpiled.
If you plan to support older browsers, you'll have to set up Babel (or whatever transpiler choose) yourself.

## Docs
Since most of the methods are self-explanatory, I decided to provide my docs in the form of stubbed-out Javascript with occasional comments.
```javascript
class World {
  constructor() {}

  update(data) {}

  addEntity(entity) {}

  addSystem(system) {}

  removeEntity(entity) {}

  removeSystem(system) {}

  forEach(componentConstructors, fn) {}
}
```

```javascript
class Entity {
  addComponent(component) {}

  getComponent(componentConstructor) {}

  removeComponent(componentConstructor) {}

  // Removes self from world.
  removeSelf(world) {}

  // Returns true if and only if it has all the components specified.
  hasAll(componentConstructors) {}
}
```

```javascript
class System {
  // updateFn is a callback that takes two arguments:
  //    0. data
  //    1. world
  constructor(updateFn) {}

  // You usually won't call this yourself.
  // It gets called internally by World.prototype.update().
  update(data, world) {}
}
```
npm package: @kylejlin/tyson
Description: A tool that generates a TypeScript file from your Jison grammar's semantic actions so you can typecheck those semantic actions.
Author: Kyle Lin
Latest version: 1.2.0
Deprecated: The package @kylejlin/tyson has been deprecated in favor of tyson (https://www.npmjs.com/package/tyson)

# Tyson

[![Build Status](https://travis-ci.com/kylejlin/tyson.svg?branch=master)](https://travis-ci.com/kylejlin/tyson)
[![Coverage Status](https://coveralls.io/repos/github/kylejlin/tyson/badge.svg?branch=master)](https://coveralls.io/github/kylejlin/tyson?branch=master)
[![npm version](https://badge.fury.io/js/%40kylejlin%2Ftyson.svg)](https://www.npmjs.com/package/@kylejlin/tyson)
[![Downloads](https://img.shields.io/npm/dm/%40kylejlin%2Ftyson.svg)](https://www.npmjs.com/package/@kylejlin/tyson)

A tool that generates a TypeScript file from your Jison grammar's semantic actions so the TypeScript compiler will check those semantic actions for errors.

## Motivation

TypeScript does not examine `.jison` files, so any errors in your semantic action code will not be caught by the compiler.
Tyson generates a TypeScript file containing your semantic action code, so TypeScript can check your semantic actions for errors.

## Usage

Tyson provides both a CLI and a Node API.

### CLI

```sh
npx @kylejlin/tyson -- ./grammar.jison ./src/typedict.ts --out ./src/generated/semanticActions.generated.ts
```

For more information, please refer to the [CLI docs](./docs/cli.md).

### Node API

```sh
npm install --save @kylejlin/tyson
```

```ts
import { generateTypeScriptFile } from "@kylejlin/tyson";

generateTypeScriptFile({
    pathToBnfGrammarFile: /* ... */,
    pathToTypeDictFile: /* ... */,
    pathToOutputFile: /* ... */,
});
```

For more information, please refer to the [Node API docs](./docs/nodeApi.md).

## License

MIT

Copyright (c) 2020 Kyle Lin

## Contributing

Please refer to [docs/CONTRIBUTING.md](./docs/CONTRIBUTING.md).
npm package: @kylekatarnls/node-sass-tilde-importer
Description: A node-sass custom importer which turns ~ into absolute paths to the nearest parent node_modules directory.
Author: Matthew Davidson
Latest version: 1.1.0

# node-sass-tilde-importer

> A node-sass custom importer which turns ~ into absolute paths to the nearest parent node_modules directory.

[![Build Status](https://travis-ci.org/matthewdavidson/node-sass-tilde-importer.svg?branch=master)](https://travis-ci.org/matthewdavidson/node-sass-tilde-importer)
[![npm version](https://badge.fury.io/js/node-sass-tilde-importer.svg)](http://badge.fury.io/js/node-sass-tilde-importer)

## Install

```sh
npm install node-sass-tilde-importer --save-dev
```

## Usage

```js
var sass = require('node-sass');
var tildeImporter = require('node-sass-tilde-importer');

var result = sass.renderSync({
  data: scss_content,
  importer: tildeImporter
});
```

`node-sass` cli example:
```sh
node-sass style.scss --importer=node_modules/node-sass-tilde-importer
```

Please refer to the node-sass [readme](https://github.com/sass/node-sass#readme) for full instruction on how to use custom importers.