open-index/open-npm huggingface dataset:
npm package: @openledcontrol/core
Description: Core utils of openledcontrol needed by every plugin
Author: Daniel Klingmann
Latest version: 0.0.3

# @openledcontrol/core

Contains the core interfaces, configuration and objects needed for adding plugins. This is required by every plugin.

## Configuration

In your `openledcontrol.toml` file you can set the following options

```
[Core]
# Specify all plugins which should be loaded
# Note that they need to be installed beforehand with npm
Plugins = [
  "@openledcontrol/raspberrypi",
  "@openledcontrol/rest"
]

[Core.LEDStrip]
# Define the length of the LED strip. This is needed to configure
# further services down the line and to set proper sizes for things.
Length = 60
```
npm package: @openledcontrol/gitlab
Description: Add GitLab pipeline support to openledcontrol
Author: Daniel Klingmann
Latest version: 0.0.3

# @openledcontrol/raspberrypi

Adapter to add support for GitLab CI/CD systems

## Description

Allows to display pipeline states on the LED and alternates between projects if multiple are specified.

## Configuration

In your `openledcontrol.toml` file you can set the following options

```
[GitLab]
# Request an API token and put it here
Token = "<my-gitlab-token>"

# If your host differs from the hosted gitlab instance you need
# to specify the host.
Host = "https://gitlab.com"

# The interval with which the projects pipelines should be updated
UpdateInterval = 15000

# Project ids you want to fetch the status for
Projects = [
  1,
  2,
  3
]

# If you specify this it will only take pipeline states from this ref
Only = "master"
```
npm package: @openledcontrol/raspberrypi
Description: Adapter to support LED strips hooked up to a raspberry pi via GPIO pins using the ws281x library.
Author: Daniel Klingmann
Latest version: 0.0.3

# @openledcontrol/raspberrypi

Adapter to support LED strips hooked up to a raspberry pi via GPIO pins using the ws281x library.

## Description

Listens to the @openledcontrol/core LEDStrips render event to then update a lightstrip.

## Configuration

In your `openledcontrol.toml` file you can set the following options

```
[RaspberryPi]
# Color order of the LED strip, might be any ordering
ColorOrder = "grb"
# Maximum brightness of the LED strip
MaximumBrightness = 255
# DMA value (defaults to 10)
DMA = 10
# GPIO pin of the raspberry pi being used
GPIO = 18
```
npm package: @openledcontrol/rest
Description: Adds a REST API to your lightstrip
Author: Daniel Klingmann
Latest version: 0.0.3

# @openledcontrol/rest

Expose a REST api to control your LED strip.

## Installation

#### Using npm

```npm install @openledcontrol/rest```

#### Using yarn

```yarn add @openledcontrol/rest```

## Description

This will host an express server which exposes a few endpoints to control LED strips:

#### GET /capabilities

Returns the capabilities of the LED strip in the following form:

```
// Response
{
  "ledCount": <number>,
  "maximumBrightness": <number>
}
```

#### POST /set-leds

Expects an array of either css hex, hsl or rgb values exactly matching the ledCount from the capabilities call.

If you don't want to set certain LEDs, you can replace the values with null instead.

Responds with 200 OK in case the LEDs were set successfully.

**Note:** This does **not** immediately update any attached LED strip.

```
// Request
[
  "#ffffff",
  "rgb(255,255,255)",
  null,
  "#001122"
]
```

#### POST /render

Triggers an update of the light strip. In case of success will return 200 OK.

This request has neither a request nor response payload.

#### POST /reset

Resets the LEDs on the strip.

This request has neither a request nor response payload.

## Configuration

In your `openledcontrol.toml` file you can set the following options

```
[REST]
# Port number the rest server will listen on. Make sure it's not in use by something else.
Port = 8081
```
npm package: @openlens/application
Description: Package for creating Lens applications
Author: OpenLens Maintainers
Latest version: 6.5.0

