open-index/open-npm huggingface dataset:
npm package: @gemini-game-engine/md-packer
Description: Packs Markdown/CommonMark .md files with template definitions into one JSON file
Author: Galeanne Thorn
Latest version: 1.1.1

# Gemini Game Engine - MD to JSON Packer

Packs Markdown/CommonMark `.md` files with front matter definitions,
together with JSON `.json` and YAML `.yaml` files
into one single JSON file.

The markdown part of the

## Installation

```
npm install @gemini-game-engine/md-packer
```

## Usage

### CLI

>npx @gemini-game-engine/md-packer \<input-folder\> [<output.json>]

## Example

Assuming `game` folder has following structure:

```
+-+- game
  |- info.yaml
  |-+ rooms
  | |- kitchen.md
  | \- hallway.md
  |-+ scenes
    \- data.json

```

and content of `kitchen.md` is
```
---
type: room
id: kitchen
data:
  - 1
  - 2
---
Text for kitchen
```

and content of `hallway.md` is
```
---
type: room
id: hallway
data:
  - 3
---
Text for hallway
```

running the `md-packer game game.json` generates `game.json` file with following content:

``` JSON
{
  "info": {...},
  "rooms": {
    "kitchen": {
      "type": "room",
      "id": "kitchen",
      "data": [1 ,2],
      "ui": {
        "text": "Text for kitchen"
      }
    },
    "hallway": {
      "type": "room",
      "id": "hallway",
      "data": [3],
      "ui": {
        "text": "Text for hallway"
      }
    }
  },
  "scenes": {
    "data": {...}
  }
}
```
npm package: @gemini-testing/react-lazily-render
Description: Lazily render react components
Latest version: 1.2.1

# react-lazily-render

[![Build Status](https://travis-ci.org/jameslnewell/react-lazily-render.svg?branch=master)](https://travis-ci.org/jameslnewell/react-lazily-render)

Lazily render react components.

Delay mounting expensive components until a placeholder component has been scrolled into view.

## Installation

```
npm install --save react-lazily-render
```

## Usage

[Example](https://jameslnewell.github.io/react-lazily-render) ([source](https://github.com/jameslnewell/react-lazily-render/blob/master/example/App.js#L8))

```js
import React from 'react';
import LazilyRender from 'react-lazily-render';

<div>
  ...lots of content...
  <LazilyRender
    placeholder={<PlaceholderComponent/>}
    content={<ExpensiveComponent/>}
  />
  ...lots of content...
  <LazilyRender>
    {render => render
      ? <ExpensiveComponent/>
      : <PlaceholderComponent/>
    }
  </LazilyRender>
  ...lots of content...
</div>

```

## API

### Properties

#### className

> `string`

The `className` applied to the wrapping element.

#### component

> `string | React.ComponentClass`

The wrapping component.

e.g.
```js
<LazilyRender component="span"/>
<LazilyRender component={MyComponent}/>
```

### offset

> `number | {top?: number, right?: number, bottom?: number, left?: number}`

An offset applied to the element for calculating whether the component has been scrolled into view.

You can specify individual values for each side, or a single value used for all sides.

#### placeholder

> `React.Node`

Rendered when the component hasn't been scrolled into view.

#### content

> `React.Node`

Rendered when the component has been scrolled into view.

#### children

> `(render: boolean) => React.Node`

Called to render something depending on whether the component has been scrolled into view.

#### onRender

> `() => void`

Called when the component becomes visible for the first time.

#### onReset

> `() => void`

Called when the visible component reset his state.

#### eventToUpdate

> `string`

Client event name on which component should update it's visibility properties.

#### eventToReset

> `string`

Client event name on which already visible component should reset his current state/listeners and update.
npm package: @gemini-testing/webdriverio
Description: Next-gen browser and mobile automation test framework for Node.js
Author: Christian Bromann
Latest version: 7.28.3

WebdriverIO
===========

> Next-gen browser and mobile automation test framework for Node.js

This package provides an easy to manage API and a lot of syntactical sugar on top of the WebDriver specification. You can use WebdriverIO as a standalone package or via a testrunner using [`@wdio/cli`](https://webdriver.io/docs/clioptions). WebdriverIO allows to run tests locally using the WebDriver or Chrome DevTools protocol as well as remote user agents using cloud providers like [Sauce Labs](https://saucelabs.com/).

## Installation

You can install WebdriverIO via NPM:

```sh
npm install webdriverio
```

## Usage

WebdriverIO by default uses Puppeteer to automate a browser like Chrome, Firefox or Chromium Edge. So if you have Chrome installed, the following script should start a browser for you and get the title of the page:

```js
import { remote } from 'webdriverio'

let browser

;(async () => {
    browser = await remote({
        capabilities: { browserName: 'chrome' }
    })

    await browser.navigateTo('https://www.google.com/ncr')

    const searchInput = await browser.$('#lst-ib')
    await searchInput.setValue('WebdriverIO')

    const searchBtn = await browser.$('input[value="Google Search"]')
    await searchBtn.click()

    console.log(await browser.getTitle()) // outputs "WebdriverIO - Google Search"

    await browser.deleteSession()
})().catch((err) => {
    console.error(err)
    return browser.deleteSession()
})
```

See the raw [protocol example](https://www.npmjs.com/package/webdriver#example) using the `webdriver` package to get a glance on the differences.

For more information on [options](https://webdriver.io/docs/options#webdriver-options), [multiremote usage](https://webdriver.io/docs/multiremote) or integration into [cloud services](https://webdriver.io/docs/cloudservices) please check out the [docs](https://webdriver.io/docs/gettingstarted).
npm package: @gemini-wallet/contract
Description: **Repository for Gemini smart wallet contracts**
Latest version: 0.1.2

## Gemini Smart wallet contracts

**Repository for Gemini smart wallet contracts**

### Local Setup

1. `cd packages/contract`

2. Install Foundry via [Foundryup](https://book.getfoundry.sh/getting-started/installation#using-foundryup)

```shell
$  curl -L https://foundry.paradigm.xyz | bash
$  foundryup
```

3. Run Setup

```shell
$  npm run init
```

4. Select the `foundry.toml` as Soldeer configuration file.

### Build

```shell
$ npm run build:contract
```

### Deploy

To deploy your own version of the contract factory

1. Create a `.env` file in the root of the package (i.e. `/packages/contract`)
2. Copy the contents of `.env.example` to `.env`
3. Update private key and factory owner to your own private key and EOA
4. Source the `.env` config file

```shell
$ source .env
```

5. Compile and dryrun against a chain

```shell
$ npm run deploy:dryrun $RPC_URL
```

6. (If no error in previous steps) deploy and verify to a chain

You need to get etherscan api for the chain

```shell
$ npm run deploy $RPC_URL
```

NOTES:

- You can only deploy the same set of contract factory once per account
- Can deploy new set of factory if there are any changes in the factory