open-index/open-npm huggingface dataset:
npm package: @leptoquark1/nb-workflow-json-extract
Description: Extract JSON Values from workflow scope
Author: David Fecke
Latest version: 1.0.0

# Workflow: JSON Extract

**Extract JSON Values from workflow scope**

### Example

Read a JSON Path from an object in workflow scope with *Dot-Notation*:

*Expected object in scope*
```json
{
  "mqtt": {
    "status": {
      "connected": true
    },
  }
}
```

*Path*
```text
    mqtt.status.connected
```

*Result*
```json
    true
```

<small>Nocobase Plugin Namespace: @leptoquark1/nb-workflow-json-extract</small>
npm package: @leptosia/docute-google-analytics
Description: Using Google Analytics in Docute.
Latest version: 1.0.0

# @leptosia/docute-google-analytics

Using Google Analytics in Docute.

## Usage

First load this plugin via `<script>` tag:

```html
<!-- Load these after docute.js -->
<script src="https://cdn.jsdelivr.net/npm/@leptosia/docute-google-analytics@1/dist/index.min.js"></script>
```

This plugin is exposed as `window.docuteGoogleAnalytics`:

```js
new Docute({
  // ...
  plugins: [
    // Your track ID
    docuteGoogleAnalytics('X-00000-000')
  ]
})
```

## License

