open-index/open-npm huggingface dataset:
npm package: @nascentdigital/create-e2e-tests
Description: CLI for easily bootstrapping modern E2E tests.
Author: Simeon de Dios
Latest version: 2.1.0

# create-e2e-tests

> CLI for easily creating end-to-end test projects using WebdriverIO and Nascent extensions.


## Features

- Easy-to-use CLI
- Uses [WebdriverIO](https://webdriver.io/) for flexible and extensible testing
- Optional support for TypeScript


## Install globally

This package should be used with `node >= 8`.

```bash
npm install -g @nascentdigital/create-e2e-tests
```

## Usage with npx

```bash
npx @nascentdigital/create-e2e-tests
```

_([npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b) comes with npm 5.2+ and 
higher, see [instructions for older npm versions](https://gist.github.com/gaearon/4064d3c23a77c74a3614c498a8bb1c5f))_


## Creating a New Project

```bash
create-e2e-tests
```

Answer some basic prompts about your E2E test project, and then the CLI will perform the following steps:
- copy over the template
- install dependencies via yarn or npm
- initialize local git repo


## Development

TODO


## License

MIT © [Nascent Digital](https://github.com/nascentdigital)
npm package: @nascentdigital/errors
Description: A reusable set of Javascript / Typescript errors for browser and node applications.
Author: Simeon de Dios
Latest version: 1.2.1

# Errors
> A set of Typescript and Javascript `Error` subclasses to simplify strongly typed (or prototyped)
application error handling.

[![NPM](https://img.shields.io/npm/v/@nascentdigital/errors.svg)](https://www.npmjs.com/package/@nascentdigital/errors)

## Features

- Provides a reusable set of common `Error` subclasses that can be leveraged for convenience.
- Simple base class that you can just extend for your own custom errros.
- Maintains the proper prototype chain so that your custom errors show up correctly in a stacktrace.
- Javascript support in Node.js and browsers.
- Typescript 3 support.


## Installation

```sh
$ npm i -s @nascentdigital/errors
```


## Usage

### Leveraging existing errors

Just import the errors that you need and start throwing!

```javascript
import {ArgumentError} from "@nascentdigtal/errors";

function failure(expected) {

    // validate arguments
    if (!expected) {
        throw new ArgumentError("expected");
    }

    // ...
}
```

### Creating custom errors

Creating your own custom errors is just as easy.
Simply extend the base `RuntimeError`, ensuring you call the base method.

```javascript
import {RuntimeError} from "@nascentdigtal/errors";

// define simple error (hands free)
export class SimpleError extends RuntimeError {}

// define complex error
export class ComplexError extends RuntimeError {

    constructor(message, value) {

        // call base constructor (does the heavy lifting)
        super(message);

        // do your stuff
        this.value = value;
    }
}

function deathwish() {
    throw new ComplexError("This isn't smart", -1);
}
```
npm package: @nascentdigital/lattice
Description: Utility classes for responsive JS web development.
Author: Simeon de Dios
Latest version: 1.3.2

# react-lattice

> A set of flexible React components that simplify responsive web development.

[![NPM](https://img.shields.io/npm/v/react-lattice.svg)](https://www.npmjs.com/package/react-lattice) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm i -s @nascentdigital/react-lattice
```

## Usage

```tsx
// imports
import * as React from "react";
import {createGrid} from "react-lattice";

// define Grid (can be customized)
const Grid = createGrid();


// component
export const Page = () => {

    // render
    return (
        <Grid container justify="spaceEvenly" alignItems="center">
            <Grid item flex={{xs: 12, md: 6}}>                  
                Left (desktop), Top (mobile + tablet)                
            </Grid>
            <Grid item flex={{xs: 12, md: 6}}>                  
                Right (desktop), Bottom (mobile + tablet)                
            </Grid>
        </Grid>
    );
};
```

## License

MIT © [Nascent Digital](https://github.com/nascentdigital)
npm package: @nascentdigital/react-lattice
Description: A set of flexible React components that simplify responsive web development.
Author: Simeon de Dios
Latest version: 1.3.0

# react-lattice

> A set of flexible React components that simplify responsive web development.

[![NPM](https://img.shields.io/npm/v/react-lattice.svg)](https://www.npmjs.com/package/react-lattice) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm i -s @nascentdigital/react-lattice
```

## Usage

```tsx
// imports
import * as React from "react";
import {createGrid} from "@nascentdigital/react-lattice";

// define Grid (can be customized)
const Grid = createGrid();


// component
export const Page = () => {

    // render
    return (
        <Grid container justify="spaceEvenly" alignItems="center">
            <Grid item flex={{xs: 12, md: 6}}>                  
                Left (desktop), Top (mobile + tablet)                
            </Grid>
            <Grid item flex={{xs: 12, md: 6}}>                  
                Right (desktop), Bottom (mobile + tablet)                
            </Grid>
        </Grid>
    );
};
```

## License

MIT © [Nascent Digital](https://github.com/nascentdigital)
npm package: @naschpitz/button-enhanced
Description: A button using React.js and Bootstrap 4 that will display a click confirmation pop-up.
Author: Bruno Naschpitz
Latest version: 1.0.21

# @naschpitz/button-enhanced

> A button using React.js and Bootstrap 4 that will display a click confirmation pop-up.

[![NPM](https://img.shields.io/npm/v/@naschpitz/button-enhanced.svg)](https://www.npmjs.com/package/@naschpitz/button-enhanced) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @naschpitz/button-enhanced
```

## Usage

```jsx
import React, {useState} from 'react';
import _ from 'lodash'

import { ButtonEnhanced } from '@naschpitz/button-enhanced';
import '@naschpitz/button-enhanced/dist/index.css';

const App = () => {
    const [ results, setResults ] = useState([]);
    const [ isAction, setIsAction ] = useState(false);

    function onDone(result) {
        if (result) {
            setIsAction(true);

            setTimeout(() => {
                setIsAction(false);
            }, 2000);
        }

        const newResults = _.clone(results);
        newResults.push(result);

        setResults(newResults);
    }

    return (
        <div>
            <ButtonEnhanced buttonOptions={{id: "btnDoThis",
                                            regularText: "Do This",
                                            actionText: "Doing this...",
                                            isAction: isAction,
                                            className: "btn btn-sm btn-danger",
                                            type: "button"
                                          }}
                            confirmationOptions={{title: "Confirm that",
                                                  text: <span>Do you really want to do this?</span>,
                                                  confirmButtonText: "Do that",
                                                  confirmButtonActionText: "Doing that...",
                                                  cancelButtonText: "Cancel",
                                                  cancelButtonActionText: "Cancelling...",
                                                  onDone: onDone
                                                }}
            />

            <h6>Results</h6>
            {results.length}
            {results.map((result) => (<div>{result.toString()}</div>))}
        </div>
    );
}

export default App
```

## License

MIT © [naschpitz](https://github.com/naschpitz)
npm package: @naschpitz/unique-modal
Description: A wrapper to react-modal to make it unique through the whole application.
Author: Bruno Naschpitz
Latest version: 1.0.16

# @naschpitz/unique-modal

> A wrapper to react-modal to make it unique through the whole application.

[![NPM](https://img.shields.io/npm/v/@naschpitz/unique-modal.svg)](https://www.npmjs.com/package/@naschpitz/unique-modal) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @naschpitz/unique-modal
```

## Usage

This code will open a modal after 2 seconds and then close it after 8 seconds.
```jsx
import React from 'react';

import {UniqueModal, UniqueModalController} from '@naschpitz/unique-modal';

const App = () => {
    setTimeout(() => {
        UniqueModalController.open(<div>Modal successfully opened.</div>)
    }, 2000);

    setTimeout(() => {
        UniqueModalController.close();
    }, 10000);

    return <UniqueModal/>
}

export default App
```

## License

MIT © [naschpitz](https://github.com/naschpitz)
npm package: @nasdf/wagmi-magic-connector
Description: Wagmi connector for Magic Auth
Author: Keenan Nemetz
Latest version: 0.0.4

# wagmi-magic-connector

Wagmi connector for Magic Auth

## Install

```bash
npm install @nasdf/wagmi-magic-connector
yarn add @nasdf/wagmi-magic-connector
pnpm add @nasdf/wagmi-magic-connector
```

## Usage

Choose Ethereum Mainnet

```javascript
import { MagicConnector } from '@nasdf/wagmi-magic-connector'

const connector = new MagicConnector({
  options: {
    apiKey: 'YOUR_PUBLISHABLE_API_KEY',
    network: 'mainnet', 
  }
})
```

Configure Custom Nodes

```javascript
import { MagicConnector } from '@nasdf/wagmi-magic-connector'

const network = {
  rpcUrl: 'http://127.0.0.1:7545', // Your own node URL
  chainId: 1011, // Your own node's chainId
}

const connector = new MagicConnector({
  options: {
    apiKey: 'YOUR_PUBLISHABLE_API_KEY',
    network,
  }
})
```

Connect With Magic Link

```javascript
import { useState } from 'react'
import { useConnect } from 'wagmi'

export default function SignIn() {
  const [email, setEmail] = useState('')

  const { connect, connectors } = useConnect()
  const connector = connectors.find(c => c.id === 'magic')

  const onSubmit = (event) => {
    event.preventDefault()
    connector.loginWithMagicLink({ email, showUI: true })
    connect({ connector })
  }

  return (
    <form onSubmit={onSubmit}>
      <label>Email</label>
      <input value={email} onChange={e => setEmail(e.target.value)} />
      <button type="submit">Send Magic Link</button>
    </form>
  )
}
```