open-index/open-npm huggingface dataset:
npm package: @selectel/ts-check
Description: CLI utility for checking types using TypeScript server
Latest version: 1.0.0

# CLI utility for checking types using TypeScript server

Type checking is performed using the TypeScript server [project system](https://github.com/microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29#project-system).

## Requirements

This package requires at least typescript 5.

## Install

Install `typescript` and `@selectel/ts-check` using your package manager.

```bash
npm install --save-dev typescript @selectel/ts-check
```

## Usage

```bash
npx ts-check [<files...>]
```

The arguments are a list of files to check. Other options:

```
ts-check [options] [<files...>]

Checking types for the passed list of files

Options:
      --no-color           Disable colors for output                  [boolean]
  -b, --code-lines-before  Print <number> lines of code before error  [number]
  -a, --code-lines-after   Print <number> lines of code after error   [number]
      --gitlab-report      Path to gitlab code quality report file    [string]
  -v, --verbose            Run with verbose logging                   [boolean]
  -h, --help               Show a help message                        [boolean]
      --files              A list of files for type checking          [Array<string>]
```

## GitLab code quality

Define a GitLab job to run `ts-check`.

_.gitlab-ci.yml_:

```yaml
ts-check:
  image: node:20-alpine
  script:
    - npm ci
    - npx ts-check --gitlab-report ts-check-report.json <paths/to/files/*.ts>
  artifacts:
    reports:
      codequality: ts-check-report.json
```

## TypeScript server

The package also provides an simple interface for communicating with the TypeScript server.

```ts
import ts from "typescript";
import { TsServer } from "@selectel/ts-check";

const file = "test.ts";

// Request to open file
const openRequest: ts.server.protocol.OpenRequest = {
  seq: 1,
  type: "request",
  command: ts.server.protocol.CommandTypes.Open,
  arguments: { file },
};

// Request to search for errors in a file
const diagnosticRequest: ts.server.protocol.SemanticDiagnosticsSyncRequest = {
  seq: 2,
  type: "request",
  command: ts.server.protocol.CommandTypes.SemanticDiagnosticsSync,
  arguments: { file },
};

// Create a server instance
const server = new TsServer();

// RxJs observable with server responses
const responses$ = server.listen();

// Subscribe to server responses
responses$.subscribe(console.log);

// Sending requests to the server
server.send(openRequest);
server.send(diagnosticRequest);
```

## Other

* [Documentation of TypeScript server](https://github.com/microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
* [Example usage of TypeScript server](https://github.com/mmorearty/tsserver-example)
* [GitLab Code Quality documentation](https://docs.gitlab.com/ee/ci/testing/code_quality.html)
npm package: @selectfromuser/cli
Description: Local editor for selectfromuser.com
Author: Selectfromuser Inc.
Latest version: 1.0.8

# openselect

### 셀렉트클라우드 공식 CLI

셀렉트 클라우드에서 어드민을 만들때 자체 로컬환경, 에디터를 이용할 수 있도록 인터페이스를 제공합니다. 복잡한 설치나 연동 없이 CRUD를 완성하는 목적을 달성하면서, 본인의 자유로운 환경을 그대로 이용 가능하는 것을 목표로 만들어졌습니다. 아직은 로컬 데이터베이스, API를 연결 하도록 바로 지원하지 않지만 ngrok등을 이용해 쉽게 가능합니다. (무료로)

제공
selectfromuser.com 

### 사용법

- `npm i -g @selectfromuser/cli`
- `slt login`
- `slt init`
- `slt` (`slt dev`와 동일)

### YAML 파일

로컬 결과물을 바로 볼수있도록 클라우드 해당 팀으로 preview URL이 발급됩니다.

파일, 폴더 변경으로 watch-reload 합니다.

### Directory-based routing

내용 추가 예정
npm package: @selection-rs/selection
Description: Selection crate binding for Node.js
Latest version: 0.1.0

# @selection-rs/selection

Get the text selected by the cursor. Node.js binding of the awesome [Selection](https://github.com/pot-app/Selection) rust crate.

## Installation

```sh
npm i @selection-rs/selection
yarn add @selection-rs/selection
pnpm add @selection-rs/selection
```

## Usage

```ts
import { getText } from "@selection-rs/selection";

console.log(getText());
```

## Credits

- Original crate: [Selection](https://github.com/pot-app/Selection), modified to be used as a Node.js binding.

## License

GPLv3
npm package: @selection01/rs
Description: Get the text selected by the cursor. Node.js binding of the awesome [Selection](https://github.com/pot-app/Selection) rust crate.
Latest version: 1.1.0

# @selection-rs/selection

Get the text selected by the cursor. Node.js binding of the awesome [Selection](https://github.com/pot-app/Selection) rust crate.

## Installation

```sh
npm i @selection-rs/selection
yarn add @selection-rs/selection
pnpm add @selection-rs/selection
```

## Usage

```ts
import { getText } from "@selection-rs/selection";

console.log(getText());
```

## Credits

- Original crate: [Selection](https://github.com/pot-app/Selection), modified to be used as a Node.js binding.

## License

GPLv3
npm package: @selective/atom
Description: Atom bindings for selective
Latest version: 0.3.0

# ![Selective Atom](docs/selective-atom.png)

[![NPM Version](https://img.shields.io/npm/v/@selective/atom.svg)](https://www.npmjs.com/package/@selective/atom)
[![Linux Build Status](https://travis-ci.org/ChristianMurphy/selective.svg?branch=master)](https://travis-ci.org/ChristianMurphy/selective)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/5vcbepc478hkyt2f/branch/master?svg=true)](https://ci.appveyor.com/project/ChristianMurphy/selective/branch/master)

> Atom plugin, wrapped and officially released by [linter-selective](https://github.com/ChristianMurphy/linter-selective)

## Installation

```shell
# apm
apm install linter-selective

# npm
npm install @selective/atom

# yarn
yarn add @selective/atom
```

## References

- [Atom][]
- [Linter Selective][]

[atom]: https://atom.io
[linter selective]: https://github.com/rehypejs/rehype
npm package: @selective/lint
Description: Apply selective rules to an HTML string
Author: Christian Murphy
Latest version: 0.3.0

# ![selective lint](docs/selective-lint.png)

[![NPM Version](https://img.shields.io/npm/v/@selective/lint.svg)](https://www.npmjs.com/package/@selective/lint)
[![Linux Build Status](https://travis-ci.org/ChristianMurphy/selective.svg?branch=master)](https://travis-ci.org/ChristianMurphy/selective)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/5vcbepc478hkyt2f/branch/master?svg=true)](https://ci.appveyor.com/project/ChristianMurphy/selective/branch/master)

> Creates a [Rehype][] plugin from JSON rules to check for HTML anti patterns and reports issues back as [vFile][] messages

## Installation

```shell
# npm
npm install @selective/lint

# yarn
yarn add @selective/lint
```

## Usage

<!-- eslint-disable no-console -->

```javascript
const rehype = require("rehype");
const lint = require("@selective/lint");
const { readFileSync } = require("fs");

rehype()
  .use(lint, [
    {
      name: "img-alt",
      description: "image tag must contain an alt property",
      recommended: "warn",
      selector: "img:not([alt])",
    },
  ])
  .process(readFileSync("somefile.html"), (err) => {
    console.error(err);
  });
```

## References

- [Rehype][]
- [Unified Plugin API][]
- [vFile][]

[rehype]: https://github.com/rehypejs/rehype
[unified plugin api]: https://unifiedjs.github.io/create-a-plugin.html
[vfile]: https://github.com/vfile/vfile
npm package: @selective/marker
Description: Rehype plugin to run selective lint
Author: Christian Murphy
Latest version: 0.3.0

# ![Selective Marker](docs/selective-marker.png)

[![NPM Version](https://img.shields.io/npm/v/@selective/marker.svg)](https://www.npmjs.com/package/@selective/marker)
[![Linux Build Status](https://travis-ci.org/ChristianMurphy/selective.svg?branch=master)](https://travis-ci.org/ChristianMurphy/selective)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/5vcbepc478hkyt2f/branch/master?svg=true)](https://ci.appveyor.com/project/ChristianMurphy/selective/branch/master)

> Parse selective rule comments from HTML, compatible [`unified-message-control`](https://github.com/unifiedjs/unified-message-control).

## Installation

```shell
# npm
npm install @selective/marker

# yarn
yarn add @selective/marker
```

## Usage

<!-- eslint-disable no-console -->

```javascript
const marker = require("@selective/marker");

const hastNode = {
  type: "comment",
  value: "selective ignore test",
};

const result = marker(hastNode);

console.log(result);
// {
//   name: "selective",
//   attributes: "ignore test",
//   parameters: {
//     ignore: true,
//     test: true
//   },
//   {
//     type: "comment",
//     value: "selective ignore test"
//   }
// }
```

## References

- [Hast][]
- [Unified Message Control][]
- [Mdast Comment Marker][]

[hast]: https://github.com/syntax-tree/hast
[unified message control]: https://github.com/unifiedjs/unified-message-control
[mdast comment marker]: https://github.com/syntax-tree/mdast-comment-marker
npm package: @selective/parse
Description: Parse selective configuration files into JSON
Author: Christian Murphy
Latest version: 0.3.0

# ![selective parse](docs/selective-parse.png)

[![NPM Version](https://img.shields.io/npm/v/@selective/parse.svg)](https://www.npmjs.com/package/@selective/parse)
[![Linux Build Status](https://travis-ci.org/ChristianMurphy/selective.svg?branch=master)](https://travis-ci.org/ChristianMurphy/selective)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/5vcbepc478hkyt2f/branch/master?svg=true)](https://ci.appveyor.com/project/ChristianMurphy/selective/branch/master)

> Converts selective's css-like domain specific language to a list of JSON rules

## Installation

```shell
# npm
npm install @selective/parse

# yarn
yarn add @selective/parse
```

## Usage

<!-- eslint-disable no-console -->

```javascript
const parse = require("@selective/parse");

const rules = parse(
  ".test {name: 'test-name'; description: 'test description'; recommended: warn}"
);

console.log(rules);
// [
//   {
//     name: "test-name",
//     description: "test description",
//     recommended: "warn",
//     selector: ".test"
//   }
// ]
```

## References

- [PostCSS API](https://api.postcss.org/)
npm package: @selective/rehype
Description: Rehype plugin to run selective lint
Author: Christian Murphy
Latest version: 0.3.0

# ![Selective Rehype](docs/selective-rehype.png)

[![NPM Version](https://img.shields.io/npm/v/@selective/rehype.svg)](https://www.npmjs.com/package/@selective/rehype)
[![Linux Build Status](https://travis-ci.org/ChristianMurphy/selective.svg?branch=master)](https://travis-ci.org/ChristianMurphy/selective)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/5vcbepc478hkyt2f/branch/master?svg=true)](https://ci.appveyor.com/project/ChristianMurphy/selective/branch/master)

> Use [CSS Selectors][] to describe anti-patterns in HTML

## Installation

```shell
# npm
npm install @selective/rehype

# yarn
yarn add @selective/rehype
```

## Creating Rules

create a configuration in a _.selective_ file.

`@selective/rehype` will look for a _config.selective_ file in the current folder by default.

The rules language is designed to work similar to CSS.
Use a [CSS Selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors) to find HTML elements.

Instead of the usual style rules, linter rules are used.

- `name` a unique identifier for easily tracking down the rule
- `description` an explanation of the problem.
- `recommended` how this will be reported, can be one of:
  - `error` will stop processing and return an error code
  - `warn` will continue processing, but highlight as important, no error code.
  - `info` will continue processing, no error code.
  - `off` disabled

## Example Rules

```css
img:not([alt]) {
  name: "img-alt";
  description: "image tag must contain an alt property";
  recommended: warn;
}

img:not([src]) {
  name: "img-src";
  description: "image tag must contain an src property";
  recommended: warn;
}

ol > :not(li),
ul > :not(li),
:not(ol) > li,
:not(ul) > li {
  name: "list-item";
  description: "unorder lists, ordered lists, and list items must have a direction relationship";
  recommended: warn;
}
```

## Rehype CLI Usage

in _package.json_ through [rehype][].

```json
{
  "devDependencies": {
    "rehype": "^5.0.0",
    "@selective/rehype": "0.0.3"
  },
  "rehype": {
    "plugins": ["@selective/rehype"]
  }
}
```

this can be additionally customized with a custom config file path

```json
{
  "devDependencies": {
    "rehype": "^5.0.0",
    "@selective/rehype": "0.0.3"
  },
  "rehype": {
    "plugins": [["@selective/rehype", { "config": "custom.selective" }]]
  }
}
```

## Programmatic Usage

<!-- eslint-disable no-console -->

```javascript
const rehype = require("rehype");
const selectiveRehype = require("@selective/rehype");
const { readFileSync } = require("fs");

rehype()
  .use(selectiveRehype, {
    config: "config.selective",
  })
  .process(readFileSync("somefile.html"), (err) => {
    console.error(err);
  });
```

## References

- [Rehype][]
- [CSS Selectors][]

[css selectors]: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors
[rehype]: https://github.com/rehypejs/rehype