open-index/open-npm huggingface dataset:
npm package: @macarom/swap-sdk
Description: 🛠 An SDK for building applications on bitlayer of macarom.
Latest version: 1.1.8

# Macaromswap/swap-sdk

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/Macaromswap/swap-sdk.git
```

Move into the swap-sdk working directory

```sh
cd swap-sdk/
```

Install dependencies

```sh
yarn
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
$ tsdx test
 PASS  test/fraction.test.ts
 PASS  test/pair.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/router.test.ts
 PASS  test/constants.test.ts
 PASS  test/trade.test.ts
 PASS  test/token.test.ts
 PASS  test/route.test.ts

Test Suites: 1 skipped, 9 passed, 9 of 10 total
Tests:       2 skipped, 124 passed, 126 total
Snapshots:   0 total
Time:        2.269s, estimated 5s
Ran all test suites.
✨  Done in 3.46s.
```
npm package: @macaron-css/babel
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.1

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/core
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.2

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/esbuild
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.6.1

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/integration
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.1

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/qwik
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.3

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react, solidjs and qwik
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/react
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.3

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/solid
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.3

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-css/vite
Description: macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind
Latest version: 1.5.1

# macaron

macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind

- Powered by **vanilla-extract**
- Allows defining styles in the same file as components
- Zero runtime builds
- Supports both styled-components API and plain styling api that returns classes.
- Stitches-like variants
- First class typescript support
- Out of box support for react and solidjs
- Supports esbuild and vite (with hmr)

## Example

### Styled API

```jsx
import { styled } from '@macaron-css/solid';

const StyledButton = styled('button', {
  base: {
    borderRadius: 6,
  },
  variants: {
    color: {
      neutral: { background: 'whitesmoke' },
      brand: { background: 'blueviolet' },
      accent: { background: 'slateblue' },
    },
    size: {
      small: { padding: 12 },
      medium: { padding: 16 },
      large: { padding: 24 },
    },
    rounded: {
      true: { borderRadius: 999 },
    },
  },
  compoundVariants: [
    {
      variants: {
        color: 'neutral',
        size: 'large',
      },
      style: {
        background: 'ghostwhite',
      },
    },
  ],

  defaultVariants: {
    color: 'accent',
    size: 'medium',
  },
});