# @openlens/application

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/application-for-electron-main
```

```typescript
import { applicationFeature, startApplicationInjectionToken } from "@openlens/application";
import { registerFeature } from "@openlens/feature-core";
import { createContainer } from "@ogre-tools/injectable";

const di = createContainer("some-container");

registerFeature(di, applicationFeature);

const startApplication = di.inject(startApplicationInjectionToken);

startApplication();
```


## Features

#### Start application
`startApplicationInjectionToken`

Starts the application and calls timeslots in specified order. Check for timeslots for more info.

## Extendability

#### Timeslots

1. `beforeApplicationIsLoadingInjectionToken`
2. `onLoadOfApplicationInjectionToken`
3. `afterApplicationIsLoadedInjectionToken`
npm package: @openlens/application-for-electron-main
Description: Electron's main specifics for creating Lens applications
Author: OpenLens Maintainers
Latest version: 6.5.0

# @openlens/application-for-electron-main

This Feature extends `@openlens/application` with Electron specifics.

# Usage
```bash
$ npm install @openlens/application-for-electron-main
```

```typescript
import { applicationFeature, startApplicationInjectionToken } from "@openlens/application";
import { applicationFeatureForElectronMain } from "@openlens/application-for-electron-main";
import { registerFeature } from "@openlens/feature-core";
import { createContainer } from "@ogre-tools/injectable";

const di = createContainer("some-container");

registerFeature(di, applicationFeature, applicationFeatureForElectronMain);

const startApplication = di.inject(startApplicationInjectionToken);

startApplication();
```

# Extendability

### Timeslots

#### `beforeAnythingInjectionToken`

Runnables registered here will be called before anything else. **Special requirement** here is that everything here needs to be synchronous.

#### `beforeElectronIsReadyInjectionToken`

Runnables registered here will be called right after runnables in `beforeAnythingInjectionToken` but still before we are sure that Electron application is ready (`electron.app.whenReady()`). **Special requirement** here is that everything here needs to be synchronous.
npm package: @openlens/button
Description: Highly extendable button in the Lens.
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/button

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/button
```

```typescript
import type { ButtonProps } from "@openlens/button";
import { Button } from "@openlens/button";
```

## Extendability
npm package: @openlens/error-boundary
Description: Highly extendable error-boundary in the Lens.
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/error-boundary

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/error-boundary
```

```typescript
import "@openlens/error-boundary/dist/index.css";
```

## Extendability
npm package: @openlens/eslint-config
Description: Lens eslint and prettier configurations
Author: OpenLens Maintainers
Latest version: 6.5.0

# Lens Code Style

**Note:** This package contains Eslint and Prettier configurations, name of package is `@openlens/eslint-config` just because Eslint has arbitrary requirement (https://eslint.org/docs/latest/extend/shareable-configs).

## Usage

1. Install `@openlens/eslint-config`
2. Create `.prettierrc` that contains `"@openlens/eslint-config/prettier"`
3. Add a `.eslintrc.js` that extends `@openlens/eslint-config/eslint`, for example:

```
module.exports = {
  extends: "@openlens/eslint-config/eslint",
  parserOptions: {
    project: "./tsconfig.json"
  }
};
```

4. Add linting and formatting scripts to `package.json`

```
{
  "scripts": {
    "lint": "lens-lint",
    "lint:fix": "lens-lint --fix"
  }
}
```

6. Run `npm run lint` to lint
7. Run `npm run format` to fix all formatting
npm package: @openlens/feature-core
Description: Code that is common to all Features and those registering them.
Author: OpenLens Maintainers
Latest version: 6.5.0

# @openlens/feature-core

Feature is set of injectables that are registered and deregistered simultaneously.

## Install
```bash
$ npm install @openlens/feature-core
```

## Usage

```typescript
import { createContainer } from "@ogre-tools/injectable"
import { getFeature, registerFeature, deregisterFeature } from "@openlens/feature-core"

// Notice that this Feature is usually exported from another NPM package.
const someFeature = getFeature({
  id: "some-feature",
  
  register: (di) => {
    di.register(someInjectable, someOtherInjectable);
  },
  
  // Feature dependencies are automatically registered and 
  // deregistered when necessary.
  dependencies: [someOtherFeature] 
});

