open-index/open-npm huggingface dataset:
npm package: @mvsde/eleventy-plugin-vue
Description: Vue 3 SFC templates as layouts for Eleventy.
Author: Fynn Becker
Latest version: 0.1.1

# eleventy-plugin-vue

## Installation

```sh
npm install --save-dev @mvsde/eleventy-plugin-vue
```

## Usage

In your `eleventy.config.js` or `.eleventy.js`:

```js
const { pluginVue } = require('@mvsde/eleventy-plugin-vue')

module.exports = function (eleventyConfig) {
  eleventyConfig.addPlugin(pluginVue)
}
```

This makes [Vue 3 Single File Components](https://vuejs.org/guide/scaling-up/sfc.html) available as [layouts](https://www.11ty.dev/docs/layouts/) for Eleventy.

The plugin exports additional Composition API methods to get access to the [current page’s data](https://www.11ty.dev/docs/data/) and [JavaScript shortodes](https://www.11ty.dev/docs/shortcodes/) in [`<script setup>`](https://vuejs.org/api/sfc-script-setup.html):

```vue
<script setup>
import { useData, useMethods, useCSS } from '@mvsde/eleventy-plugin-vue'

// Data supplied by Eleventy and the data cascade
const { page, title, ... } = useData()

// JavaScript shortcodes defined in Eleventy config
const { image,  } = useMethods()

// CSS collected from SFCs
const css = useCSS()
</script>
```

## Acknowledgements

This plugin is inspired by [@11ty/eleventy-plugin-vue](https://github.com/11ty/eleventy-plugin-vue).
npm package: @mvsde/scrollbar-width
Description: Calculate the scrollbar width
Author: Fynn Becker
Latest version: 1.0.0

# Scrollbar width

## Installation

```bash
yarn add @mvsde/scrollbar-width
# or
npm install @mvsde/scrollbar-width
```

## Usage

```js
import scrollbarWidth from '@mvsde/scrollbar-width'

// Get the width of the scrollbar
const width = scrollbarWidth()

// Check if page has overflow and then get scrollbar width
const widthWithOverflowTest = scrollbarWidth({ testOverflow: true })
```
npm package: @mvts/contract-interfaces-js
Description: A set of interfaces for working with smart contracts of the routing system.
Author: Sergey Bondarenko QUIC-PRO Inc. developer
Latest version: 2.1.1

# @mvts/contract-interfaces-js

A set of interfaces for working with smart contracts of the routing system.

## Installation

Using npm:

```bash
npm install @mvts/contract-interfaces-js
```

Using yarn:

```bash
yarn add @mvts/contract-interfaces-js
```

## Interfaces

Interfaces for working with smart contracts:

| Name       | Description                                                                              |
|------------|------------------------------------------------------------------------------------------|
| Curator    | Fully complies with the smart contract. Stores information about the actual root router. |
| Router     | Fully compliant with the router smart contract standard. Used to work with any router.   |
| RootRouter | Fully complies with the smart contract. The root router of the system.                   |

Detailed description of smart contracts and their methods: [MVTS Documentation](https://docs.mvts.io/smart-contracts)

For convenience, you can use factories that store the ABI of the corresponding smart contract:

```javascript
const curator = CuratorFactory.connect(address, provider);
const router = RouterFactory.connect(address, provider);
const rootRouter = RootRouterFactory.connect(address, provider);
```

## License

[MIT](LICENSE)
npm package: @mvuijs/core
Description: Minimum Viable UI
Author: dominiksta
Latest version: 0.0.4

# Mvui - A Minimalist Webcomponent Framework

[![Tests](https://github.com/dominiksta/mvui/actions/workflows/test-core.yml/badge.svg)](https://github.com/dominiksta/mvui/actions/workflows/test-core.yml)

*"Minimum Viable UI"*

Yes, this is a new frontend framework, and no, this is not a joke.

```typescript
import { Component, rx, h } from '@mvuijs/core';

@Component.register
export class CounterComponent extends Component {
  render() {
    const count = new rx.State(0);
    return [
      h.p([
        h.button({ events: {
          click: _ => count.next(c => c + 1)
        }}, 'Increment'),
        h.span(count.derive(v => `count: ${v}`))
      ])
    ];
  }
}
```

## Projects Status

Mvui is almost ready for release. There is still some cleanup left to be done and some
documentation to write and publish. But it has been used in practice for a while now in
[Wournal](https://github.com/dominiksta/wournal/) and seems to be stable. There are also
plenty of unit tests.

## Dear God Why Yet Another Frontend Framework?

Fundamentally, I (@dominiksta) believe that frontend development is *significantly*
overcomplicated for small to medium size applications. Mvui is built on this intuition. It
does not strive for perfection in nether syntax nor performance nor its programming model
but to simply be *good enough* while making it easy to reason about the code.

**Core Features**:

- A fully typesafe component model based on webcomponents
- Templates and styling are defined in TS/JS, so there are no special requirements for
  your editor and they can be typechecked
- Reactivity is implemented on top of a very minimal recreation of some the core
  principles of rxjs. This has several advantages:
  - The reactivity is independent of the component model, much like signals in
    SolidJS. You can write your business logic reactively while not locking yourself into
    using Mvui.
  - Updates to the DOM only happen exactly where some value has changed. Much like SolidJS
    (all be it less powerful), a component renders only once upon being mounted. When an
    Observable is used in the template, it is automatically subscribed to and any change
    to it will trigger a DOM update.
  - Anyone familiar with ReactiveX or rxjs or angular should be immediatly familiar with
    the reactivity model.
- Wrapping existing Webcomponents to work with Mvui in a typesafe way
npm package: @mvx/cli
Description: mvc cli.
Author: houjun
Latest version: 4.0.38

# packaged @mvx/cli
`@mvx/cli` is mvc cli, base on AOP, Ioc container, via @tsdi. file stream pipes activities.

## Install CLI

### cli in global

```shell
npm install -g '@mvx/cli'
```

```shell
  mvx --help  //show help
  mvx -V  //show version of cli.
```

### create mvc project

```shell
  mvx new app_name  #your application name.

```

### run mvc appliction

```shell
mvx run  ##default src/app.ts
mvx run src/app.ts

##or
tsdi run src/app.ts
```

### build pack

```shell
mvx build [--deploy]
```

### Unit test

```shell
mvx test [test/**/*.(ts|js)]
```

### packages
[@mvx/cli](https://www.npmjs.com/package/@mvx/cli)
[@mvx/mvc](https://www.npmjs.com/package/@mvx/mvc)
[@tsdi/identity](https://www.npmjs.com/package/@mvx/identity)

[@tsdi/cli](https://www.npmjs.com/package/@tsdi/cli)
[@tsdi/ioc](https://www.npmjs.com/package/@tsdi/ioc)
[@tsdi/aop](https://www.npmjs.com/package/@tsdi/aop)
[@tsdi/core](https://www.npmjs.com/package/@tsdi/core)
[@tsdi/boot](https://www.npmjs.com/package/@tsdi/boot)
[@tsdi/components](https://www.npmjs.com/package/@tsdi/components)
[@tsdi/compiler](https://www.npmjs.com/package/@tsdi/compiler)
[@tsdi/activities](https://www.npmjs.com/package/@tsdi/activities)
[@tsdi/pack](https://www.npmjs.com/package/@tsdi/pack)
[@tsdi/typeorm-adapter](https://www.npmjs.com/package/@tsdi/typeorm-adapter)
[@tsdi/unit](https://www.npmjs.com/package/@tsdi/unit)
[@tsdi/unit-console](https://www.npmjs.com/package/@tsdi/unit-console)

## License

MIT © [Houjun](https://github.com/zhouhoujun/)
npm package: @mvxiv/scaffold
Description: scaffolding vue components
Author: Maksim Ivanov
Latest version: 0.1.8

# Scaffold

### install tool 
```sh
npm install -D @mvxiv/scaffold
```

### Scaffold vue component

```sh
$ npx scaffold ComponentName
```

that makes this structure in your project directory
```
─src──┐
───components
─────ComponentName──┐
───────ComponentName.vue
───────ComponentName.spec.ts
───────ComponentName.scss
```
with some boilerplate content
npm package: @mvxivy/lokalise-cli
Description: Update translations from Lokalise
Author: Maksim Ivanov
Latest version: 0.4.2

# Lokalise CLI

This script is used to download translations from Lokalise to your project and update. 

## Installation

```bash
npm install -D @mvxivy/lokalise-cli
```

## Usage

### CLI 
```bash
ltu
```

### Features
* Fetch and update locales from the `master` branch of your lokalise project 
  * Fetch by files (recommended)
  * Fetch by JSON
* Select another branch, merge it into `master` branch and then fetch and update
  * You can skip this step by pressing Enter
  * You can optionally choose to delete the branch after merging

## Configuration
If you use cli method, you can create a `.lokalise.json` file in the root of your project and add the following configuration options.

### Configuration options

| Option                 | Description                                       | type             | Default |
|------------------------|---------------------------------------------------|------------------|---------|
| apiKey                 | Lokalise API key                                  | string           | -       |
| projectId              | Lokalise project id                               | string           | -       |
| outputDir              | Output directory for translations                 | string           | -       |
| process                | type of interaction with lokalise api             | 'keys' or 'files' |  -      |
| processesOptions       | options for processes                             | object | - |
| processesOptions.keys  | options for keys process | object | - |
| processesOptions.files | options for files process                         | string | - |

Possible options for [`processesOptions.keys`](https://developers.lokalise.com/reference/list-all-keys) and [`processesOptions.files`](https://developers.lokalise.com/reference/download-files) can be found in the Lokalise API documentation.

## Feature plans
- [ ] Node.js use case for to enable expansion and customization of functionality
npm package: @mw-alpha/eslint-config
Description: ESLint configuration used by Manawil Modas
Latest version: 1.0.0

# ESLint Config - Manawil Labs
Welcome to the Manawil ESlint Config! This repository contains custom configuration files for the ESLint that adhere to the coding standards and best practices used by Manawil.

## Installation
To use these configuration in your project, you will need to have eslint installed.
```bash
  npm i eslint
```
Or if you are using Yarn
```bash
  yarn add eslint
```

## Usage
Once the packages are installed, you can use the Manawil ESLint Config by extending it in your `eslintrc.json` file.
```bash
{
  "extends": [
    "manawil"
  ]
}
```

## Configuration files
This repository contains the following configuration files:
- `react.js` - ESLint configuration for React projects
- `node.js` - ESLint configuration for Node/Express projects

## Contributing
We welcome contributions to the Manawil ESLint Config. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

## License
The Manawil ESLint Config is open-source software licensed under the MIT license.
npm package: @mw-angular/core
Description: Most Wanted Angular Library Core
Author: Andrey Korovin
Latest version: 8.0.0

<p align="center">
  <img width="250" height="250" src="https://raw.githubusercontent.com/mw-angular/toolbox/main/logo.png">
</p>

# @mw-angular/core

This is the core library from **Most Wanted Angular Libraries**.

Includes widely used items for Angular projects.
Library supports server side rendering.

## Getting Started

Use the package manager to install library.

```
$ npm install @mw-angular/core
```

### Services

1. [MwPlatformService](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/services/mw-platform/mw-platform.service.md)
2. [MwLoadingService](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/services/mw-loading/mw-loading.service.md)
3. [MwMetaService](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/services/mw-meta/mw-meta.service.md)
4. [MwDestroyService](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/services/mw-destroy/mw-destroy.service.md)

### Entities

1. [MwDestroy](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/entities/mw-destroy/mw-destroy.md)

### Pipes

1. [mwMapper](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/pipes/mw-mapper-pipe/mw-mapper-pipe.md)

### Directives

1. [mwLet](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/directives/mw-let-directive/mw-let-directive.md)

### RxJS

1. [mwMutationObserver](https://github.com/mw-angular/toolbox/blob/main/libs/core/src/lib/rxjs/mw-mutation-observer/mw-mutation-observer.md)

## Contributing

Pull requests to the [repository](https://github.com/mw-angular/toolbox) are welcome.
For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## Authors

- **Andrey Korovin** - _misticwonder@gmail.com_

## License

This project is licensed under the terms of the **MIT** license.

You can check out the full license [here](https://raw.githubusercontent.com/mw-angular/toolbox/main/libs/core/LICENSE).
npm package: @mw-components/ali-oss
Description: 阿里云 OSS 命令行工具 ossutil 封装 midway.js 组件，提供 TypeScript 类型定义
Author: waiting
Latest version: 5.0.4

# [@mw-components/ali-oss](https://www.npmjs.com/package/@mw-components/ali-oss)

Ali Oss ossutil client component for midway.js

[![Version](https://img.shields.io/npm/v/@mw-components/ali-oss.svg)](https://www.npmjs.com/package/@mw-components/ali-oss)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![](https://img.shields.io/badge/lang-TypeScript-blue.svg)]()
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)


## Prepare

[ossutil 下载页面](https://help.aliyun.com/document_detail/120075.html)

```sh
sudo wget https://gosspublic.alicdn.com/ossutil/1.7.11/ossutil64 -O /usr/bin/ossutil
sudo chmod a+x /usr/bin/ossutil
```

## Installation
```sh
npm i @mw-components/ali-oss
```

## Configuration

### Enable Plugin

Edit `${app_root}/src/configuration.ts`:

```ts
import { join } from 'path'
import { ILifeCycle } from '@midwayjs/core'
import { Configuration } from '@midwayjs/decorator'
import * as aliOss from '@mw-components/ali-oss'

@Configuration({
  imports: [
    aliOss,
  ],
  importConfigs: [join(__dirname, 'config')],
})
export class ContainerConfiguration implements ILifeCycle { }

```

### Add Configurations

Update project `src/config/config.prod.ts`
```ts
import { Config } from '@mw-components/ali-oss'

export enum ClientKey {
  ossmain = 'ossmain',
}

const clientConfig = {
  accessKeyId: process.env.ALI_OSS_AID || '',
  accessKeySecret: process.env.ALI_OSS_ASECRET || '',
  endpoint: process.env.ALI_OSS_ENDPOINT || 'https://oss-cn-hangzhou.aliyuncs.com',
  bucket: process.env.ALI_OSS_BUCKET || '',
  cmd: 'ossutil',
  debug: false,
}

export const aliOssConfig: Readonly<Config<ClientKey>> = {
  ossmain: clientConfig,
}
```

## Usage

### Inject and mkdir()

```ts
import assert from 'node:assert/strict'
import { AliOssComponent } from '@mw-components/ali-oss'
import { App, Config, Inject } from '@midwayjs/decorator'

export class RootClass {
  @Inject() readonly ossClient: AliOssComponent

  async mkdir(path: string): Promise<void> {
    const mkdirRet = await ossClient.mkdir('ossmain', path)
    assert(! mkdirRet.exitCode, 'mkdir failed')
    assert(mkdirRet.data, 'mkdir failed')
  }
}

```

### Methods

- `cp()` 在远程拷贝
- `createSymlink()` 创建软连接
- `mkdir()` 创建目录
- `mv()` 在远程移动对象
- `pathExists()` 检测远程文件是否存在
- `rm()` 删除远程对象
- `rmrf()` 删除远程对象及其下级所有对象
- `stat()` 获取远程对象属性
- `syncLocal()` （强制）同步远程对象到本地
- `syncRemote()` （强制）同步本地目录到远程
- `upload()` 上传本地文件到远程

## License
[MIT](LICENSE)
npm package: @mw-components/demo
Description: midway component demo
Author: waiting
Latest version: 16.3.0

# [@mw-components/demo](https://www.npmjs.com/package/@mw-components/demo) 
demo for midway framework.


## Installation
```sh
npm i @mw-components/demo
```


## Configuration

### Enable Plugin

Edit `${app_root}/src/configuration.ts`:

```ts
import { join } from 'path'
import { ILifeCycle } from '@midwayjs/core'
import { Configuration } from '@midwayjs/decorator'
import * as demo from '@mw-components/demo'

@Configuration({
  imports: [
    demo,
  ],
  importConfigs: [join(__dirname, 'config')],
})
export class ContainerConfiguration implements ILifeCycle { }

```

### Add Configurations


## License
[MIT](LICENSE)
npm package: @mw-components/fetch
Description: HTTP fetch component for midway.js
Author: waiting
Latest version: 20.2.2

# midway-component-fetch

HTTP fetch component for midway.js

[![Version](https://img.shields.io/npm/v/midway-component-fetch.svg)](https://www.npmjs.com/package/midway-component-fetch)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![](https://img.shields.io/badge/lang-TypeScript-blue.svg)]()
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)


## Install

```sh
npm i @mw-components/fetch
```

## Usage

Update project `src/configuration.ts`
```ts
import * as fetch from 'midway-component-fetch'

@Configuration({
  imports: [
    fetch,
  ],
  importConfigs: [join(__dirname, 'config')],
})
export class ContainerConfiguration implements ILifeCycle {
}
```

Update project `src/config/config.(prod | local | unittest).ts`
```ts
import { FetchComponentConfig, genRequestHeaders } from 'midway-component-fetch'

export const fetch: FetchComponentConfig = {
  // change to only authorization
  traceLoggingReqHeaders: ['authorization'],
}
```

Update project base service like `src/core/base.service.ts`
```ts
import { Inject } from '@midwayjs/decorator'
import {
  FetchComponent,
  FetchResponse,
  Options as FetchOptions,
} from 'midway-component-fetch'

export class BaseService extends RootClass {
  @Inject() readonly fetch: FetchComponent

  /**
   * 返回类型为 `text` 或者 `html`
   */
  getText<T extends string = string>(
    url: string,
    data?: FetchOptions['data'],
  ): Promise<T> {

    const opts: FetchOptions = {
      ...this.initFetchOptions,
      dataType: 'text',
    }
    if (typeof data !== 'undefined') {
      opts.data = data
    }
    const ret = this.fetch.get<T>(url, opts)
    return ret as Promise<T>
  }

  /**
   * Generate an RxRequestInit variable,
   * @default
   *   - contentType: 'application/json; charset=utf-8'
   *   - dataType: 'json'
   */
  get initFetchOptions(): FetchOptions {
    const args: FetchOptions = {
      url: '',
      method: 'GET',
      dataType: 'json',
      contentType: 'application/json; charset=utf-8',
    }
    return args
  }
}
```


Update project service like `src/home/home.service.ts`
```ts
import { Provide } from '@midwayjs/decorator'

import { BaseService } from '~/interface'


@Provide()
export class HomeService extends BaseService {

  /**
   * 获取网关 IP
   */
  async retrieveGatewayIp(): Promise<string> {
    const url = 'https://www.taobao.com/help/getip.php'
    // ipCallback({ip:"222.233.10.1"})
    const text = await this.getText(url)
    let ip = ''
    if (text) {
      const arr = /"([\d.]+)"/ui.exec(text)
      ip = arr && arr.length >= 1 && arr[1] ? arr[1] : ''
    }
    this.logger.info({ ip })
    return ip
  }

}
```


## License

[MIT](LICENSE)
npm package: @mw-components/jaeger
Description: midway component for jaeger
Author: waiting
Latest version: 13.1.7

# [@mw-components/jaeger](https://www.npmjs.com/package/@mw-components/jaeger)

Jaeger opentracing client component for midway.js

[![Version](https://img.shields.io/npm/v/@mw-components/jaeger.svg)](https://www.npmjs.com/package/@mw-components/jaeger)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![](https://img.shields.io/badge/lang-TypeScript-blue.svg)]()
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)


## Install

```sh
npm i @mw-components/jaeger
```

## Usage

Update project `src/configuration.ts`
```ts
import * as jaeger from '@mw-components/jaeger'

@Configuration({
  imports: [
    jaeger,
  ],
  importConfigs: [join(__dirname, 'config')],
})
export class ContainerConfiguration implements ILifeCycle {
}
```

Update project `src/config/config.prod.ts`
```ts
import { TracerConfig } from '@mw-components/jaeger'

export const tracer: TracerConfig = {
  tracingConfig: {
    reporter: {
      agentHost: '127.0.0.1',
    },
  },
}
```

Update project `src/config/config.(local | unittest).ts`
```ts
import { TracerConfig, initLoggingReqHeaders } from '@mw-components/jaeger'

export const tracer: TracerConfig = {
  reqThrottleMsForPriority: 100,
  tracingConfig: {
    reporter: {
      agentHost: '127.0.0.1',
    },
  },
  loggingReqHeaders: [
    ...initLoggingReqHeaders,
    'header-foo',
    'header-bar',
  ],
}
```

## License

[MIT](LICENSE)
npm package: @mw-components/jwt
Description: midway component jwt
Author: waiting
Latest version: 12.0.5

# [@mw-components/jwt](https://www.npmjs.com/package/@mw-components/jwt) 
Siging, verifying and authentication for midway framework.


## Installation
```sh
npm i @mw-components/jwt
```


## Configuration

### Enable Plugin

Edit `${app_root}/src/configuration.ts`:

```ts
import { join } from 'path'
import { ILifeCycle } from '@midwayjs/core'
import { Configuration } from '@midwayjs/decorator'
import * as jwt from '@mw-components/jwt'

@Configuration({
  imports: [
    jwt,
  ],
  importConfigs: [join(__dirname, 'config')],
})
export class ContainerConfiguration implements ILifeCycle { }


declare module '@midwayjs/koa/dist/interface' {
  interface Context {
    jwtState: JwtState<User>
  }
}
export interface User {
  uid: string
  uname: string
}
```

### Add Configurations

```ts
/* location: ${app_root}/src/config/config.${env}.ts */

import {
  JwtConfig,
  JwtMiddlewareConfig,
  initPathArray,
} from '@mw-components/jwt'

export const jwtConfig: JwtConfig = {
  secret: '123456abc', // 默认密钥，生产环境一定要更改!
}
export const jwtMiddlewareConfig: JwtMiddlewareConfig = {
  enableMiddleware: true,
}
// OR add extra ignore rules
export const jwtMiddlewareConfig: JwtMiddlewareConfig = {
  enableMiddleware: true,
  ignore: [
    ...initPathArray,
    '/ip',
    '/test/sign',
    /\/foo\/bar.+/u,
  ]
}
```


## License
[MIT](LICENSE)
npm package: @mw-experts/eslint-config-ts
Description: Strict ESLint rules for Typescript and Jest
Author: Andrey Korovin
Latest version: 1.4.3

# @mw-experts/eslint-config-ts

## Install

```
npm i -D @mw-experts/eslint-config-ts @typescript-eslint/eslint-plugin
```

Add to `.eslintrc.js`

```
extends: [
  ...
  '@mw-experts/eslint-config-ts',
]
```

## Recommended tsconfig options

```
"forceConsistentCasingInFileNames": true,            /* Ensure that casing is correct in imports. */
"strict": true,                                      /* Enable all strict type-checking options. */
// "noImplicitAny": true,                            /* Enable error reporting for expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true,                         /* When type checking, take into account 'null' and 'undefined'. */
// "strictFunctionTypes": true,                      /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
// "strictBindCallApply": true,                      /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
// "strictPropertyInitialization": true,             /* Check for class properties that are declared but not set in the constructor. */
// "noImplicitThis": true,                           /* Enable error reporting when 'this' is given the type 'any'. */
// "useUnknownInCatchVariables": true,               /* Default catch clause variables as 'unknown' instead of 'any'. */
// "alwaysStrict": true,                             /* Ensure 'use strict' is always emitted. */
// "noUnusedLocals": true,                           /* Enable error reporting when local variables aren't read. */
// "noUnusedParameters": true,                       /* Raise an error when a function parameter isn't read. */
// "exactOptionalPropertyTypes": true,               /* Interpret optional property types as written, rather than adding 'undefined'. */
// "noImplicitReturns": true,                        /* Enable error reporting for codepaths that do not explicitly return in a function. */
// "noFallthroughCasesInSwitch": true,               /* Enable error reporting for fallthrough cases in switch statements. */
// "noUncheckedIndexedAccess": true,                 /* Add 'undefined' to a type when accessed using an index. */
// "noImplicitOverride": true,                       /* Ensure overriding members in derived classes are marked with an override modifier. */
// "noPropertyAccessFromIndexSignature": true,       /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true,                        /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true,                     /* Disable error reporting for unreachable code. */
```
npm package: @mw-experts/md-builder
Description: A CLI tool to build books out of Markdown(.md) files
Author: Andrey Korovin
Latest version: 0.0.13

# md-builder

A CLI tool to build books out of Markdown(.md) files.

## Install

```
npm i @mw-experts/md-builder
```

## Usage

```
npx md-builder --help
```

Uses [mdBook](https://rust-lang.github.io/mdBook/index.html) under the hood.
npm package: @mw-experts/prettier-config
Description: Prettier config
Author: Andrey Korovin
Latest version: 1.0.0

# @mw-experts/prettier-config

## Install

```bash
npm i @mw-experts/prettier-config
```

Add to `package.json`

```
{
  // ...
  "prettier": "@mw-experts/prettier-config"
}
```
npm package: @mw-experts/typescript-proto-tools
Description: Format, lint and build proto files to work with typescript
Author: Andrey Korovin
Latest version: 0.0.2

# typescript-proto-tools

## Usage

```bash
npm i -D @mw-experts/typescript-proto-tools
build-protoc-nestjs osx proto/services/posts_data/v1/posts_data.proto ./dist/api
```

## Update protoc

1. Find version number https://github.com/protocolbuffers/protobuf/releases/
2. Edit `VERSION` in the file `scripts/update-protoc.sh`
3. Run `./scripts/update-protoc.sh` or `npm run update-protoc`
4. Dont forget to update `ts-proto` package

## Publish new version

```bash
npm version patch
git push origin HEAD --follow-tags
npm login
npm publish --access public
```
npm package: @mw-kit/mw-icons
Description: Made with create-react-library
Author: mundowap
Latest version: 0.1.1

# @mw-kit/mw-icon

> Made with create-react-library

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

## Install

```bash
yarn add @mw-kit/mw-icons
```

## Usage

```tsx
import React, { Component } from 'react'

import MwIcon from '@mw-kit/mw-icons'

class Example extends Component {
  render() {
    return <MwIcon name='Add' />
  }
}
```

## License

MIT © [mundowap](https://github.com/mundowap)
npm package: @mw-kit/mw-login
Description: Made with create-react-library
Author: fmgusmao
Latest version: 0.1.4

# @mw-kit/mw-login

> Made with create-react-library

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

## Install

```bash
npm install --save @mw-kit/mw-login
```

## Usage

```tsx
import React, { Component } from 'react'

import MyComponent from '@mw-kit/mw-login'
import '@mw-kit/mw-login/dist/index.css'

class Example extends Component {
  render() {
    return <MyComponent />
  }
}
```

## License

MIT © [fmgusmao](https://github.com/fmgusmao)
npm package: @mw-kit/mw-ui
Description: Made with create-react-library
Author: fmgusmao
Latest version: 1.10.7

# @mw-kit/mw-ui

## Assets (fonts)

This library expects fonts to be served by the host app. Copy the package fonts
to a public folder and provide a base URL to the ThemeProvider. The copy command
must be executed explicitly by the app.

Example:

1. Run the copy command in your app (example):

```json
{
  "scripts": {
    "prestart": "mw-ui-copy-fonts --dest public/mw-ui/fonts",
    "prebuild": "mw-ui-copy-fonts --dest public/mw-ui/fonts"
  }
}
```

This copies from `node_modules/@mw-kit/mw-ui/dist/assets/fonts` to your public
folder. 2. Configure the ThemeProvider with the base URL:

```tsx
import { ThemeProvider } from '@mw-kit/mw-ui'

export const App = () => (
  <ThemeProvider assetBaseUrl='/assets/mw-ui'>{/* app */}</ThemeProvider>
)
```

The library will resolve fonts from `assetBaseUrl`.