// Use it like a regular solidjs component
function App() {
  return (
    <StyledButton color="accent" size="small" rounded={true}>
      Click me!
    </StyledButton>
  );
}
```

### Styling API

The styling API is the same api is vanilla-extract, but allows styles to be defined in the same file, increasing the authoring experience.

Check out [vanilla-extract docs](https://vanilla-extract.style/documentation/styling-api/)
npm package: @macaron-elements/compiler
Description: Macaron compiler
Author: Ryohei Ikegami
Latest version: 0.3.0

# The Macaron compiler library and command-line interface

This library / CLI is the compiler that converts [Macaron](https://macaron-elements.com/) files to Web Components.

## Installation

```bash
npm install -g @macaron-elements/compiler
```

## Usage

```bash
# compile to src/*.js
macaron src/*.macaron

# compile to src/*.js and watches for changes
macaron --watch src/*.macaron

# compile to dist/*.js
macaron --output=dist src/*.macaron
```

```
macaron [options] <file paths or glob pattern>
```

| Option       | Description                                                     |
| ------------ | --------------------------------------------------------------- |
| --watch      | Watch for changes and re-generate the component.                |
| -o, --output | Output directory. Defaults to the parent directory of the input |

## Help

```bash
macaron help
```

## API

```js
import { compile } from "@macaron-elements/compiler";

const data = fs.readFileSync("src/test.macaron", "utf-8");
const out = compile(data);
fs.writeFileSync("src/test.js", out);
```
npm package: @macaron-elements/loader-vite
Description: Vite plugin to load Macaron files
Author: Ryohei Ikegami
Latest version: 0.3.0

# Vite Macaron loader

A Vite plugin to load [Macaron](https://macaron-elements.com/) files as JavaScript modules.

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>
  <body>
    <component-created-in-macaron></component-created-in-macaron>
    <script type="module" src="test.macaron"></script>
  </body>
</html>
```

```js
import "./test.macaron";

const element = document.createElement("component-created-in-macaron");
```

## Install

```bash
npm install @macaron-elements/loader-vite --save-dev
```

## Setup

#### `vite.config.js`

```js
import macaronLoader from "@macaron-elements/loader-vite";

export default defineConfig({
  plugins: [macaronLoader()],
});
```
npm package: @macaron-elements/loader-webpack
Description: Webpack loader for Macaron files
Author: Ryohei Ikegami
Latest version: 0.3.1

# webpack Macaron loader

A webpack loader to load [Macaron](https://macaron-elements.com/) files as JavaScript modules.

```js
import "./test.macaron";

const element = document.createElement("component-created-in-macaron");
```

## Install

```bash
npm install @macaron-elements/loader-webpack --save-dev
```

## Setup

#### `webpack.config.js`

```js
module.exports = {
  // ...
  module: {
    // ...
    rules: [
      {
        test: /\.macaron/,
        use: ["@macaron-elements/loader-webpack"],
      },
    ],
  },
};
```
npm package: @macaronswap-libs/eslint-config-macaron
Description: Eslint config for MacaronSwap
Author: MacaronChef
Latest version: 1.0.1

# eslint-config-macaron

Macaron Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @macaronswap-libs/eslint-config-macaron
```

Add `"extends": "@macaronswap-libs/eslint-config-macaron"` to your eslint config file.
npm package: @macaronswap-libs/uikit
Description: Set of UI components for macaron projects
Latest version: 0.21.10

# 🥞 Macaron UIkit

[![Version](https://img.shields.io/npm/v/@macaronswap-libs/uikit)](https://www.npmjs.com/package/@macaronswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@macaronswap-libs/uikit)](https://www.npmjs.com/package/@macaronswap-libs/uikit)

Macaron UIkit is a set of React components and hooks used to build pages on Macaron's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @macaronswap-libs/uikit`

## Setup

### Theme

Before using Macaron UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@macaronswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@macaronswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://macaronswap.github.io/macaron-uikit/)
npm package: @macashipo/mlib
Description: My own js helpers collection for reactjs
Author: macashipo
Latest version: 1.0.19

# mlib

> Myown js helpers collection

[![NPM](https://img.shields.io/npm/v/mlib.svg)](https://www.npmjs.com/package/mlib) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @macashipo/mlib
```

## Usage

```tsx
import React, { Component } from 'react'

import MyComponent from '@macashipo/mlib'
import 'mlib/dist/index.css'

class Example extends Component {
  render() {
    return <MyComponent />
  }
}
```

## License

MIT © [macashipo](https://github.com/macashipo)
npm package: @macaw-email/preview-ui
Description: Email template preview app for Macaw.
Author: Thomas Schoffelen
Latest version: 1.6.0

# Preview UI for Macaw

The preview UI for Macaw helps view the compiled mjml file, markdown and JSON data. It is built with [react](https://reactjs.org/), and fetches the updated templates using [socket.io](https://socket.io/) from the macaw cli.
 

![Macaw UI Preivew](./preview.png)

**[Disclamer] This package is intended to be consumed internally by the macaw cli**

## Development setup

These instructions will get you a copy of the Preview UI running ready for development. All commands assume starting at the repositories root folder

First in the cli folder install the dependencies
```bash
cd packages/cli  && yarn install
```

Second run the macaw cli pointing it towards the template directory

```bash
yarn start preview --source templates
```

Then in a new terminal promt install the dependencies for the preview UI

```bash
cd packages/preview-ui && yarn install
```

Finally start the UI in development mode
```
yarn start
```

The development server will start on port 3000. The preview-ui automatically connects to the [socket.io](socket.io) server started by the cli.
npm package: @macaw-email/provider-sendgrid
Description: Sendgrid provider adapter for Macaw.
Author: Thomas Schoffelen
Latest version: 1.2.2

# Sendgrid provider for Macaw

**[Macaw](https://macaw.email/) is a simple library to streamline email templating.**

## Quickstart

Please start by looking at the [Macaw documentation](https://macaw.email/).

First install the Sendgrid provider package:

```
yarn add @macaw-email/provider-sendgrid
```

When initiating your instance of Macaw, pass in Sendgrid as your provider:

```js
const sendgrid = require("@macaw-email/provider-sendgrid");

const mailer = macaw({
  provider: sendgrid({ apiKey: "aaaaa-bbbbbbb-ccccccc-ddddddd" })
});
```

You can find your API key in the Sendgrid developer console.

Then you can load a template and send it:

```js
const template = await mailer.template("monthly-newsletter", {
  greeting: "Hello, world"
});

await template.send({
  subject: "Hello, world!",
  to: {
    name: "Thomas Schoffelen",
    email: "thomas@schof.co"
  },
  from: {
    name: "Mark from Startup X",
    email: "noreply@startup-x.com"
  }
});
```

The `template.send()` function accepts any parameters that are accepted by the [Sendgrid Node API](https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/kitchen-sink.md). It requires at least a `subject`, `to` and `from` field to be set.
npm package: @macaw-email/storage-s3
Description: AWS S3 storage engine for Macaw.
Author: Thomas Schoffelen
Latest version: 1.5.0

# Macaw AWS S3 storage

**[Macaw](https://macaw.email/) is a simple library to streamline email templating.**

Please check the [Macaw documentation](https://macaw.email/) for more information.
npm package: @macawkit/structures
Description: Simple structures for MacawKit projects
Author: Yury Gubich
Latest version: 0.2.0

# Macaw Kit Structures
Common structures for Macaw Kit projects

## About
This project provides utilities to be reused in Macaw Kit projects.

### Classes:
- `Point` - Represents a point in 2D space.
- `Size` - Represents a box size of and object of 2D space.
- `Rect` - Represents a rectangle in 2D space with position and size.
- `Color` - Represents a color.

### Interfaces:
- `Structure` - A common interface for all structures
- `Coordinate` - An interface for coordinate related structures like `Size` and `Point`
npm package: @macbabu/murim-ninja
Description: A package for testing and demonstrating various features.
Author: Shivam Yadav
Latest version: 0.1.6

# @macbabu/murim-ninja

To install dependencies:

```bash
bun install
```

To run:

```bash
bun run index.ts
```

This project was created using `bun init` in bun v1.1.24. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
npm package: @maccarello/art
Description: Maccarello logo and icon.
Author: Lucio Benini
Latest version: 1.1.7
Deprecated: false

![Maccarello](https://raw.githubusercontent.com/maccarello/art/main/images/logo/positive.png)

# maccarello/art

[Maccarello](https://maccarello.com/) logo and icon.

## Fonts

The main font is [Encode Sans Expanded](https://fonts.google.com/specimen/Encode+Sans+Expanded).

## Copyright

(c) 2021, Pittaca S.r.l.s.
npm package: @macchiatojs/http-error
Description: A Modern Http Error.
Author: imed jaberi
Latest version: 0.2.0

# @macchiatojs/http-error

A Modern Http Errors.

## `Installation`

```bash
# npm
$ npm install @macchiatojs/http-error
# yarn
$ yarn add @macchiatojs/http-error
```

## `Usage`

```typescript
import HttpErrors from "@macchiatojs/http-error";

throw new HttpError(404, "Not Found!");
```

## `Support`

If you have any problem or suggestion please open an issue.

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchiatojs/kernel
Description: ```bash # npm $ npm install @macchiatojs/kernel # yarn $ yarn add @macchiatojs/kernel ```
Author: imed jaberi
Latest version: 0.24.0

# @macchiatojs/kernel

## `Installation`

```bash
# npm
$ npm install @macchiatojs/kernel
# yarn
$ yarn add @macchiatojs/kernel
```

## `Usage`

I'm working to add full documentations as soon as possible <3.

```typescript
// Express/Connect Style
import Macchiato, { Request, Response, Next } from "@macchiatojs/kernel";

const app = new Macchiato();

app.use((request: Request, response: Response, next?: Next) => {
  response.body = "Hello World !"; // also you can use .send(200, "Hello World !")
});

app.start(2222);

// Koa Style
import Macchiato, { Context, Next } from "@macchiatojs/kernel";

const app = new Macchiato({ expressify: false });

app.use((context: Context, next?: Next) => {
  context.response.body = "Hello World !"; // also you can use .send(200, "Hello World !")
});

app.start(2222);
```

If you want to use the famous `koa-compose` for mws;

```ts
import Macchiato, { Context, Next } from "@macchiatojs/kernel";
// don't forget to add '@macchiatojs/wrap-koa-compose' and 'koa-compose'
import WrapKoaCompose from "@macchiatojs/wrap-koa-compose";

const app = new Macchiato({
  koaCompose: new WrapKoaCompose<Context, Next>(),
});
```

## `Support`

If you have any problem or suggestion please open an issue.

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchiatojs/koaify-middleware
Description: The modern koaify middleware composition.
Author: imed jaberi
Latest version: 0.2.0

# @macchiatojs/koaify-middleware

The modern **Koa-Style** middleware composition.

## `Installation`

```bash
# npm
$ npm install @macchiatojs/koaify-middleware
# yarn
$ yarn add @macchiatojs/koaify-middleware
```

## `Usage`

```typescript
import Middleware from "@macchiatojs/koaify-middleware";

const middleware = new Middleware();

middleware.push((ctx, next) => {
  ctx.arr.push(1);
  return next().then(() => {
    ctx.arr.push(6);
  });
});

middleware.push(async (ctx, next) => {
  ctx.arr.push(2);
  await next();
  ctx.arr.push(5);
});

middleware.push((ctx, next) => {
  ctx.arr.push(3);
  next();
  ctx.arr.push(4);
});

const ctx = { arr: [] };

await middleware.compose(ctx);
console.log(ctx.arr.toString() === "1,2,3,4,5,6");
// true
```

## `Support`

If you have any problem or suggestion please open an issue.

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchiatojs/logger
Description: Macchiato.js logger based on pino
Author: imed jaberi
Latest version: 0.4.0

# @macchiatojs/logger

### Macchiato.js logger based on [pino](https://github.com/pinojs/pino-http).

## `Installation`

```bash
# npm
$ npm install @macchiatojs/logger
# yarn
$ yarn add @macchiatojs/logger
```

## `Usage`

This is a practical example of how to use.

with Macchiato.js - Express style;

```typescript
import Macchiato, { Request, Response } from "@macchiatojs/kernel";
import logger from "@macchiatojs/logger";

const app = new Macchiato();

app
  .use(logger());
  .use((request: Request, response: Response) => {
    response.body = "Hello World";
  });

app.start(2222);
```

with Macchiato.js - Koa style;

```typescript
import Macchiato, { Context } from "@macchiatojs/kernel";
import logger from "@macchiatojs/logger";

const app = new Macchiato();

app
  .use(logger());
  .use((context: Context) => {
    context.response.body = "Hello World";
  });

app.start(2222);
```

with raw Node.js

```typescript
import http, { IncomingMessage, ServerResponse } from "http";
import { rawLogger } from "@macchiatojs/logger";

const server = http.createServer((request, response) => {
  logger()(req, res);
  response.statusCode = 200;
  response.write("Hello World !");
  response.end();
});

server.start(2222);
```

> Note: <br/> > `rawLogger` is re-export for `pino-http` and You can learn more about `pino-http` from the official documentation [here](https://github.com/pinojs/pino-http).

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchiatojs/middleware
Description: The modern expressify middleware composition.
Author: imed jaberi
Latest version: 0.2.0

# @macchiatojs/middleware

The modern **Express-Style** middleware composition.

## `Installation`

```bash
# npm
$ npm install @macchiatojs/middleware
# yarn
$ yarn add @macchiatojs/middleware
```

## `Usage`

```typescript
import Middleware from "@macchiatojs/middleware";

const middleware = new Middleware();

middleware.push((req, res, next) => {
  req.arr.push(1);
  return next().then(() => {
    req.arr.push(6);
  });
});

middleware.push(async (req, res, next) => {
  req.arr.push(2);
  await next();
  req.arr.push(5);
});

middleware.push((req, res, next) => {
  req.arr.push(3);
  next();
  req.arr.push(4);
});

const req = { arr: [] };
const res = {};
await middleware.compose(req, res);
console.log(req.arr.toString() === "1,2,3,4,5,6");
// true
```

## `Support`

If you have any problem or suggestion please open an issue.

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchiatojs/views
Description: Macchiato.js view render engine based on ejs.
Author: imed jaberi
Latest version: 0.3.0

# @macchiatojs/views

### View engine based on ejs help to render content for Macchiato.js

## `Installation`

```bash
# npm
$ npm install @macchiatojs/views
# yarn
$ yarn add @macchiatojs/views
```

## `Usage`

First, you should create a directory in which you have all views templates.
You can do it by run this command and make sure your in the source code folder;

```bash
mkdir views
```

Second, you should create a template file.
You can do it by run this command;

```bash
touch views/home.html
```

Third, you should put your ejs logic inside the file. something like;

```html
<ul>
  <% users.forEach((user) => {%>
  <li><%= user.name %></li>
  <% })%>
</ul>
```

Finally, you can use `@macchiatojs/views`;

```typescript
import ViewEngine from "@macchiatojs/views";

const viewEngine = new ViewEngine({
  root: path.join(__dirname, "views"),
  viewExt: "html",
});

const htmlString = await viewEngine.generateHtml("home", { users });
// htmlString have a string with this values
// <ul>
//   <li>Jawher</li>
//   <li>Imed</li>
//   <li>Tom</li>
// </ul>
```

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchiatojs/wrap-koa-compose
Description: The modern Koa-Style middleware composition helper for `koa-compose`.
Author: imed jaberi
Latest version: 0.1.0

# @macchiatojs/wrap-koa-compose

The modern Koa-Style middleware composition helper for `koa-compose`.

## `Installation`

```bash
# npm
$ npm install @macchiatojs/wrap-koa-compose koa-compose
# yarn
$ yarn add @macchiatojs/wrap-koa-compose koa-compose
```

## `Usage`

```typescript
import Middleware from "@macchiatojs/wrap-koa-compose";

const middleware = new Middleware();

middleware.push((ctx, next) => {
  ctx.arr.push(1);
  return next().then(() => {
    ctx.arr.push(6);
  });
});

middleware.push(async (ctx, next) => {
  ctx.arr.push(2);
  await next();
  ctx.arr.push(5);
});

middleware.push((ctx, next) => {
  ctx.arr.push(3);
  next();
  ctx.arr.push(4);
});

const ctx = { arr: [] };

await middleware.compose(ctx);
console.log(ctx.arr.toString() === "1,2,3,4,5,6");
// true
```

## `Support`

If you have any problem or suggestion please open an issue.

#### License

---

[MIT](LICENSE) &copy; [Imed Jaberi](https://github.com/3imed-jaberi)
npm package: @macchie7/easytag
Description: Easy NPM Versioning & Tag Tool
Author: Andrea Macchieraldo
Latest version: 2.0.0

# easytag
####

![GitHub package.json version](https://img.shields.io/github/package-json/v/macchie/easytag?style=for-the-badge) ![npm (scoped)](https://img.shields.io/npm/v/@macchie7/easytag?style=for-the-badge) ![npm](https://img.shields.io/npm/dw/@macchie7/easytag?style=for-the-badge)


`easytag` simplifies Versioning & Tagging when you need to deliver multiple versioning depending on your GIT branch.

While using `easytag` tagging through `npx easytag [patch|minor|major]` commands will trigger a custom procedures that will sequentially perform:

- update of your `package.json` version depending on the release type (`patch`, `minor`, `major`)
- add `package.json` to GIT changes, tag & create commit with tag name in the message (see below for default naming convention)
- `push` both your changes and your tags (`git push && git push --tags`)

### Default Naming Convention
##### Master/Main Branch

- `master` => `vX.Y.Z`
- `main` => `vX.Y.Z`

##### Other Branches

- `feauture/example` => `feauture-example-vX.Y.Z`
- `test` => `test-vX.Y.Z`
- `mybranch` => `mybranch-vX.Y.Z`

### Setup

Inside your NPM project execute:

```bash
$ npx @macchie7/easytag --init
```

`easytag` replaces your `preversion` and `preversion` script inside `package.json` to be able to intercept and disable them.

### Usage

`easytag` relicates `npm version *` commands:

- `npx easytag [ patch | minor | major ]`

### Parameters

Edit your `config` inside `package.json` to add extra parameters:

##### Example

```json
{
  "config": {
    "easytag": {
      // disable push after tagging
      "noPush": true, 
      // master/main branch format (default: v1.2.3)
      "masterFormat": "{{version}}", 
      // others branch format (default: branchname-v1.2.3)
      "branchFormat": "{{branchName}}-{{version}}"
    }
    ...
  }
  ...
}
```
npm package: @maccman/shiki
Description: shiki
Author: Pine Wu
Latest version: 0.14.1

<p>
  <h2 align="center">Shiki</h2>
</p>
<p align="center">
  Shiki is a beautiful Syntax Highlighter. <a href="http://shiki.matsu.io">Demo</a>.
</p>

## Usage

```sh
npm i shiki
```

```js
const shiki = require('shiki')

shiki
  .getHighlighter({
    theme: 'nord'
  })
  .then(highlighter => {
    console.log(highlighter.codeToHtml(`console.log('shiki');`, { lang: 'js' }))
  })

// <pre class="shiki" style="background-color: #2e3440"><code>
//   <!-- Highlighted Code -->
// </code></pre>
```

```html
<script src="https://unpkg.com/shiki"></script>
<script>
  shiki
    .getHighlighter({
      theme: 'nord'
    })
    .then(highlighter => {
      const code = highlighter.codeToHtml(`console.log('shiki');`, { lang: 'js' })
      document.getElementById('output').innerHTML = code
    })
</script>
```

Clone [shikijs/shiki-starter](https://github.com/shikijs/shiki-starter) to play with Shiki, or try it out on [Repl.it](https://repl.it/@octref/shiki-starter).

Learn more from the GitHub repo: [shikijs/shiki](https://github.com/shikijs/shiki).


## Credits

- Shiki uses [vscode-oniguruma](https://github.com/microsoft/vscode-oniguruma)
- A lot of code is based on [vscode-textmate](https://github.com/Microsoft/vscode-textmate)

## Sponsorship

If you find Shiki useful, please consider sponsoring my Open Source development. Thank you 🙏

https://github.com/sponsors/octref

## License

MIT © [Pine Wu](https://github.com/octref)
npm package: @maccman/slate-react
Description: Tools for building completely customizable richtext editors with React.
Latest version: 0.59.1-alpha.0

This package contains the React-specific logic for Slate. It's separated further into a series of directories:

- [**Components**](./src/components) — containing the React components for rendering Slate editors.
- [**Hooks**](./src/hooks) — containing a few React hooks for Slate editors.
- [**Plugins**](./src/plugin) — containing the React-specific plugins for Slate editors.
- [**Utils**](./src/utils) — containing a few private convenience modules.

Feel free to poke around in each of them to learn more!