open-index/open-npm huggingface dataset:
npm package: @linaria/atomic
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.1

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/babel-plugin-interop
Description: <p align="center">   <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496"> </p>
Author: Anton Evzhakov
Latest version: 7.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

# `@linaria/babel-plugin-interop`

This plugin allows to interpolate Linaria components inside styled-components and Emotion:
```javascript
import styled from 'styled-components';
import { Title } from './Title.styled'; // Linaria component

const Article = () => { /* … */ };

export default styled(Article)`
  & > ${Title} {
    color: green;
  }
`;

```

## Quick start

Install the plugin first:

```
npm install --save-dev @linaria/babel-plugin-interop
```

Then add `@linaria/interop` to your babel configuration *before* `styled-components`:

```JSON
{
  "plugins": [
    ["@linaria/interop", { "library": "styled-components" }],
    "styled-components"
  ]
}
```
npm package: @linaria/babel-preset
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/cli
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/core
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/esbuild
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/extractor
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/logger
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/postcss-linaria
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

 
## Setup

Please check the Linaria [linting documentation](https://github.com/callstack/linaria/blob/master/docs/LINTING.md) for setup instructions.

## Acknowledgements
This project wouldn't have been possible without the following libraries or the people behind them.

- [postcss-lit](https://github.com/43081j/postcss-lit) (One of the first CSS-in-JS custom syntaxes)
- [stylelint](https://stylelint.io/)
- [postcss](https://postcss.org/)

### 📖 Please refer to [GitHub](https://github.com/callstack/linaria#readme) for full documentation.
npm package: @linaria/react
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.1

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/rollup
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/server
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/shaker
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.3

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/stylelint
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

## Setup

Please check the Linaria [linting documentation](https://github.com/callstack/linaria/blob/master/docs/LINTING.md) for setup instructions.

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.
npm package: @linaria/stylelint-config-standard-linaria
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 7.0.0

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

 
## Setup

Please check the Linaria [linting documentation](https://github.com/callstack/linaria/blob/master/docs/LINTING.md) for setup instructions.

## Acknowledgements
This project wouldn't have been possible without the following libraries or the people behind them.

- [postcss-lit](https://github.com/43081j/postcss-lit) (One of the first CSS-in-JS custom syntaxes)
- [stylelint](https://stylelint.io/)
- [postcss](https://postcss.org/)

### 📖 Please refer to [GitHub](https://github.com/callstack/linaria#readme) for full documentation.
npm package: @linaria/tags
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.2

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/utils
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.2

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/vite
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/webpack-loader
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/webpack4-loader
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linaria/webpack5-loader
Description: Blazing fast zero-runtime CSS in JS library
Latest version: 5.0.4

<p align="center">
  <img alt="Linaria" src="https://raw.githubusercontent.com/callstack/linaria/HEAD/website/assets/linaria-logo@2x.png" width="496">
</p>

<p align="center">
Zero-runtime CSS in JS library.
</p>

---

### 📖 Please refer to the [GitHub](https://github.com/callstack/linaria#readme) for full documentation.

## Features

- Write CSS in JS, but with **zero runtime**, CSS is extracted to CSS files during build
- Familiar **CSS syntax** with Sass like nesting
- Use **dynamic prop based styles** with the React bindings, uses CSS variables behind the scenes
- Easily find where the style was defined with **CSS sourcemaps**
- **Lint your CSS** in JS with [stylelint](https://github.com/stylelint/stylelint)
- Use **JavaScript for logic**, no CSS preprocessor needed
- Optionally use any **CSS preprocessor** such as Sass or PostCSS

**[Why use Linaria](../../docs/BENEFITS.md)**

## Installation

```sh
npm install @linaria/core @linaria/react @linaria/babel-preset
```

or

```sh
yarn add @linaria/core @linaria/react @linaria/babel-preset
```
npm package: @linatang/playwright-sessions-mcp
Description: Session-aware wrapper MCP server for Playwright with explicit sessionId routing
Latest version: 0.1.0

# playwright-sessions-mcp

A session-aware MCP server that manages multiple persistent browser profiles and routes browser actions with explicit `sessionId`.

## Features

- Explicit `sessionId` routing for deterministic multi-session automation
- Lazy session launch: browser child process starts on first browser action
- Startup probe discovery of child Playwright MCP tools
- Dynamic wrapper tool registration from discovered child tool catalog
- Session lifecycle tools: create, list, close, restart

## Requirements

- Node.js 20+
- npm
- Network access for `npx @playwright/mcp@latest` unless pre-cached locally

## Install

### Global install

```bash
npm install -g @linatang/playwright-sessions-mcp@latest
```

Run:

```bash
playwright-sessions-mcp
```

### Run with npx

```bash
npx -y @linatang/playwright-sessions-mcp@latest
```

## Local Development

From project root:

```bash
npm install
npm run dev
```

Build and run compiled output:

```bash
npm run build
npm start
```

## MCP Client Configuration Example

Use this in your MCP client config:

```json
{
  "mcpServers": {
    "playwright-sessions": {
      "command": "playwright-sessions-mcp"
    }
  }
}
```

If not globally installed:

```json
{
  "mcpServers": {
    "playwright-sessions": {
      "command": "npx",
      "args": ["-y", "@linatang/playwright-sessions-mcp@latest"]
    }
  }
}
```

## Environment Variables

- `PSMCP_PROFILE_ROOT`
- `PSMCP_DEFAULT_BROWSER` (`chrome` | `msedge` | `chromium`)
- `PSMCP_LOG_LEVEL`
- `PSMCP_HEADLESS_DEFAULT`
- `PSMCP_BROWSER_EXECUTABLE`
- `PSMCP_PLAYWRIGHT_MCP_COMMAND` (advanced)
- `PSMCP_PLAYWRIGHT_MCP_ARGS` (advanced)

## Tooling Overview

Session lifecycle tools:

- `create_session`
- `list_sessions`
- `close_session`
- `restart_session`
- `list_local_profiles`

Routed browser tools are discovered from child Playwright MCP and registered with a required `sessionId` in each tool input schema.

## Troubleshooting

- Startup fails at probe discovery:
  - Ensure `npx` is available and can run `@playwright/mcp@latest`.
  - Verify outbound network access.
- Browser launch fails:
  - Check profile directory permissions.
  - Try a different `PSMCP_PROFILE_ROOT`.
  - Set `PSMCP_BROWSER_EXECUTABLE` if browser auto-detection is wrong.

## License

MIT
npm package: @linc-technologies/ember-paper-password
Description: Password input with strength meter / requirements for Ember Paper
Author: Paul Nicholls
Latest version: 0.4.4

# ember-paper-password

A password input for [Ember Paper](https://github.com/miguelcobain/ember-paper) which integrates strength checking from [zxcvbn](https://github.com/dropbox/zxcvbn).

[Demo](https://developers.linc-ed.com/ember-paper-password/)

## Installation

* `ember install @linc-technologies/ember-paper-password`

## Compatibility

* Ember.js v3.12 or above
* Ember CLI v2.13 or above
* Node.js v10 or above

## Usage

`paper-password` passes most parameters through to the underlying `paper-input`.  See the [paper-input documentation](http://miguelcobain.github.io/ember-paper/#/components/input) for more information on which parameters are supported.

In addition to `paper-input` parameters, `paper-password` supports the following parameters:
* `minStrength`: Integer, defaults to `3`.  Minimum strength required for this field to pass validation; also sets the point at which `md-warn` is applied to / removed from the progress bar.
* `strengthLabel`: String, defaults to `'Password strength: '`.  Label shown below the input to indicate password strength.
* `strengthLevels`: Array, defaults to `['Very Poor', 'Poor', 'Fair', 'Good', 'Excellent']`.  Array of 5 strings which map to `zxcvbn`'s strength levels 0-4.
* `passwordErrorMessage`: String, defaults to `'Please enter a stronger password.'`.  Error message when a password is specified but does not meet the field's `minStrength`.
* `inputClass`: String, defaults to `null`.  Additional CSS class(es) to be added to the underlying `paper-input`.

```hbs
<PaperPassword
  @label="Password"
  @type="password"
  @value={{this.password}}
  @onChange=(fn (mut password))
/>
````

## TODO

Potential improvements include:
* Displaying the feedback from zxcvbn (problems and/or suggestions)

### Linting

* `npm run lint:hbs`
* `npm run lint:js`
* `npm run lint:js -- --fix`

### Running tests

* `ember test` – Runs the test suite on the current Ember version
* `ember test --server` – Runs the test suite in "watch mode"
* `ember try:each` – Runs the test suite against multiple Ember versions

### Running the dummy application

* `ember serve`
* Visit the dummy application at [http://localhost:4200](http://localhost:4200).

For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).

## License

This project is licensed under the [MIT License](LICENSE.md).
npm package: @linch-tech/create-desktop-app
Description: Create a new Linch Desktop application
Latest version: 0.3.0

# @linch-tech/create-desktop-app

Create a new Linch Desktop application with one command.

## Usage

```bash
# Interactive mode
npx @linch-tech/create-desktop-app my-app

# Non-interactive mode (for CI/scripts)
npx @linch-tech/create-desktop-app my-app -y

# With custom options
npx @linch-tech/create-desktop-app my-app -y -d "My App Name" -i "com.company.myapp"
```

## Options

| Option | Description |
|--------|-------------|
| `-t, --template <template>` | Template to use (default: "default") |
| `-d, --display-name <name>` | Display name shown in title bar |
| `-i, --identifier <id>` | App identifier (e.g., com.company.app) |
| `-y, --yes` | Skip prompts and use defaults/provided values |

## What's included

- Tauri v2 + React 19 desktop application
- TypeScript configuration
- TailwindCSS v4 styling
- i18n internationalization
- SQLite database support
- Auto-updater integration
- Pre-configured development environment

## After creating

```bash
cd my-app
pnpm install
pnpm tauri:dev
```

## License

MIT
npm package: @linch90/digit-only-directive
Description: A angular directive to allow digit only input.
Author: linch90;晗林科技
Latest version: 2.0.0

# DigitOnlyDirective

A angular directive to allow digit only input.

**Module**

```typescript
import { DigitOnlyDirectiveModule } from "@linch90/digit-only-directive";
```

# Example

[Stackblitz](https://stackblitz.com/edit/digit-only)

```html
<input
  type="text"
  class="form-control"
  id="digitOnlyInput"
  digitOnly
  [decimal]="true"
/>
```

# API

### Selector

_input[digitOnly],textarea[digitOnly]_

| Name             | Description                                                     |
| ---------------- | --------------------------------------------------------------- |
| decimal          | default: `false`, if support decimal                            |
| decimalSeparator | `'.'`, the separator of decimal                                 |
| min              | `-Infinity`, the min value that allowed                         |
| max              | `Infinity`, the max value that allowed                          |
| pattern          | `string \| RegExp \| undefined`, the digit pattern that allowed |
npm package: @linch90/geo-coordinates-pipes
Description: Latitude, Longitude and Magnetic variation pipes for angular.
Author: linch90;晗林科技
Latest version: 3.0.0

# GeoCoordinatesPipes

Angular pipes to display coordinates(latitude and longitude), magnetic variation nicely.

## Setup

The pipes are in the _@linch90/geo-coordinates-pipes_ package, here is how you import them in your Angular module:

```typescript
import { GeoCoordinatesPipesModule } from "@linch90/geo-coordinates-pipes";

@NgModule({
  imports: [
    // other imports
    GeoCoordinatesPipesModule,
  ],
  // rest of the module metadata
})
export class YourModule {}
```

## Usage

```html
<p>{{ 45.135 | latitute }}</p>
<!-- 45° 08' 06" N -->
<p>{{ -19.37555556 | latitute }}</p>
<!-- 19° 22' 32" S -->
```

```html
<p>{{ 121.135 | longitude }}</p>
<!-- 121° 08' 06" E -->
<p>{{ -19.37555556 | longitude }}</p>
<!-- 019° 22' 32" W -->
```

```html
<p>{{ 5.135 | magneticVariation }}</p>
<!-- 05° 08' 06" E -->
<p>{{ -1.37555556 | magneticVariation }}</p>
<!-- 01° 22' 32" W -->
```
npm package: @linch90/ngb-nav-button
Description: A directive to put on the nav button.
Author: linch90;晗林科技
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# NgbNavButton

A directive to put on the nav button.

**Module**

```typescript
import { NgbNavButtonModule } from '@linch90/ngb-nav-button';
```

**Selector**

_button[ngbNavButton]_

# Example

[Stackblitz](https://stackblitz.com/edit/ngb-nav-button)

```typescript
<div class="mt-2">
  <ul ngbNav #nav="ngbNav" class="nav-tabs">
    <li ngbNavItem>
      <div class="btn-group">
        <button ngbNavButton>Nav Button 1</button>
        <div class="btn-group" ngbDropdown>
          <button class="btn dropdown-toggle-split" ngbDropdownToggle></button>
          <div ngbDropdownMenu>
            <button ngbDropdownItem>One</button>
            <button ngbDropdownItem>Two</button>
            <button ngbDropdownItem>Three</button>
          </div>
        </div>
      </div>
      <ng-template ngbNavContent>
        <div>Hello Nav Content 1</div>
      </ng-template>
    </li>
    <li ngbNavItem>
      <button ngbNavButton>Nav Button 2</button>
      <ng-template ngbNavContent>
        <div>Hello Nav Content 2</div>
      </ng-template>
    </li>
  </ul>
  <div [ngbNavOutlet]="nav"></div>
</div>
```
npm package: @linch90/ngb-nav-button-directive
Description: A angular directive to put on the nav button.
Author: linch90;晗林科技
Latest version: 3.0.0

# NgbNavButton

A angular directive to put on the nav button.

**Module**

```typescript
import { NgbNavButtonDirectiveModule } from '@linch90/ngb-nav-button-directive';
```

**Selector**

_button[ngbNavButton]_

# Example

[Stackblitz](https://stackblitz.com/edit/ngb-nav-button-directive)

```typescript
<div class="mt-2">
  <ul ngbNav #nav="ngbNav" class="nav-tabs">
    <li ngbNavItem>
      <div class="btn-group">
        <button ngbNavButton>Nav Button 1</button>
        <div class="btn-group" ngbDropdown>
          <button class="btn dropdown-toggle-split" ngbDropdownToggle></button>
          <div ngbDropdownMenu>
            <button ngbDropdownItem>One</button>
            <button ngbDropdownItem>Two</button>
            <button ngbDropdownItem>Three</button>
          </div>
        </div>
      </div>
      <ng-template ngbNavContent>
        <div>Hello Nav Content 1</div>
      </ng-template>
    </li>
    <li ngbNavItem>
      <button ngbNavButton>Nav Button 2</button>
      <ng-template ngbNavContent>
        <div>Hello Nav Content 2</div>
      </ng-template>
    </li>
  </ul>
  <div [ngbNavOutlet]="nav"></div>
</div>
```
npm package: @linch90/ngb-typeahead-popup-directive
Description: A angular directive to popup the ngbTypeahead immediately when focus or click the input.
Author: linch90;晗林科技
Latest version: 3.0.0

# NgbTypeaheadPopup

A angular directive to popup the ngbTypeahead immediately when focus or click the input.

**Original Code From**
[@ng-bootstrap/ng-bootstrap/issues/2318 #issuecomment-410448582](https://github.com/ng-bootstrap/ng-bootstrap/issues/2318#issuecomment-410448582)

**Module**

```typescript
import { NgbTypeaheadPopupDirectiveModule } from "@linch90/ngb-typeahead-popup-directive";
```

**Selector**

_input[ngbTypeaheadPopup]_
npm package: @linch90/od-highlight-pipe
Description: highlight pipe for angular
Author: linch90;晗林科技
Latest version: 3.0.0

## highlight pipe (angular)

Provide a highlight mechanism for `AutoComplete` or other components.

Highlight the matching text with `<b></b>`

**File**

```typescript
import { OdHighlightPipeModule } from "@linch90/od-highlight-pipe";
```

**Usage**

```html
<span [innerHTML]="value | highlight: inputText"></span>
<!-- highlight the value by inputText -->
<span [innerHTML]="value | highlight: inputText:true"></span>
<!-- highlight the value by inputText on enabling the pinyin parsing mode -->
```
npm package: @linch90/od-validators
Description: Provide complex validators for angular form
Author: linch90;晗林科技
Latest version: 3.0.0

1. atLeastOne, at least one of the `controls` should satisfy the provided `validator`.

```typescript
atLeastOne = (validator, controls: string[] | null) => ...
```

2. atLeastOneConditionally, at least one of the `controls` should satisfy the provided `validator` if the `dependedControl` has the `dependedValue`.

```typescript
atLeastOneConditionally = (
    validator: ValidatorFn,
    dependedControl: string,
    dependedValue: any,
    controls: string[] | null = null
  ) => ...
```

3. requiredConditionally, make `controls` required, if the `dependedControl` has the `dependedValue`.

```typescript
requiredConditionally = (
    dependedControl: string,
    dependedValue: any,
    controls: string[] | null = null
  ) => ...
```

4. requiredConditionally2, make `controls` required, if the `dependedControl` has the `dependedValue` and the `dependedControl2` has the `dependedValue2`.

```typescript
requiredConditionally2 = (
  dependedControl: string, dependedValue: any) =>
  (
    dependedControl2: string,
    dependedValue2: any,
    controls: string[] | null = null
  ) => ...
```

5. conditionalValidator, apply `validator` if `predicate` return true.

```typescript
conditionalValidator =
  (predicate: () => boolean, validator: ValidatorFn) => ...
```
npm package: @linch90/precede-char-directive
Description: A angular directive to put a specified char before the inputing text.
Author: linch90;晗林科技
Latest version: 2.0.0

# PrecedeChar

A angular directive to put a specified char before the inputing text.

**Module**

```typescript
import { PrecedeCharDirectiveModule } from "@linch90/precede-char-directive";
```

**Selector**

_input[precedeChar],textarea[precedeChar]_

# Example

Precede the inputing text with '-' char.

[Stackblitz](https://stackblitz.com/edit/precede-char)

```html
<input
  type="text"
  id="precede-char-input"
  class="form-control"
  precedeChar="-"
/>
```