const di = createContainer("some-container");

registerFeature(di, someFeature);

// Or perhaps you want to deregister?
deregisterFeature(di, someFeature);
```

## Need to know

#### NPM packages exporting a Feature
- Prefer `peerDependencies` since they are installed from the application and are not allowed to be in the built bundle. 
- Prefer exporting `injectionToken` instead of `injectable` for not allowing other features to access technical details like the `injectable`
npm package: @openlens/jest
Description: Jest configuration and scripts for Lens packages.
Author: OpenLens Maintainers
Latest version: 6.5.0

# @openlens/jest

This package contains jest configurations and scripts for Lens packages.

## Install

```
$ npm install @openlens/jest
```

## Features

### Package configurations
Shared configurations for minimal duplication.

#### Node

**./packages/<any-package>/jest.config.js**
```javascript
module.exports = require("@openlens/jest").monorepoPackageConfig(__dirname).configForNode;
```

#### React

**./packages/<any-package>/jest.config.js**
```javascript
module.exports = require("@openlens/jest").monorepoPackageConfig(__dirname).configForReact;
```

### Root configuration
You may want to enable testing of packages using single command from root level. This allows you to utilize `jest --watch` between all packages.


**./jest.config.js**
```javascript
module.exports = require("@openlens/jest").monorepoRootConfig(__dirname);
```

### Scripts

#### lens-test
Test package with coverage enforcement. Automatically opens coverage report in case of failure.

**./packages/<any-package>/package.json**
```json
{
 "scripts": {
   "test": "lens-test"
 }         
}
```
npm package: @openlens/keyboard-shortcuts
Description: Keyboard shortcuts for Lens
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/keyboard-shortcuts

This Feature enables keyboard shortcuts in Lens

# Usage

```bash
$ npm install @openlens/keyboard-shortcuts
```

```typescript
import { keyboardShortcutsFeature } from "@openlens/keyboard-shortcuts";
import { registerFeature } from "@openlens/feature-core";
import { createContainer } from "@ogre-tools/injectable";

const di = createContainer("some-container");

registerFeature(di, keyboardShortcutsFeature);
```

## Extendability
npm package: @openlens/kubectl-versions
Description: Package of kubectl versions at build time
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/kubectl-versions

This package contains a JSON array of entries of the format ["MAJOR.MINOR", "MAJOR.MINOR.PATCH"].

This object represents the current (at time of building each release of this package)
greatest PATCH version for each "MAJOR.MINOR" version of `kubectl`.
This is done at compile time so that we don't have to worry about being able to access this data on user machines.
Furthermore, this is dynamic in that the previous method was to update the table by hand.
npm package: @openlens/logger
Description: Highly extendable logger in the Lens.
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/logger

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/logger
```

```typescript
import { loggerFeature } from "@openlens/logger";
import type { Logger } from "@openlens/logger";
import { loggerInjectionToken } from "@openlens/logger";
import { winstonLoggerInjectable } from "@openlens/logger";
import { prefixedLoggerInjectable } from "@openlens/logger";
```

## Extendability
npm package: @openlens/react-application
Description: Package for React Application
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/react-application

# Usage

```bash
$ npm install @openlens/react-application
```

```typescript
import { reactApplicationFeature } from "@openlens/react-application";
import { registerFeature } from "@openlens/feature-core";
import { createContainer } from "@ogre-tools/injectable";

const di = createContainer("some-container");

registerFeature(di, reactApplicationRootFeature);
```

## Extendability
npm package: @openlens/resizing-anchor
Description: Highly extendable resizing-anchor in the Lens.
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/resizing-anchor

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/resizing-anchor
```

```typescript
import { ResizeDirection, ResizeGrowthDirection, ResizeSide, ResizingAnchor } from "@openlens/resizing-anchor";
```

## Extendability
npm package: @openlens/routing
Description: Highly extendable routing in the Lens.
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/routing

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/routing
```

