open-index/open-npm huggingface dataset:
npm package: @medturki/inline-critical
Description: Inline critical-path css and load the existing stylesheets asynchronously
Author: Ben Zörb
Latest version: 1.0.0

# inline-critical

Inline critical-path css and load the existing stylesheets asynchronously.
Existing link tags will also be wrapped in ```<noscript>``` so the users with javscript disabled will see the site rendered normally.

[![build status](https://api.travis-ci.org/bezoerb/inline-critical.svg?branch=master)](http://travis-ci.org/bezoerb/inline-critical)

## Installation

This module is installed via npm:

``` bash
$ npm install inline-critical
```

## Example Usage

``` js
var inline = require('inline-critical');
var html = fs.readFileSync('test/fixtures/index.html', 'utf8');
var critical = fs.readFileSync('test/fixtures/critical.css', 'utf8');

var inlined = inline(html, critical);
```

## Example Usage ignoring stylesheet per regex


``` js
var inline = require('inline-critical');
var html = fs.readFileSync('test/fixtures/index.html', 'utf8');
var critical = fs.readFileSync('test/fixtures/critical.css', 'utf8');

var inlined = inline(html, critical, {
  ignore: [/bootstrap/]
});
```

## CLI

inline-critical works well with standard input. 
You can either pass in the html 
```bash
cat index.html | inline-critical critical.css
```
or just flip things around
```bash
cat critical.css | inline-critical index.html
```
or pass in the fileas as an option
```bash
inline-critical critical.css index.html
```
without having to worry about the correct order
```bash
inline-critical index.html critical.css
```
Run `inline-critical --help` to see the list of options.

## inline(html, styles, options?)

- `html` is the HTML you want to use to inline your critical styles, or any other styles
- `styles` are the styles you're looking to inline
- `options` is an optional configuration object
  - `minify` will minify the styles before inlining
  - `extract` will remove the inlined styles from any stylesheets referenced in the HTML
  - `basePath` will be used when extracting styles to find the files references by `href` attributes
  - `ignore` ignore matching stylesheets when inlining.
  - `selector` defines the element used by loadCSS as a reference for inlining.

## License

MIT
npm package: @medusa-network/medusa-contracts
Description: Contracts implementing and for integrating with the Medusa network
Author: Medusa Community
Latest version: 0.0.1-rc2

# Medusa Smart Contracts

TBD.

## Make tests with Foundry

Be sure you've [Foundry](https://github.com/foundry-rs/foundry) installed on your computer. Foundry depends on Rust, so it's needed too.

After you've installed Foundry you'll be able to run `forge` commands. Follow these steps to run tests:

```
forge install
forge build
forge test
```
npm package: @medusa/cli
Description: A CLI interface for bootstrapping and managing MFEs
Author: Evgeny Zakharov
Latest version: 1.2.1

# @medusa/cli

```sh
medusa <command> [...options]
npx @medusa/cli <command> [...options]
```

![demo](https://user-images.githubusercontent.com/35740512/156900792-96d7fa47-9461-4798-8d8b-eb6658f85267.gif)
npm package: @medusa/webpack-plugin
Description: An abstraction above ModuleFederation Webpack plugin
Author: Evgeny Zakharov
Latest version: 1.1.0

# @medusa/webpack-plugin

```ts
const { MedusaPlugin } = require('@medusa-frontends/webpack-plugin')

const config = {
  plugins: [
    new MedusaPlugin(),
  ],
}
```
npm package: @medusajs/admin-ui
Description: <p align="center">   <a href="https://www.medusajs.com">     <img alt="Medusa" src="https://user-images.githubusercontent.com/7554214/153162406-bf8fd16f-aa98-4604-b87b-e13ab4baf604.png" width="100" />   </a> </p> <h1 align="center">   @medusajs/admin-ui <
Author: Kasper Kristensen
Latest version: 2.1.18

<p align="center">
  <a href="https://www.medusajs.com">
    <img alt="Medusa" src="https://user-images.githubusercontent.com/7554214/153162406-bf8fd16f-aa98-4604-b87b-e13ab4baf604.png" width="100" />
  </a>
</p>
<h1 align="center">
  @medusajs/admin-ui
</h1>

<h4 align="center">
  <a href="https://docs.medusajs.com">Documentation</a> |
  <a href="https://demo.medusajs.com/">Medusa Admin Demo</a> |
  <a href="https://www.medusajs.com">Website</a>
</h4>

<p align="center">
An open source composable commerce engine built for developers.
</p>
<p align="center">
  <a href="https://github.com/medusajs/medusa/blob/master/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="Medusa is released under the MIT license." />
  </a>
  <a href="https://circleci.com/gh/medusajs/medusa">
    <img src="https://circleci.com/gh/medusajs/medusa.svg?style=shield" alt="Current CircleCI build status." />
  </a>
  <a href="https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
  </a>
    <a href="https://www.producthunt.com/posts/medusa"><img src="https://img.shields.io/badge/Product%20Hunt-%231%20Product%20of%20the%20Day-%23DA552E" alt="Product Hunt"></a>
  <a href="https://discord.gg/xpCwq3Kfn8">
    <img src="https://img.shields.io/badge/chat-on%20discord-7289DA.svg" alt="Discord Chat" />
  </a>
  <a href="https://twitter.com/intent/follow?screen_name=medusajs">
    <img src="https://img.shields.io/twitter/follow/medusajs.svg?label=Follow%20@medusajs" alt="Follow @medusajs" />
  </a>
</p>

## The Medusa Admin App. Included with the [`@medusajs/admin`](https://www.npmjs.com/package/@medusajs/admin) plugin. You shouldn't install this package separately.
npm package: @medusajs/client-types
Description: Client types for Medusa Commerce Rest API
Author: Medusa
Latest version: 0.2.12

# Medusa Client Types

TypeScript types derived from the OpenAPI Spec (OAS) to be used in API clients.

The source code is generated using the `medusa-oas` CLI tooling.

## Install

`yarn add --dev @medusa/client-types`

## How to use

Import in the client.

```typescript
import type { AdminCustomersRes } from "@medusajs/client-types"
import type { Customer } from "@medusajs/client-types"
import type { StoreGetProductCategoryParams } from "@medusajs/client-types"
```
npm package: @medusajs/email-preview-server
Description: A live preview of your emails right in your browser.
Latest version: 0.0.10

<div align="center"><strong>@react-email/preview-server</strong></div>
<div align="center">A live preview of your emails right in your browser.</div>
<br />
<div align="center">
<a href="https://react.email">Website</a>
<span> · </span>
<a href="https://github.com/resend/react-email">GitHub</a>

</div>

This package is used to store the preview server, it is also published and versioned so that it can be installed when the [CLI](../react-email) is being used.

## Development workflow

### 1. Seed email templates

```sh
pnpm dev:seed
```

This generates a boilerplate emails directory for you to work with. These files can also be modified as you see fit since they are not included in git.

### 2. Run development server

```sh
pnpm dev
```

This is somewhat equivalent to `next dev` and does not support hot reloading for email templates like the CLI does. It lets you work on the UI for the preview server mainly.

### 3. Open in your browser

Go to http://localhost:3000
npm package: @medusajs/medusa-js
Description: Client for Medusa Commerce Rest API
Author: Oliver Juhl
Latest version: 6.1.10

# Medusa JS Client

[![Version](https://img.shields.io/npm/v/stripe.svg)](https://www.npmjs.org/package/@medusajs/medusa-js)

The Medusa JS Client provides easy access to the Medusa API from a client written in Typescript.

## Documentation

You can learn more about how to install and use this client in [our documentation](https://docs.medusajs.com/v1/js-client/overview).

To learn more about the API endpoints that this client allows you to access check out our [API reference](https://docs.medusajs.com/v1/api/store).
npm package: @medusajs/openapi-typescript-codegen
Description: Library that generates Typescript clients based on the OpenAPI specification.
Author: Medusa
Latest version: 0.2.2

# OpenAPI Typescript Codegen - 0.1.0 - experimental

Node.js library that generates Typescript clients based on the OpenAPI specification.

## About this fork

This package is a significantly customized fork of
the amazing npm [openapi-typescript-codegen](https://github.com/ferdikoomen/openapi-typescript-codegen) package 💜.

### Brief reasoning

We wanted a level of customization that was not achievable through the source package's interface.
We started with a conventional fork but the development workflow was hindering our ability to iterate quickly.
We decided to fold the package within our monorepo to hopefully accelerate development and innovation.

### Noteworthy differences

* Added ability to generate React hooks in the style of `medusa-react`.
* Added access to the raw OAS on parsed element from the parser.
* Added access `operationId` from path.
* Added access `x-codegen` from path.
* Added renaming of service method when `x-codegen.method` is declared.
* Added bundling of query params into a typed object when `x-codegen.queryParams` is declared.
* Added parameterization of import path for the client and models.
* Added generated `index.ts` files in directories to simplify imports.
* Updated npm dependencies' version to match existing versions found in the monorepo.
* Updated coding style to match the convention of the monorepo.
* Removed support for Angular client generation.
* Removed support for OAS v2 parsing.
* Removed documentation.
* Removed tests (temporarily).

## Install

`yarn add --dev @medusajs/openapi-typescript-codegen`

## How to use

See `@medusajs/medusa-oas-cli` for usage.
npm package: @medusajs/ui
Description: <p align="center">   <a href="https://www.medusajs.com">   <picture>     <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/59018053/229103275-b5e482bb-4601-46e6-8142-244f531cebdb.svg">     <source media="(prefe
Author: Kasper Kristensen
Latest version: 4.1.6
npm package: @medux/mini-program
Description: The practice of @medux/core in mini-program.
Author: wooline
Latest version: 2.0.0
Deprecated: rename to @medux/route-mp

# 关于@medux/mini-program

本包将@medux 用于各类小程序，是小程序的基础包，不可作为终端包使用

# This package has been deprecated and rename to '@medux/route-mp'
npm package: @medux/react-taro
Description: The practice of @medux/core in taro
Author: wooline
Latest version: 2.0.0
Deprecated: rename to @medux/react-taro-router

# 关于@medux/react-taro

整合封装了@medux/core、@medux/route-plan-a，@medux/mini-program，适应于 React 跨平台开发框架 Taro，参见案例

# This package has been rename to '@medux/react-taro-router'
npm package: @medux/react-taro-router
Description: The practice of @medux/core in taro
Author: wooline
Latest version: 2.0.0-beta.3.29

# 关于@medux/react-taro-router

整合封装了@medux/core、@medux/route-web，@medux/route-mp，适应于 React 跨平台开发框架 Taro，参见案例
npm package: @medux/route-plan-a
Description: The practice of @medux/core in web route.
Author: wooline
Latest version: 2.0.0
Deprecated: rename to @medux/route-web

# 关于@medux/route-plan-a

本包实现一套基于 @medux/core 的跨平台路由方案，它可以将 web 的路由风格带入其它平台

# This package has been rename to '@medux/route-web'
npm package: @medux/route-web
Description: The practice of @medux/core in web route
Author: wooline
Latest version: 2.0.0-beta.3.29

# 关于@medux/route-web

本包实现一套基于 @medux/core 的跨平台路由方案，它可以将 web 的路由风格带入其它平台
npm package: @medux/web
Description: The practice of @medux/core in web app.
Author: wooline
Latest version: 2.0.0
Deprecated: rename to @medux/route-browser

# 关于@medux/web

本包让 @medux/core 具有 web 特性，主要体现在 History 管理上

# This package has been deprecated and rename to '@medux/route-browser'
npm package: @medux/web-route-plan-a
Description: The practice of @medux/core in web route.
Author: wooline
Latest version: 0.1.0
Deprecated: rename to @medux/route-web

# 关于@medux/route-plan-a

本包实现一套基于 @medux/core 的跨平台路由方案，它可以将 web 的路由风格带入其它平台

# This package has been deprecated and rename to '@medux/route-web'
npm package: @meduza/ui-kit-2
Description: UIKit for Meduza
Author: Meduza
Latest version: 1.1.1

# MEDUZA UI-KIT 4.0

## Разработка

- `pnpm start` - запускает development сборку с hot reload, пишет все в папку dist
- `cd example && pnpm start` - запускает сборку тестового проекта с hot reload,
  в который можно импортировать компоненты из кита
- `pnpm storybook` - запускает storybook

`pnpm generate` - генератор компонентов. Вводим название компонента, получаем все файлы и импорты

## Использование

Необходимо глобально импортировать в проект файл ui-kit.css (туда собираются все модули)
Любые компоненты просто импортятся из кита

## Сборка

### Режимы сборки

- `pnpm build --mode development` - сборка стилей с переменными сайта
- `pnpm build --mode production` - сборка стилей без переменных

### Особенности production сборки

- Запускается без подключения переменных в silent-режиме
- CSS-модули собираются в `ui-kit.css`
- После сборки запускается `build.sh`:
  1. Создает `ui-kit-game.css` с игровыми переменными
  2. Перезаписывает `ui-kit.css` с переменными сайта

## Как опубликовать новую версию

1. Меняем номер версии в package.json.
2. Прописываем команду `pnpm build` для создания файла со стилями.
3. Прописываем команду `pnpm publish` для создания и публикации новой версии.

## Локальное подключение UI-KIT к проекту

Для локального подключения UI-KIT можно воспользоваться одним из 2 следующих способов. Важно соблюдать правильный порядок действий для корректного подключения.

### Подключение через link:

- **как создать локальное подключение:**

1. В проекте website3 в package.json прописываем `"@meduza/ui-kit-2": "link:../ui-kit-2"`.

- **как создать файл с изменениями в UI-KIT:**

1. В данном проекте ui-kit-2 мы прописываем команду `pnpm build` - этой командой мы создаем новый css-файл.

- **как отключить локальное подключение:**

1. В проекте website3 в package.json прописываем опубликованную версию, например `"@meduza/ui-kit-2": "0.9.6"`.

### Подключение через yalc:

yalc - это инструмент, который позволяет локально публиковать и подключать npm-пакеты.

- **как подключиться:**

1. Если yalc не установлен, то можно его установить глобально командой `npm install -g yalc`. Если yalc установлен, то можно перейти к шагу 2.
2. В данном проекте ui-kit-2 мы прописываем команду `yalc publish` - этой командой мы создаем линк.
3. В проекте website3 мы прописываем команду `yalc add @meduza/ui-kit-2` - этой командой мы подписываемся на линк из шага 2.

- **как создать файл с изменениями в UI-KIT:**

1. В данном проекте ui-kit-2 мы прописываем команду `pnpm build` - этой командой мы создаем новый css-файл.
2. В данном проекте ui-kit-2 мы прописываем команду `yalc publish` - этой командой мы создаем новый линк.
3. В проекте website3 мы прописываем команду `yalc update` - это командой мы обновляем подписку на линк из шага 2.

- **как отключить локальное подключение:**

1. В проекте website3 мы прописываем команду `yalc remove @meduza/ui-kit-2` - этой командой мы удаляем подписку на линк.
npm package: @medv/blessed
Description: A high-level terminal interface library for node.js.
Author: Christopher Jeffrey
Latest version: 2.0.1

# @medv/blessed

This is fork of [blessed](https://github.com/chjj/blessed) library with a few changes for [fx](https://github.com/antonmedv/fx) package.

* medv/blessed
  * chjj/blessed

## Changes

- Merged changes from [neo-blessed](https://github.com/embark-framework/neo-blessed)
- Optimized scrolling speed
- Added `update` event for textarea
- Added `getScreenLine`, `getNumber`, `getScreenNumber` to _Element_

## Docs

See original [documentation](https://github.com/chjj/blessed#documentation).

## License

MIT
npm package: @medv/eat
Description: Command-line tool for converting anything to JSON 🧀
Author: Anton Medvedev
Latest version: 1.0.0


# [![Build Status](https://travis-ci.org/antonmedv/eat.svg?branch=master)](https://travis-ci.org/antonmedv/eat)

Command-line tool for converting **anything** to JSON.

## Features

* Eat everything, spits out json
* Supports **json**, **yaml**, **toml**, **xml**, **ini**
* Formatting and highlighting
* Standalone binary

## Install

```
$ npm install -g @medv/eat
```

Or download standalone binary from [releases](https://github.com/antonmedv/eat/releases) page.

## Usage

```
$ eat resp.xml > resp.json

$ cat config.yaml | eat > config.json

$ eat deps.toml
```

### Other examples

Use it with [fx](https://github.com/antonmedv/fx) tool for extracting needed fields.

```
$ cat response.xml | eat | fx .Document.Title
```

## Related

* [fx](https://github.com/antonmedv/fx) – cli JSON processor on JS
* [any-json](https://github.com/any-json/any-json) - alternative cli tool for converting formats

## License

MIT
npm package: @medv/fast-json
Description: Extract part of JSON fastest way
Author: Anton Medvedev
Latest version: 1.0.1

# fast-json

This package implements fast extraction of part of JSON. 

* 3.5x times faster than jq
* 4.5x times faster than JSON.parse

Notes:

* Fastest way of extracting part of JSON from file
* Arrays not supported currently
* Does not check for valid JSON (you can grab "foo" from here: `{"foo": "bar", here goes anything`)

## Install

```bash
npm i @medv/fast-json
```

## Usage

```js
const fastJSON = require('@medv/fast-json')

const result = fastJSON(input, path)
```

Another example:

```js
const result = fastJSON('{"foo": {"bar": 1}}', ['foo', 'bar'])
```

## CLI

```bash
npm i -g @medv/fast-json
```

```bash
cat data.json | fast-json path to field
```

## Benchmarks

Benchmarks were made with [hyperfine](https://github.com/sharkdp/hyperfine) on a big json (around 400mb).

```
Benchmark #1: cat data.json | fast-json gates aeroflot_ndc_gate gates_info airline_iatas

  Time (mean ± σ):      4.080 s ±  0.181 s    [User: 3.206 s, System: 1.205 s]

  Range (min … max):    3.877 s …  4.292 s

Benchmark #2: cat data.json | jq .gates.aeroflot_ndc_gate.gates_info.airline_iatas

  Time (mean ± σ):     14.938 s ±  0.198 s    [User: 13.009 s, System: 2.170 s]

  Range (min … max):   14.808 s … 15.347 s

Benchmark #3: cat data.json | fx .gates.aeroflot_ndc_gate.gates_info.airline_iatas

  Time (mean ± σ):     18.443 s ±  0.356 s    [User: 17.495 s, System: 2.661 s]

  Range (min … max):   17.731 s … 19.179 s

```

# License

MIT
npm package: @medv/finder
Description: CSS Selector Generator
Author: Anton Medvedev
Latest version: 4.0.2

# finder

![finder](https://medv.io/assets/finder.png)

**The CSS Selector Generator**

[![Test](https://github.com/antonmedv/finder/actions/workflows/test.yml/badge.svg)](https://github.com/antonmedv/finder/actions/workflows/test.yml)
[![JSR](https://jsr.io/badges/@medv/finder)](https://jsr.io/@medv/finder)

## Features

* Generates **shortest** CSS selectors
* **Unique** CSS selectors per page
* Stable and **robust** CSS selectors
* Size: **1.5kb** (minified & gzipped)

## Install

```bash
npm install @medv/finder
```

## Usage 

```ts
import { finder } from '@medv/finder';

document.addEventListener('click', (event) => {
  const selector = finder(event.target);
});
```

## Example

An example of a generated selector:

```css
.blog > article:nth-of-type(3) .add-comment
```

## Configuration

```js
const selector = finder(event.target, {
  root: document.body,
  timeoutMs: 1000,
});
```

### root

Defines the root of the search. Defaults to `document.body`.

### timeoutMs

Timeout to search for a selector. Defaults to `1000ms`. After the timeout, finder fallbacks to `nth-child` selectors.

### className

Function that determines if a class name may be used in a selector. Defaults to a word-like class names.

You can extend the default behaviour wrapping the `className` function:

```js
import { finder, className } from '@medv/finder';

finder(event.target, {
  className: name => className(name) || name.startsWith('my-class-'),
});
```

### tagName

Function that determines if a tag name may be used in a selector. Defaults to `() => true`.

### attr

Function that determines if an attribute may be used in a selector. Defaults to a word-like attribute names and values.

You can extend the default behaviour wrapping the `attr` function:

```js
import { finder, attr } from '@medv/finder';

finder(event.target, {
  attr: (name, value) => attr(name, value) || name.startsWith('data-my-attr-'),
});
```

### idName

Function that determines if an id name may be used in a selector. Defaults to a word-like id names.

### seedMinLength

Minimum length of levels in fining selector. Defaults to `3`.

### optimizedMinLength

Minimum length for optimising selector. Defaults to `2`.

## License

[MIT](LICENSE)
npm package: @medv/list
Description: Immutable List in JavaScript
Author: Anton Medvedev
Latest version: 1.0.1

# @medv/list

[![Build Status](https://travis-ci.org/antonmedv/list.svg?branch=master)](https://travis-ci.org/antonmedv/list)

Immutable lists in JavaScript without [] and {}

## Install

```bash
npm install @medv/list
```

## Usage

This implementation requires tail calls optimization which for now available only in [Safari](https://kangax.github.io/compat-table/es6/#test-proper_tail_calls_(tail_call_optimisation)) 
and in [node](http://node.green/#ES2015-optimisation-proper-tail-calls--tail-call-optimisation-) only with `--harmony-tailcalls` flag.

```js
const {list, reverse, print} = require('@medv/list')

const a = list(1, list(2, list(3)))
const b = reverse(a)

print(a) // (1 2 3)
print(b) // (3 2 1)
```

For all available functions and documentation see [index.js](./index.js)

## License

[MIT](./LICENSE)
npm package: @medv/morph
Description: Lightweight DOM morphing
Author: Anton Medvedev
Latest version: 1.0.1

# @medv/morph

Lightweight DOM morphing. Updates the existing DOM tree to match a new one, minimizing the number of changes.

## Install

```bash
npm install @medv/morph
```

## Usage

```js
import { morph } from '@medv/morph'

const existing = document.querySelector('.container')

const next = div({class: 'container'}, 'Hello, ', strong('world!'))

morph(existing, next)
```

The `morph` function updates `existing` in place to match `next`. It preserves existing DOM nodes where possible,
only updating attributes, text content, and children as needed.

## Notes

- **Form elements** are treated as uncontrolled. The morph syncs HTML attributes but does not update DOM properties like
  `input.value`, `input.checked`, or `option.selected`. If a user has interacted with a form field, the displayed state
  won't change.
- **Children are matched by position**, not by key (similar to key-less rendering in React). Reordering a list will
  update each child's content in place rather than moving DOM nodes, which means focus, selection, and CSS transitions
  won't follow the logical element.
- **Helper functions** are used to create DOM elements and text nodes. But they are not a necessity.
  ```js 
  function createElement(tag, attrs, ...children) {
    const e = document.createElement(tag)
    for (const [k, v] of Object.entries(attrs)) e.setAttribute(k, v)
    e.append(...children.filter(Boolean))
    return e
  }
  
  function div(attrs, ...children) {
    return createElement('div', attrs, ...children)
  }
  
  function strong(...children) {
    return createElement('strong', {}, ...children)
  }
  ```
## License

[MIT](LICENSE)
npm package: @medv/prettyjson
Description: Pretty print JSON library
Author: Anton Medvedev
Latest version: 1.0.1

# 🧢 PrettyJSON

[![Build Status](https://travis-ci.org/antonmedv/prettyjson.svg?branch=master)](https://travis-ci.org/antonmedv/prettyjson)

Pretty JSON printer for [fx](https://github.com/antonmedv/fx)

<img width="716" alt="2018-06-26 22 11 50" src="https://user-images.githubusercontent.com/141232/41921868-0b9ef744-798e-11e8-90f2-92e877441737.png">

## Install

```bash
npm install @medv/prettyjson
```

## Usage

```js
const print = require('@medv/prettyjson')

const value = {...}

console.log(print(value))
```

## License

MIT