open-index/open-npm huggingface dataset:
npm package: @jopenz/milo-components
Description: ![image](https://user-images.githubusercontent.com/3481514/145904252-92e3dc1e-591f-410f-88a1-b4250f4ba6f2.png)
Latest version: 1.0.11

![image](https://user-images.githubusercontent.com/3481514/145904252-92e3dc1e-591f-410f-88a1-b4250f4ba6f2.png)

# getting started

```sh
npx create-expo-app --template expo-template-storybook AwesomeStorybook
```

or

```sh
yarn create expo-app --template expo-template-storybook AwesomeStorybook
```

# app


```sh
yarn start
```

# Ondevice    

In this template you can now run `yarn storybook` to start ondevice storybook or `yarn start` to start your expo app.
This works via env variables and expo constants.

```sh
# either
yarn storybook

# ios
yarn storybook:ios

# android
yarn storybook:android
```

If you add new stories on the native (ondevice version) you either need to have the watcher running or run the stories loader

To update the stories one time

```sh
yarn storybook-generate
```

To watch the stories files

```sh
yarn storybook-watch
```

Note that this is only necessary for when you add or remove a story file.

# Web

Start react native web storybook:

```
yarn storybook:web
```

build react native web storybook:

```sh
yarn build-storybook
```
npm package: @joph-auth/nd-aes-nodecrypto
Description: AES-GCM encryption with PBKDF2 derived keys using the NodeJS Crypto API
Author: Joe Bell
Latest version: 1.0.1

# @joph-auth/nd-aes-nodecrypto

`@joph-auth/nd-aes-nodecrypto` is a simple, no dependency, library for encrypting plaintext with 256 bit AES-GCM encryption
and PBKDF2 derived keys.

This package uses the [NodeJS crypto module](https://nodejs.org/api/crypto.html) 
and therefore can only be used in NodeJS where the crypto module is available.

For compatibility with the [web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API), 
you should use `@joph-auth/nd-aes-webcrypto` instead.

**Note: The web and node versions of this package are fully compatible with each other.**

**WARNING: This has been created solely for educational purposes and 
should not be used to encrypt sensitive data in real world applications.**

## Installing pre-built package

The package is published on npm and can be installed with

`npm install --save @joph-auth/nd-aes-nodecrypto`

or

`yarn add @joph-auth/nd-aes-nodecrypto`

The package contains 2 builds.
- `dist/lib-cjs` - Default - Built for CommonJS modules.
- `dist/lib-esm` - Built for ES2020 modules.

## Usage

### CommonJS
```javascript
const { encrypt, decrypt } = require('@joph-auth/nd-aes-nodecrypto');

async function example() {
  const cipher = await encrypt('plain text', 'password');
  console.log(cipher);

  const decrypted = await decrypt(cipher, 'password');
  console.log(decrypted);
}
```

### ES Modules
```javascript
import { encrypt, decrypt } from '@joph-auth/nd-aes-nodecrypto/dist/lib-esm';

async function example() {
  const cipher = await encrypt('plain text', 'password');
  console.log(cipher);

  const decrypted = await decrypt(cipher, 'password');
  console.log(decrypted);
}
```

### PBKDF2 iterations
It is possible to change the number of PBKDF2 iterations applied to the plaintext password.
The default is 10,000 iterations which is the minimum recommended by OWASP, however, this should be increased to the maximum possible whilst maintaining acceptable performance for your use case.

```javascript
async function example() {
    const cipher = await encrypt('plain text', 'password', 1000000);
    const decrypted = await decrypt(cipher, 'password', 1000000);
}
```

## Build from source
You can clone this repo and build manually.

Run `yarn` or `npm install` to install dev dependencies.

Scripts included in `package.json` are;
- `build:cjs` - Builds the library for CommonJS modules.
- `build:esm` - Builds the library for ES modules.
- `build` - Builds all of the above.
npm package: @joph-auth/nd-otp-webcrypto
Description: HOTP and TOTP token generation using the Web Crypto API
Author: Joe Bell
Latest version: 1.0.0

# @joph-auth/nd-otp-webcrypto

`@joph-auth/nd-otp-webcrypto` is a simple, no dependency, library for generating and verifying HOTP and TOTP tokens.

This package uses the [web crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) 
and therefore can only be used where `window.crypto` and `window.crypto.subtle` are available.

For compatibility with the [NodeJS Crypto module](https://nodejs.org/api/crypto.html), 
you should use `@joph-auth/nd-otp-nodecrypto` instead.

**Note: The web and node versions of this package are fully compatible with each other.**

**WARNING: This has been created solely for educational purposes and 
should not be used to encrypt sensitive data in real world applications.**

## Installing pre-built package

The package is published on npm and can be installed with

`npm install --save @joph-auth/nd-otp-webcrypto`

or

`yarn add @joph-auth/nd-otp-webcrypto`

The package contains 3 builds.
- `dist/lib-cjs` - Default - Built for CommonJS modules.
- `dist/lib-esm` - Built for ES2020 modules.
- `dist/web-bundle` - Bundled for direct use in browsers.

## Usage

### CommonJS
```javascript
const { genOtp, checkOtp } = require('@joph-auth/nd-otp-webcrypto');

async function example() {
  const base32Key = 'Q4CU IAEF WX36 N2AP LBGT K7CI MLDG DBHJ';
    const otp = await genOtp(base32Key);
    console.log(otp);

  // TODO: checkOtp
}
```

### ES Modules
```javascript
import { genOtp, checkOtp } from '@joph-auth/nd-otp-webcrypto/dist/lib-esm';

async function example() {
  const base32Key = 'Q4CU IAEF WX36 N2AP LBGT K7CI MLDG DBHJ';
  const otp = await genOtp(base32Key);
  console.log(otp);

  //TODO: checkOtp
}
```

### Web Bundle
For the web bundle simply copy the `dist/web-bundle/nd-otp.min.js` and `dist/web-bundle/nd-otp.min.js.map` files to your project and load in a script element.

This will instantiate the `window.ndOtp` object.
```html
<html>
  <head>
    <title>No Dependency OTP Tokens</title>
  </head>
  <body>
    <script src="path/to/nd-otp.min.js"></script>
    <script>
        const base32Key = 'Q4CU IAEF WX36 N2AP LBGT K7CI MLDG DBHJ';
        ndOtp.genOtp(base32Key).then(otp => {
          console.log(otp);
        });

        //TODO: checkOtp

    </script>
  </body>
</html>
```

## Build from source
You can clone this repo and build manually.

Run `yarn` or `npm install` to install dev dependencies.

Scripts included in `package.json` are;
- `build:cjs` - Builds the library for CommonJS modules.
- `build:esm` - Builds the library for ES modules.
- `build:web` - Builds the un-minified web bundle.
- `build:web:min` - Builds the minified web bundle.
- `build` - Builds all of the above.
npm package: @jopi-loader/tools
Description: Tools for jopi-loader
Latest version: 1.0.35

# Jopi Loader

## What is it?

It's a loader, which allows custom imports for types for node.js and bun.js. His main goal is allowing doing React SSR (server side)
with a high libary compatibility.

* For Node.js and bun.js, it allows:
  * Importing css module `import style from "style.module.css`.
  * Importing scss module `import style from "style.module.scss`.

* For Node.js, it allows:
  * Importing CSS, images, font.
  * When imported the value returned is the full path to the resource.
  * Ex: `import cssFilePath from "my-style.css"`.

It's also export a module for EsBuild, to enable css-modules.

## How to use?

See documentation for `jopin` tool, which automatic things [link](https://github.com/johanpiquet/jopin).