```typescript
import { observableHistoryInjectable } from "@openlens/routing";
import { searchParamsOptions } from "@openlens/routing";
```

## Extendability
npm package: @openlens/tooltip
Description: Highly extendable tooltip in the Lens.
Author: OpenLens Maintainers
Latest version: 1.0.0

# @openlens/tooltip

This package contains stuff related to creating Lens-applications. 

# Usage

```bash
$ npm install @openlens/tooltip
```

```typescript
import { Tooltip, TooltipPosition } from "@openlens/tooltip";
import { withTooltip } from "@openlens/tooltip";

import type { TooltipProps } from "@openlens/tooltip";
import type { TooltipDecoratorProps } from "@openlens/tooltip";

```

## Extendability
npm package: @openlens/typescript
Description: Typescript configuration for Lens packages.
Author: OpenLens Maintainers
Latest version: 6.5.0

# @openlens/typescript

This package contains typescript configurations for Lens packages.

## Install

```
$ npm install @openlens/typescript
```

## Features

### Base configuration
Base configuration for minimal duplication.

**tsconfig.json**
```json
{
  "extends": "@openlens/typescript/config/base.json"
}
```
npm package: @openlens/webpack
Description: Webpack configurations and scripts for Lens packages.
Author: OpenLens Maintainers
Latest version: 6.5.0

# @openlens/webpack

This package contains webpack configurations for Lens packages.

## Install

```
$ npm install @openlens/webpack
```

## Features

### Configurations

### Node package
This configuration should be used when creating package that will be executed within **Node** environment. 

**webpack.config.js**
```javascript
module.exports = require("@openlens/webpack").configForNode;
```
### React package
This configuration should be used when creating package tha will be executed within **Browser** environment.

**webpack.config.js**
```javascript
module.exports = require("@openlens/webpack").configForReact;
```

### Multi export package

This configuration should be used when package contains **multiple entrypoint** e.g. for different environments. You need to add `lensMultiExportConfig` to `package.json` with configuration. Note that also `exports` property needs to be set, but the correct values are generated from `lensMultiExportConfig` when using `lens-build` -script.

**webpack.config.js**
```javascript
const packageJson = require("./package.json");

module.exports = require("@openlens/webpack").getMultiExportConfig(packageJson);
```

**package.json**
```json
{
  "lensMultiExportConfig": {
    "./main": {
      "buildType": "node",
      "entrypoint": "./src/main/index.ts"
    },
    "./renderer": {
      "buildType": "react",
      "entrypoint": "./src/renderer/index.ts"
    }
  },

  "exports": {
    "./main": {
      "types": "./dist/main/index.d.ts",
      "require": "./dist/main/index.js",
      "import": "./dist/main/index.js",
      "default": "./dist/main/index.js"
    },
    "./renderer": {
      "types": "./dist/renderer/index.d.ts",
      "require": "./dist/renderer/index.js",
      "import": "./dist/renderer/index.js",
      "default": "./dist/renderer/index.js"
    }
  }
}
```

## Scripts

1. `lens-build` which builds the packages
2. `lens-remove-build` which removes the build directory from packages. It's useful for cleaning up.
npm package: @openlettermarketing/olc-nuxt-sdk
Description: Simplify template builder integration for any product.
Author: Open Letter Marketing
Latest version: 1.3.0

# olc-vue-sdk

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @openlettermarketing/olc-vue-sdk
Description: Simplify template builder integration for any product.
Author: Open Letter Marketing
Latest version: 2.1.4

# olc-vue-sdk

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @openli1115/lowcode-edit-pro-table
Description: @openli1115/lowcode-edit-pro-table
Author: fusion-team
Latest version: 1.0.53

# lowcode-edit-pro-table

一个面向 PC 的业务组件库

## 本地安装

```
yarn
```

## 本地开发
```
yarn lowcode:dev             # 打开开发环境，运行所有组件
```

## 本地构建

```
yarn lowcode:build
```

## 发布到npm
```
yarn publish
```