MIT &copy; [LEPTOSIA](https://leptosia.org)
npm package: @leptosia/docute-katex
Description: Using [Katex](https://katex.org/) (The fastest math typesetting library for the web) in Docute.
Latest version: 1.0.1

# @leptosia/docute-katex

Using [Katex](https://katex.org/) (The fastest math typesetting library for the web) in Docute.

## Usage

First load this plugin via `<script>` tag:

```html
<!-- Load the CSS in <head> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/katex.min.css">

<!-- Load the scripts after docute.js -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/katex.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@leptosia/docute-katex@1/dist/index.min.js"></script>
```

This plugin is exposed as `window.docuteKatex`:

```js
new Docute({
  // ...
  plugins: [
    docuteKatex()
  ]
})
```

Then you can use Vue components to write Tex expressions:

````vue
<InlineMath>c = \\pm\\sqrt{a^2 + b^2}</InlineMath>
<!-- or -->
<InlineMath math="c = \\pm\\sqrt{a^2 + b^2}"></InlineMath>

<BlockMath>c = \\pm\\sqrt{a^2 + b^2}</BlockMath>
<!-- or -->
<BlockMath math="c = \\pm\\sqrt{a^2 + b^2}"></BlockMath>
````

`<InlineMath>` wraps the generated HTML with `<span>` tag while `<BlockMath>` uses `<div>` tag.

Optionally you can transform code fences too:

````markdown
```katex {evaluate: true}
c = \\pm\\sqrt{a^2 + b^2}
```
````

Then it will be transformed to `<BlockMath>` component.

## License

MIT &copy; [LEPTOSIA](https://leptosia.org)
npm package: @leptosia/docute-mermaid
Description: Using Mermaid in Docute.
Latest version: 1.0.4

# @leptosia/docute-mermaid

Using Mermaid in Docute.

## Usage

First load this plugin via `<script>` tag:

```html
<!-- Load these after docute.js -->
<script src="https://cdn.jsdelivr.net/npm/mermaid@8.0.0-rc.8/dist/mermaid.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@leptosia/docute-mermaid@1/dist/index.min.js"></script>
```

This plugin is exposed as `window.docuteMermaid`:

```js
new Docute({
  // ...
  plugins: [
    docuteMermaid()
  ]
})
```

Then you can use code fences to write mermaid code to generate charts:

````markdown
```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```
````

## options

### options.initOpts

Options for `mermaid.init()`.

### options.evaluateOnly

- Type: `boolean`
- Default: `false`

Only convert code to chart only when `evaluate: true`:

````markdown
```mermaid {evaluate: true}
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```
````

## License

MIT &copy; [LEPTOSIA](https://leptosia.org)
npm package: @leptosia/docute-run-code
Description: Run code fences in your markdown.
Latest version: 1.0.2

# @leptosia/docute-run-code

Run code fences in your markdown.

## Usage

First load this plugin via `<script>` tag:

```html
<!-- Load these after docute.js -->
<script src="https://cdn.jsdelivr.net/npm/@leptosia/docute-run-code@1/dist/index.min.js"></script>
```

This plugin is exposed as `window.docuteRunCode`:

```js
new Docute({
  // ...
  plugins: [
    docuteRunCode()
  ]
})
```

Then in code fences, you can use `// @run-code` comment to indicate that it's runnable:

````markdown
Here's a demo for [HTM](https://github.com/developit/htm):

```js
// @run-code
import { html, Component, render } from 'https://unpkg.com/htm/preact/standalone.mjs';

class App extends Component {
  addTodo() {
    const { todos = [] } = this.state;
    this.setState({ todos: todos.concat(`Item ${todos.length}`) });
  }
  render({ page }, { todos = [] }) {
    return html`
      <div class="app">
        <${Header} name="ToDo's (${page})" />
        <ul>
          ${todos.map(todo => html`
            <li>${todo}</li>
          `)}
        </ul>
        <button onClick=${this.addTodo.bind(this)}>Add Todo</button>
        <${Footer}>footer content here<//>
      </div>
    `;
  }
}
  
const Header = ({ name }) => html`<header><h1>${name} List</h1></header>`

const Footer = props => html`<footer ...${props} />`

render(html`<${App} page="All" />`, document.body);
```
````

### Supported Languages

- js: with `// @run-code` comment
- javascript: with `// @run-code` comment
- html: with `<!-- @run-code -->` comment

## Options

### options.noModules

- Type: `boolean`
- Default: `undefined`

For `js` or `javascript` code fences, the code will be wrapped in `<script type="module">` tag by default, if you're targeting some browsers that do not support [JavaScript modules](https://caniuse.com/#search=module), pass `true` here to disable this feature.

### options.keepCode

- Type: `boolean`
- Default: `false`

Remove original code fences.

### options.sandbox

- Type: `string`
- Default: `'allow-modals allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts'`

The iframe's `sanbox` attribute.

### options.autoResize

- Type: `boolean`
- Default: `true`

Auto-resize iframe when content height changes.

## License

MIT &copy; [LEPTOSIA](https://leptosia.org)
npm package: @lequysang/react-dom
Description: Repo to test esm-bundle's automatic publishing
Latest version: 17.0.2

# react-dom

[![npm version](https://img.shields.io/npm/v/@esm-bundle/react-dom.svg?style=flat)](https://www.npmjs.com/package/@esm-bundle/react-dom) [![build status](https://travis-ci.com/esm-bundle/react-dom.svg?branch=master)](https://travis-ci.com/esm-bundle/react-dom) [![](https://data.jsdelivr.com/v1/package/npm/@esm-bundle/react-dom/badge)](https://www.jsdelivr.com/package/npm/@esm-bundle/react-dom)

["What is this" blog post](https://medium.com/@joeldenning/an-esm-bundle-for-any-npm-package-5f850db0e04d)

[Instructions for creating a new esm-bundle repo](https://github.com/esm-bundle/new-repo-instructions)

A repo that tests automatic detection of upstream publishes and the publishing of `@esm-bundle` versions of them.

Upstream repo at https://github.com/joeldenning/react-dom.

## JS Delivr

https://cdn.jsdelivr.net/npm/@esm-bundle/react-dom/esm/react-dom.production.min.js

https://cdn.jsdelivr.net/npm/@esm-bundle/react-dom/esm/react-dom.development.js

https://cdn.jsdelivr.net/npm/@esm-bundle/react-dom/esm/react-dom.resolved.production.min.js

https://cdn.jsdelivr.net/npm/@esm-bundle/react-dom/esm/react-dom.resolved.development.js

https://cdn.jsdelivr.net/npm/@esm-bundle/react-dom/system/react-dom.production.min.js

https://cdn.jsdelivr.net/npm/@esm-bundle/react-dom/system/react-dom.development.js

## Unpkg

https://unpkg.com/@esm-bundle/react-dom/esm/react-dom.production.min.js

https://unpkg.com/@esm-bundle/react-dom/esm/react-dom.development.js

https://unpkg.com/@esm-bundle/react-dom/esm/react-dom.resolved.production.min.js

https://unpkg.com/@esm-bundle/react-dom/esm/react-dom.resolved.development.js

https://unpkg.com/@esm-bundle/react-dom/system/react-dom.production.min.js

https://unpkg.com/@esm-bundle/react-dom/system/react-dom.development.js

## Npm

```sh
npm install rxjs@npm:@esm-bundle/react-dom
```

## Yarn

```sh
yarn add react-dom@npm:@esm-bundle/react-dom
```
npm package: @lequysang/react-hooks-context
Description: simple react context wrapper with hooks
Author: Le Quy Sang
Latest version: 0.9.2

# react-hooks-context
 simple react context wrapper with hooks
# usage
```
npm i -S @lequysang/react-hooks-context
```
Wrap your Root app and give your value
```jsx
import React, { useState } from 'react'
import { ContextProvider } from '@lequysang/react-hooks-context'

const App = () => {
  const [state, setState] = useState(0);
  const action = () => {
      console.log('your action');
  }
  return (
      <ContextProvider value={{ state, action }}>
        <div> Your React Root <div>
        // <View>Your React Native Root</View>
      </ContextProvider>
  );
};
export default App;
```
Get value back in your View
```jsx
import { useValue } from '@lequysang/react-hooks-context';

const YourView = () => {
    const { state, action } = useValue();
    return (
        <div>{state}<div>
    )
}
export default YourView;
```
npm package: @lerayne/redux-ssr
Description: Пакет SSR-bootstrap был выделен мною в отдельный пакет из нескольких проектов чтобы его можно было  совершенствовать и развивать в одном месте
Author: Michael Yegorov
Latest version: 0.1.3

Пакет SSR-bootstrap был выделен мною в отдельный пакет из нескольких проектов чтобы его можно было 
совершенствовать и развивать в одном месте

#### Что он делает?

* При помощи набора простых в использовании и конфигурации функций создает полноценное SSR-окружение
для express с использованием react, react-router и redux:
  * Инициализирует redux, принимая на вход набор редюсеров и несколько функций для управления 
  состоянием авторизации пользователя
  * Инициализирует react-router, принимая схему роутинга начиная с корневого Route
  * Обеспечивает cookie-based авторизацию при помощи bcrypt и jwt
* Предоставляет набор инструментов для логина;

В планах: 

* Инструменты для регистрации, в том числе через социальные сети 

# Требования
Для работы библиотеки необходимы следующие условия:
* В проект включен babel-polyfill (библиотека использует в частности async/await)
* В зависимостях вашего проекта присутствуют все необходимые peerDependencies (см. package.json)

# API 

## createStaticGenerator
функция генерирующая на выходе листенер URL-вызова express, например:
```javascript
import {createStaticGenerator} from 'redux-ssr/lib/server'

const generateStaticPage = createStaticGenerator({
    ...params
})

app.get('/*', generateStaticPage)
```
Как видно, на вход она принимает ряд простых параметров, а на выходе мы получаем готовую функцию
серверного рендеринга с управлением URL-роутингом, логином, инициализацией redux-контейнеров итд.

#### Интерфейс функции 
(дополняется по мере реализации функционала):

**getTemplate:** (required) function(dynamicHTML, initialReduxState) -> HTML String  
**getRootRoute:** (required) function(onEnter, onChange) -> React router's root route  
**jwtSecret:** (required) String (JSON web token secret key для логина)  
**domain:** (required)  
**reducers:** (required) обычный для redux объект с редюсерами (_не_ то что возвращает функция combineReduces, а то, 
что она принимает)  
**loginPagePath:** //todo  
**rootPath:** //todo   
**setUserState:** //todo   
**isLoggedInFromState:** //todo   
**keyExpiresIn:** defaults to 30 days  
**authCookieName:** //todo

## createLoginEP
Создает эндпоинт для экспресс, ставится на POST адреса логина, например `/login`
```javascript
app.post('/login', createLoginEP({
    ...params
}))
```

#### Интерфейс функции 
(дополняется по мере реализации функционала):  
**domain:** (required)  
**jwtSecret:** (required)  
**getUser:** (required) (async) функция получения пользователя из БД для сравнения пароля  
**keyExpiresIn:** defaults to 30 days  
**authCookieName:**  
**loginPagePath:**  
**rootPath:** 

## createLogoutEP