open-index/open-npm huggingface dataset:
npm package: @remix-project/plugin-ws
Description: This library is a connector that connects a node server to using the `ws` library to the engine.
Author: GrandSchtroumpf
Latest version: 0.3.44

# Plugin ws
This library is a connector that connects a node server to using the `ws` library to the engine.

If you do not expose any API you can create an instance like this :
```typescript
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
  const client = createClient(ws)
})
```

If you need to expose an API to other plugin you need to extends the class: 
```typescript
class MyPlugin extends PluginClient {
 methods = ['hello']
 hello() {
  console.log('Hello World')
 }
}
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
 const client = createClient(ws, new MyPlugin())
})
```
npm package: @remix-project/remix-analyzer
Description: Tool to perform static analysis on Solidity smart contracts
Author: Remix Team
Latest version: 0.5.98

## Remix Analyzer
[![npm version](https://badge.fury.io/js/%40remix-project%2Fremix-analyzer.svg)](https://www.npmjs.com/package/@remix-project/remix-analyzer)
[![npm](https://img.shields.io/npm/dt/@remix-project/remix-analyzer.svg?label=Total%20Downloads)](https://www.npmjs.com/package/@remix-project/remix-analyzer)
[![npm](https://img.shields.io/npm/dw/@remix-project/remix-analyzer.svg)](https://www.npmjs.com/package/@remix-project/remix-analyzer)
[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/remix-project-org/remix-project/tree/master/libs/remix-analyzer)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/remix-project-org/remix-project/issues)

`@remix-project/remix-analyzer` is a tool to perform static analysis on Solidity smart contracts to check security vulnerabilities and bad development practices. It works underneath Remix IDE "SOLIDITY STATIC ANALYSIS" plugin which is used to run analysis for a compiled contract according to selected modules.

### Installation
`@remix-project/remix-analyzer` is an NPM package and can be installed using NPM as:

`yarn add @remix-project/remix-analyzer`

### How to use

`@remix-project/remix-analyzer` exports below interface:

```
import { CompilationResult, AnalyzerModule, AnalysisReport } from 'types';
declare type ModuleObj = {
    name: string;
    mod: AnalyzerModule;
};
export default class staticAnalysisRunner {
    /**
     * Run analysis (Used by IDE)
     * @param compilationResult contract compilation result
     * @param toRun module indexes (compiled from remix IDE)
     * @param callback callback
     */
    run(compilationResult: CompilationResult, toRun: number[], callback: ((reports: AnalysisReport[]) => void)): void;
    
    /**
     * Run analysis passing list of modules to run
     * @param compilationResult contract compilation result
     * @param modules analysis module
     * @param callback callback
     */
    runWithModuleList(compilationResult: CompilationResult, modules: ModuleObj[], callback: ((reports: AnalysisReport[]) => void)): void;
    
    /**
     * Get list of all analysis modules
     */
    modules(): any[];
}
```
One can import the module and use the available methods to run analysis. Related type descriptions can be seen [here](https://github.com/remix-project-org/remix-project/blob/master/libs/remix-analyzer/src/types.ts).

Details of modules are explained in [official remix-ide documentation](https://remix-ide.readthedocs.io/en/latest/static_analysis.html).

### Contribute

Please feel free to open an issue or a pull request. 

In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/remix-project-org/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Discord](https://discord.gg/9bw6pMWEAw) in case of any queries.

### License
MIT © 2018-21 Remix Team
npm package: @remix-project/remix-astwalker
Description: Tool to walk through Solidity AST
Author: Remix Team
Latest version: 0.0.119

## Remix Astwalker
[![npm version](https://badge.fury.io/js/%40remix-project%2Fremix-astwalker.svg)](https://www.npmjs.com/package/@remix-project/remix-astwalker)
[![npm](https://img.shields.io/npm/dt/@remix-project/remix-astwalker.svg?label=Total%20Downloads)](https://www.npmjs.com/package/@remix-project/remix-astwalker)
[![npm](https://img.shields.io/npm/dw/@remix-project/remix-astwalker.svg)](https://www.npmjs.com/package/@remix-project/remix-astwalker)
[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/remix-project-org/remix-project/tree/master/libs/remix-astwalker)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/remix-project-org/remix-project/issues)

`@remix-project/remix-astwalker` is a tool to parse AST (Abstract Syntax Tree) generated by Solidity compiler to perform certain operations. It is used in `remix-analyzer`, `remix-debug` and in `contextualListener` plugin of Remix IDE.

### Installation
`@remix-project/remix-astwalker` is an NPM package and can be installed using NPM as:

`yarn add @remix-project/remix-astwalker`

### How to use

`@remix-project/remix-astwalker` can be used as:

```ts
import { AstWalker } from "remix-astwalker";

const astWalker = new AstWalker();
astWalker.on("node", node => {
  if (node.nodeType === "ContractDefinition") {
    checkContract(st, node);
  }

  if (node.nodeType === "PragmaDirective") {
    checkProgramDirective(st, node);
  }
});
```

### Contribute

Please feel free to open an issue or a pull request. 

In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/remix-project-org/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Discord](https://discord.gg/9bw6pMWEAw) in case of any queries.

### License
MIT © 2018-21 Remix Team
npm package: @remix-project/remix-lib
Description: Library to various Remix tools
Author: Remix Team
Latest version: 0.5.98

## Remix Lib
[![npm version](https://badge.fury.io/js/%40remix-project%2Fremix-lib.svg)](https://www.npmjs.com/package/@remix-project/remix-lib)
[![npm](https://img.shields.io/npm/dt/@remix-project/remix-lib.svg?label=Total%20Downloads)](https://www.npmjs.com/package/@remix-project/remix-lib)
[![npm](https://img.shields.io/npm/dw/@remix-project/remix-lib.svg)](https://www.npmjs.com/package/@remix-project/remix-lib)
[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/remix-project-org/remix-project/tree/master/libs/remix-lib)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/remix-project-org/remix-project/issues)

`@remix-project/remix-lib` is a common library to various remix tools. It is used in `remix-astwalker`, `remix-analyzer`, `remix-debug`, `remix-simulator`, `remix-solidity`, `remix-tests` libraries and in Remix IDE codebase.

### Installation
`@remix-project/remix-lib` is an NPM package and can be installed using NPM as:

`yarn add @remix-project/remix-lib`

### How to use

`@remix-project/remix-lib` exports:

```
{
    EventManager: EventManager,
    helpers: {
      ui: uiHelper,
      compiler: compilerHelper
    },
    Storage: Storage,
    util: util,
    execution: {
      EventsDecoder: EventsDecoder,
      txExecution: txExecution,
      txHelper: txHelper,
      executionContext: new ExecutionContext(),
      txFormat: txFormat,
      txListener: TxListener,
      txRunner: TxRunner,
      typeConversion: typeConversion
    },
    UniversalDApp: UniversalDApp
}
```

### Contribute

Please feel free to open an issue or a pull request. 

In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/remix-project-org/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Discord](https://discord.gg/9bw6pMWEAw) in case of any queries.

### License
MIT © 2018-21 Remix Team
npm package: @remix-project/remix-ws-templates
Description: Create a Remix IDE workspace using different templates
Author: Aniket-Engg
Latest version: 1.0.85

## remix-ws-templates
[![npm version](https://badge.fury.io/js/%40remix-project%2Fremix-ws-templates.svg)](https://www.npmjs.com/package/@remix-project/remix-ws-templates)


`@remix-project/remix-ws-templates` is used to create a workspace using different templates on Remix IDE.

### Installation

`@remix-project/remix-ws-templates` is an NPM package and can be installed using NPM as:

`yarn add @remix-project/remix-ws-templates`

### Contribute

Please feel free to open an issue or a pull request. 

In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/remix-project-org/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Discord](https://discord.gg/9bw6pMWEAw) in case of any queries.   

### License
MIT © 2022 Remix Team
npm package: @remix-pwa/cache
Description: A thin-layered wrapper around the browser's Cache Storage API that supercharges your Remix PWA's caching capabilities.
Latest version: 2.0.12
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# `@remix-pwa/cache`

`@remix-pwa/cache` is a thin wrapper around the browser's Cache Storage & Cache API that supercharges your normal browser cache with LRU (least recently used) capabilities as well as expiration and versioning.

https://remix-pwa.run/docs/remix-cache

## Installation

```bash
npm install @remix-pwa/cache
```

## API

Check out the [repository](https://github.com/remix-pwa/monorepo) for more information on when the docs would be available.

In the meantime, feel free to play around with the library.
npm package: @remix-pwa/strategy
Description: A collection of service worker strategies for Remix PWA
Latest version: 2.1.9
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# `@remix-pwa/strategy`

`@remix-pwa/strategy` is a new package that was part of the `sw` package in Remix PWA v2. It contains several APIs for caching with multiple strategies including `cacheFirst`, `networkFirst`, `staleWhileRevalidate` and `networkOnly`.

## Installation

```bash
npm install @remix-pwa/strategy
```

## API

Check out the [repository][repository] for more information on when the docs would be available.

[repository]: https://github.com/remix-pwa/monorepo