open-index/open-npm huggingface dataset:
npm package: @ide-framework/monaco-editor-core
Description: A browser based code editor
Author: Microsoft Corporation
Latest version: 0.26.0-patch.3

# monaco-editor-core

> This npm module is a building block for the [monaco-editor](https://www.npmjs.com/package/monaco-editor)
npm module and unless you are doing something special (e.g. authoring a monaco editor language that can be shipped
and consumed independently), it is best to consume the [monaco-editor](https://www.npmjs.com/package/monaco-editor) module
that contains this module and adds languages supports.

The Monaco Editor is the code editor that powers [VS Code](https://github.com/microsoft/vscode),
a good page describing the code editor's features is [here](https://code.visualstudio.com/docs/editor/editingevolved).

This npm module contains the core editor functionality, as it comes from the [vscode repository](https://github.com/microsoft/vscode).

## License
[MIT](https://github.com/microsoft/vscode/blob/main/LICENSE.txt)
npm package: @ide-framework/vscode-debugadapter
Description: Debug adapter implementation for node
Author: Microsoft Corporation
Latest version: 1.49.0-beta.1

# VS Code Debug Adapter

[![NPM Version](https://img.shields.io/npm/v/vscode-debugadapter.svg)](https://npmjs.org/package/vscode-debugadapter)
[![NPM Downloads](https://img.shields.io/npm/dm/vscode-debugadapter.svg)](https://npmjs.org/package/vscode-debugadapter)

Npm module to implement a VS Code debug adapter using [Node.js](https://nodejs.org/) as a runtime.

## License

[MIT](https://github.com/Microsoft/vscode-languageserver-node/blob/master/License.txt)
npm package: @ide-framework/vscode-debugprotocol
Description: Npm module with declarations for the Visual Studio Code debug protocol
Author: Microsoft Corporation
Latest version: 1.49.0-beta.1

# VS Code Debug Protocol

[![NPM Version](https://img.shields.io/npm/v/vscode-debugprotocol.svg)](https://npmjs.org/package/vscode-debugprotocol)
[![NPM Downloads](https://img.shields.io/npm/dm/vscode-debugprotocol.svg)](https://npmjs.org/package/vscode-debugprotocol)

This npm module contains declarations for the json-based Visual Studio Code debug protocol.

## History

As of August 2018 the change history of the Debug Adapter Protocol lives on the [Debug Adapter Protocol web site](https://microsoft.github.io/debug-adapter-protocol/changelog).


## License

[MIT](https://github.com/Microsoft/vscode-languageserver-node/blob/master/License.txt)
npm package: @ide-framework/vscode-jsonrpc
Description: A json rpc implementation over streams
Author: Microsoft Corporation
Latest version: 6.1.1-beta.3


# 内部包修改点

### 6.1.1-beta.1
1. 废弃 `browser/main` 下导出的 `WebSocketMessageWriter` 与 `  WebSocketMessageReader`, 由 ide-framework 自行维护
2. 因依赖 TextEncoder 与 TextDecoder ， `src/index` 内不再导出 browser 相关接口
### 6.1.0-beta.2
1. 修复写入时 stream 可能已经被销毁的问题
### 6.1.0-beta.1
1. fork 自 vscode-jsonrpc@6.1.0 版本
2. 添加 src/index.ts 统一导出 API，官方版本在不同环境下使用不同入口，但在 ide-framework 里引用时没有区分环境，导致直接使用官方版本会有部分 node 下加载了 browser 模块的情况

### 4.0.3
1. 移动 `@types/mocha` 到 `devDependencies`
### 4.0.2
1. 兼容 ws 格式 reader
### 4.0.1
1. 增加 `WebSocketMessageWriter` 与 `WebSocketMessageReader` 支持 WebSocket 协议
### 4.0.0
1. 增加 `MessageConnection` 暴露的方法 `isListening`、`isClosed`、`isDisposed` 避免重复监听 `listen` 连接





----

# VSCode JSON RPC 

[![NPM Version](https://img.shields.io/npm/v/vscode-jsonrpc.svg)](https://npmjs.org/package/vscode-jsonrpc)
[![NPM Downloads](https://img.shields.io/npm/dm/vscode-jsonrpc.svg)](https://npmjs.org/package/vscode-jsonrpc)
[![Build Status](https://travis-ci.org/Microsoft/vscode-languageserver-node.svg?branch=master)](https://travis-ci.org/Microsoft/vscode-languageserver-node)

This npm module implements the base messaging protocol spoken between a VSCode language server and a VSCode language client.

The npm module can also be used standalone to establish a [JSON-RPC](http://www.jsonrpc.org/) channel between
a client and a server. Below an example how to setup a JSON-RPC connection. First the client side.

```ts
import * as cp from 'child_process';
import * as rpc from 'vscode-jsonrpc';

let childProcess = cp.spawn(...);

// Use stdin and stdout for communication:
let connection = rpc.createMessageConnection(
	new rpc.StreamMessageReader(childProcess.stdout),
	new rpc.StreamMessageWriter(childProcess.stdin));

let notification = new rpc.NotificationType<string, void>('testNotification');

connection.listen();

connection.sendNotification(notification, 'Hello World');
```

The server side looks very symmetrical:

```ts
import * as rpc from 'vscode-jsonrpc';


let connection = rpc.createMessageConnection(
	new rpc.StreamMessageReader(process.stdin),
	new rpc.StreamMessageWriter(process.stdout));

let notification = new rpc.NotificationType<string, void>('testNotification');
connection.onNotification(notification, (param: string) => {
	console.log(param); // This prints Hello World
});

connection.listen();
```

# History

### 4.0.0

- move JS target to ES6.

### 3.0.0:

- converted the NPM module to use TypeScript 2.0.3.
- added strict null support.
- support for passing more than one parameter to a request or notification.
- Breaking changes:
  - due to the use of TypeScript 2.0.3 and differences in d.ts generation users of the new version need to move to
    TypeScript 2.0.3 as well.

## License
[MIT](https://github.com/Microsoft/vscode-languageserver-node/blob/master/License.txt)
npm package: @ide-layout/client-react
Description: browser plugin for git
Author: CDMBase LLC
Latest version: 0.0.1-alpha.69

# React Package
React components and containers

What does it include:
---
    1. exported react pure components
    2. exported react containers
    3. Typescript 2.0.0 => ES6
    4. unit testing with jest

Purpose:
---
This package can be installable in front-end webserver

Useful commands:
---
    npm run build       - build the library files
    npm run test        - run tests once
    npm run test:watch  - run tests in watchmode (Useful for development)
    
Files explained:
---
     src                         - directory is used for typescript code that is part of the project
        index.ts                 - Index file of the package. Consists of exported components and containers
        index.spec.ts            - Tests file for main
        components               - All pure components which don't depend on backend data or external state such as redux
            index.ts             - References all the exported components
        containers               - Components with data to render. Tightly coupled with redux. 
            index.ts             - References all the exported containers
     package.json                - file is used to describe the library and packages that are required added under peer-dependencies section
     tsconfig.json               - configuration file for the library compilation
     webpack.config.js           - configuration file of the compilation automation process for the library


Tutorials:
---
[react-jest-enzymes test](https://www.youtube.com/watch?v=bMmntkVM4wQ)

[testing react with enzyme tutorial](http://codeheaven.io/testing-react-components-with-enzyme/)

[react-redux-typescript-guide](https://github.com/piotrwitek/react-redux-typescript-guide)

Performance:
---
[Redux FAQ: Connecting multiple components](http://redux.js.org/docs/FAQ.html#react-multiple-components)

[React/Redux Links: Performance articles](https://github.com/markerikson/react-redux-links/blob/master/react-performance.md)

[React/Redux: Component re-rendering too often?](http://redux.js.org/docs/faq/ReactRedux.html#react-rendering-too-often)
npm package: @ide-layout/client-state
Description: IdeLayout Client State
Author: CDMBase LLC
Latest version: 0.0.1-alpha.69

# Client State Package

All client(cache) state management will be done in this package. It not includes `Redux`,`Apollo Client`, `Redux-Epics` or anything that is used for managing the state.

Redux npm package includes actions, action-types and reducers

  1. [TypeScript and Redux: getting started][article-1]
  2. [TypeScript and Redux: async actions][article-3]
  3. [TypeScript and Redux: unit testing with Jest][article-4]
  4. [Integrating TypeScript and redux-thunk][article-5]


What does it include:
---
    1. exported reducers
    2. exported actions
    3. exported graphql queries
    4. Typescript 2.0.0 => ES6
    5. unit testing with jest

Purpose:
---
This package can be installable in front-end webserver to use the reducers and actions.

The goal is to make a isolated and reusable module that is self-contained. In order to avoid name conflicts, following rules need to be abide.
1. MUST export a function call reducer()
2. MUST export its action creators as functions
3. MUST have action types in the form `@npm-module-or-app/ACTION_TYPE` eg. `@@ide-layout/INCREMENT_COUNTER`
4. MUST have reducer in the form `npm-module-or-app/reducer_name` eg. `@ide-layout/counter`

What's not included
---
- It does not have any client UI components such as React
- It does not configure Redux Store

Useful commands:
---
    npm run build       - build the library files
    npm run test        - run tests once
    npm run test:watch  - run tests in watchmode (Useful for development)
    
Files explained:
---
     src                         - directory is used for typescript code that is part of the project
        index.ts                 - Index file of the package. Consists of exported reducers and actions
        index.spec.ts            - Tests file for main
        actions                  - Contains Actions to transform the state tree
            index.ts             - References all the exported actions
        reducers                 - Contains reducers, pure function with (state, action) => state signature. 
            index.ts             - References all the exported reducers.
     package.json                - file is used to describe the library and packages that are required added under peer-dependencies section
     tsconfig.json               - configuration file for the library compilation
     webpack.config.js           - configuration file of the compilation automation process for the library
                 

[article-1]: https://rjzaworski.com/2016/08/getting-started-with-redux-and-typescript
[article-2]: https://rjzaworski.com/2016/08/typescript-redux-and-react
[article-3]: https://rjzaworski.com/2016/09/typescript-redux-async-actions
[article-4]: https://rjzaworski.com/2016/12/testing-typescript-with-jest
[article-5]: https://rjzaworski.com/2017/01/typescript-redux-thunk
npm package: @ide-stack/client-core
Description: Sample core for higher packages to depend on
Author: CDMBase LLC
Latest version: 0.0.193

# Client Core Package
Helper methods and interfaces that can be used by the client part of the packages 

What does it include:
---
    1. exported reducers
    2. exported actions
    3. exported graphql queries
    4. Typescript 2.0.0 => ES6
    5. unit testing with jest

Purpose:
---
    This package can be installable in front-end webserver

What's not included
---
    It does not have any client UI components such as React
    It does have configured Redux Store

Useful commands:
---
    npm run build       - build the library files
    npm run test        - run tests once
    npm run test:watch  - run tests in watchmode (Useful for development)
    
Files explained:
---
     src                         - directory is used for typescript code that is part of the project
        index.ts                 - Index file of the package. Consists of exported reducers and actions
        index.spec.ts            - Tests file for main
        actions                  - Contains Actions to transform the state tree
            index.ts             - References all the exported actions
        reducers                 - Contains reducers, pure function with (state, action) => state signature. 
            index.ts             - References all the exported reducers.
     package.json                - file is used to describe the library and packages that are required added under peer-dependencies section
     tsconfig.json               - configuration file for the library compilation
     webpack.config.js           - configuration file of the compilation automation process for the library
npm package: @ide-stack/client-react
Description: browser plugin for git
Author: CDMBase LLC
Latest version: 0.0.29

# React Package
React components and containers

What does it include:
---
    1. exported react pure components
    2. exported react containers
    3. Typescript 2.0.0 => ES6
    4. unit testing with jest

Purpose:
---
This package can be installable in front-end webserver

Useful commands:
---
    npm run build       - build the library files
    npm run test        - run tests once
    npm run test:watch  - run tests in watchmode (Useful for development)
    
Files explained:
---
     src                         - directory is used for typescript code that is part of the project
        index.ts                 - Index file of the package. Consists of exported components and containers
        index.spec.ts            - Tests file for main
        components               - All pure components which don't depend on backend data or external state such as redux
            index.ts             - References all the exported components
        containers               - Components with data to render. Tightly coupled with redux. 
            index.ts             - References all the exported containers
     package.json                - file is used to describe the library and packages that are required added under peer-dependencies section
     tsconfig.json               - configuration file for the library compilation
     webpack.config.js           - configuration file of the compilation automation process for the library


Tutorials:
---
[react-jest-enzymes test](https://www.youtube.com/watch?v=bMmntkVM4wQ)

[testing react with enzyme tutorial](http://codeheaven.io/testing-react-components-with-enzyme/)

[react-redux-typescript-guide](https://github.com/piotrwitek/react-redux-typescript-guide)

Performance:
---
[Redux FAQ: Connecting multiple components](http://redux.js.org/docs/FAQ.html#react-multiple-components)

[React/Redux Links: Performance articles](https://github.com/markerikson/react-redux-links/blob/master/react-performance.md)

[React/Redux: Component re-rendering too often?](http://redux.js.org/docs/faq/ReactRedux.html#react-rendering-too-often)
npm package: @ide-stack/client-redux
Description: GraphQL for sample
Author: CDMBase LLC
Latest version: 0.0.29

# Redux Package
Redux npm package includes actions, action-types and reducers

  1. [TypeScript and Redux: getting started][article-1]
  2. [TypeScript and Redux: async actions][article-3]
  3. [TypeScript and Redux: unit testing with Jest][article-4]
  4. [Integrating TypeScript and redux-thunk][article-5]


What does it include:
---
    1. exported reducers
    2. exported actions
    3. exported graphql queries
    4. Typescript 2.0.0 => ES6
    5. unit testing with jest

Purpose:
---
This package can be installable in front-end webserver to use the reducers and actions.

The goal is to make a isolated and reusable module that is self-contained. In order to avoid name conflicts, following rules need to be abide.
1. MUST export a function call reducer()
2. MUST export its action creators as functions
3. MUST have action types in the form `@npm-module-or-app/ACTION_TYPE` eg. `@@ide-stack/INCREMENT_COUNTER`
4. MUST have reducer in the form `npm-module-or-app/reducer_name` eg. `@ide-stack/counter`

What's not included
---
- It does not have any client UI components such as React
- It does not configure Redux Store

Useful commands:
---
    npm run build       - build the library files
    npm run test        - run tests once
    npm run test:watch  - run tests in watchmode (Useful for development)
    
Files explained:
---
     src                         - directory is used for typescript code that is part of the project
        index.ts                 - Index file of the package. Consists of exported reducers and actions
        index.spec.ts            - Tests file for main
        actions                  - Contains Actions to transform the state tree
            index.ts             - References all the exported actions
        reducers                 - Contains reducers, pure function with (state, action) => state signature. 
            index.ts             - References all the exported reducers.
     package.json                - file is used to describe the library and packages that are required added under peer-dependencies section
     tsconfig.json               - configuration file for the library compilation
     webpack.config.js           - configuration file of the compilation automation process for the library
                 

[article-1]: https://rjzaworski.com/2016/08/getting-started-with-redux-and-typescript
[article-2]: https://rjzaworski.com/2016/08/typescript-redux-and-react
[article-3]: https://rjzaworski.com/2016/09/typescript-redux-async-actions
[article-4]: https://rjzaworski.com/2016/12/testing-typescript-with-jest
[article-5]: https://rjzaworski.com/2017/01/typescript-redux-thunk
npm package: @ide-stack/graphql-schema
Description: Sample Schema Module
Author: CDMBase LLC
Latest version: 0.0.29

# @ide-stack/graphql-schema
This package is intended to be used with [Apollo Server](http://docs.apollostack.com/apollo-server/tools.html) to provide an easy way to setup a GraphQL server and connect it to your database. Note that Apollo Server is not a depenedency of this package. 

Usage
---

Sample Schema exports four things: **database**, **resolvers**, **subscriptions** and **typeDefs**.


*resolvers*
Resolvers are functions that tell the server how to find and return the data for each field in a GraphQL query. The resolving functions simply call your Database Connectors by passing in parameters and return the Connectors result (usually a Promise).

After creating your Database and Connectors from Database, you can call the resolvers function by passing in the Connectors and your public application settings (since settings are stored in the application state). Building on the previous examples:

*typeDefs* is a GraphQL Schema based on the queries provided to it from database. With the schema, you can do things like Find Posts by post_type, get the Postmeta of a Post by the post_id, and so on.

*subscriptions* 
GraphQL subscriptions allow developers to introduce new levels of interactivity to their apps with near-realtime updates. You can keep your app updated to the latest changes (that you subscribe to) between different users:

*database*
The first part of Sample Schema is **database**. This class provides an easy connection to your database using some connection settings, explained below.


Files explained:
---
     src                         - directory is used for typescript code that is part of the project
        index.ts                 - Index file of the package. Consists of exported components and containers
        index.spec.ts            - Tests file for main
        modules                  - Fractal route for server-side application module splitting (schema definition, resolvers, subscription filters, database connectors )
     package.json                - file is used to describe the library and packages that are required added under peer-dependencies section
     tsconfig.json               - configuration file for the library compilation
     webpack.config.js           - configuration file of the compilation automation process for the library


Setup
---
`modules` directory consists of the sub directories based on the criteria for module splitting. Each sub-directory may have schema definition, resolvers, subscriptions, database

Schema definition files should have suffix as `.graphql` or `.graphqls`. Resolvers file should be named as `resolvers.ts` and subscriptions filter file as `subscriptions.ts`.

All the files under modules are automatically bundled when you run `npm run build`, so the above naming convention should be followed.

## Reference:
https://github.com/ramsaylanier/WordExpressSchema
npm package: @ide-stack/hemera-counter
Description: This is Container Configuration Service hemera plugin
Latest version: 0.0.29

# hemera-counter

Your plugin description

# Prerequisites

[Install and run NATS Server](http://nats.io/documentation/tutorials/gnatsd-install/)

# Example

```js
'use strict'

const Hemera = require('nats-hemera')
const plugin = require('hemera-counter')
const nats = require('nats').connect()

const hemera = new Hemera(nats, {
  logLevel: 'info'
})

hemera.use(plugin)

hemera.ready(() => {
  hemera.act({
    topic: 'counter',
    cmd: 'add',
    a: 1,
    b: 2
  }, function (err, resp) {
    this.log.info(resp, 'Result')
  })
})

```

# Test

```
npm run test
```

# Code coverage

```
npm run coverage
```

# Linting

```
npm run lint
```
npm package: @ide-stack/microservice-hemera-plugin
Description: This is Container Configuration Service hemera plugin
Latest version: 0.0.29

# hemera-container-manager

Your plugin description

# Requirements

Make sure to set following environment properties

```
    process.env.CLOUDFLARE_EMAIL,
    process.env.CLOUDFLARE_KEY,
    process.env.CLOUDFLARE_ZONE_ID,
```
# Prerequisites

[Install and run NATS Server](http://nats.io/documentation/tutorials/gnatsd-install/)

# Example

```js
'use strict'

const Hemera = require('nats-hemera')
const Plugin = require('hemera-container-manager')
const nats = require('nats').connect()

const hemera = new Hemera(nats, {
  logLevel: 'info'
})

hemera.use(Plugin)

hemera.ready(() => {
  hemera.act({
    topic: 'container-manager',
    cmd: 'add',
    a: 1,
    b: 2
  }, function (err, resp) {
    this.log.info(resp, 'Result')
  })
})

```

# Test

```
npm run test
```

# Code coverage

```
npm run coverage
```

# Linting

```
npm run lint
```