open-index/open-npm huggingface dataset:
npm package: @kobakazu0429/wasmer-wasi
Description: Isomorphic Javascript library for interacting with WASI Modules in Node.js and the Browser. 📚
Author: Wasmer Engineering Team
Latest version: 0.12.0-internal

# `@wasmer/wasi`

Isomorphic Javascript library for interacting with WASI Modules in Node.js and the Browser. 📚

Documentation for Wasmer-JS Stack can be found on the [Wasmer Docs](https://docs.wasmer.io/wasmer-js/wasmer-js).

## Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Reference API](#reference-api)
- [Contributing](#contributing)

## Features

`@wasmer/wasi` uses the same API than the [future WASI integration in Node](https://github.com/nodejs/wasi), to help transition to it once it becomes available in Node.

However, `@wasmer/wasi` is focused on:

- Bringing [WASI](https://github.com/webassembly/wasi) to an Isomorphic context (Node.js and the Browser) 🖥️
- Make it easy to plug in different filesystems (via [wasmfs](https://github.com/wasmerio/wasmer-js/tree/master/packages/wasmfs)) 📂
- Make it type-safe using [Typescript](http://www.typescriptlang.org/) 👷
- Pure JavaScript implementation (no Native bindings needed) 🚀
- ~ 15KB minified + gzipped 📦

## Installation

For instaling `@wasmer/wasi`, just run this command in your shell:

```bash
npm install --save @wasmer/wasi
```

## Quick Start

**This quick start is for browsers. For node, WasmFs is not required**

```js
import { WASI } from "@wasmer/wasi";
import { lowerI64Imports } from "@wasmer/wasm-transformer"

import { WasmFs } from "@wasmer/wasmfs";

// Instantiate a new WASI Instance
const wasmFs = new WasmFs();
let wasi = new WASI({
  args: [],
  env: {},
  bindings: {
    // uses browser APIs in the browser, node APIs in node
    ...WASI.defaultBindings,
    fs: wasmFs.fs
  }
});

const startWasiTask = async () => {
  // Fetch our Wasm File
  const response = await fetch("./my-wasi-module.wasm");
  const responseArrayBuffer = await response.arrayBuffer();

  // Instantiate the WebAssembly file
  const wasm_bytes = new Uint8Array(responseArrayBuffer).buffer;
  const lowered_wasm = await lowerI64Imports(wasm_bytes);
  let module = await WebAssembly.compile(lowered_wasm);
  let instance = await WebAssembly.instantiate(module, {
    ...wasi.getImports(module)
  });

  // Start the WebAssembly WASI instance!
  wasi.start(instance);

  // Output what's inside of /dev/stdout!
  const stdout = await wasmFs.getStdOut();
  console.log(stdout);
};
startWasiTask();
```

## Reference API

The Reference API Documentation can be found on the [`@wasmer/wasi` Reference API Wasmer Docs](https://docs.wasmer.io/integrations/js/reference-api/wasmer-wasi).

## Contributing

This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification.

Contributions of any kind are welcome! 👍
npm package: @kobalab/liulian
Description: Node.jsで動作するWebサイト作成ツール
Author: Satoshi Kobayashi
Latest version: 1.1.15

<h1><a href="https://kobalab.net/liulian/"><img src="css/icon.png" alt="[icon]" height=62><img src="css/liulian.png" alt="LiuLian" height=62></a></h1>

<a href="https://kobalab.net/xiumai/"><img src="https://kobalab.net/xiumai/theme/xiumai.png" alt="XiuMai" height=24 valign=bottom></a>
の後継。Node.jsで動作するWebサイト作成ツール。

## デモ
https://kobalab.net/liulian/

## インストール
```sh
$ npm i -g @kobalab/liulian
```

## 起動
```sh
$ liulian ~/Documents/LiuLian
```

## 使用方法

### liulian [--port=*port*] [--mount=*url*] *workdir*
<dl>
<dt>--port, -p</dt>
  <dd>サーバを起動するポート番号 (デフォルト値は 3571)</dd>
<dt>--mount, -m</dt>
  <dd>リバースプロキシのマウントポイントのURL</dd>
<dt>workdir</dt>
  <dd>コンテンツや設定ファイルを配置するディレクトリ</dd>
</dl>

## ドキュメント
 - [インストールと起動](https://kobalab.net/liulian/man/install)
 - [コンテンツ作成](https://kobalab.net/liulian/man/contents)
 - [LiuLian記法](https://kobalab.net/liulian/man/text-liulian)
 - [モジュール](https://kobalab.net/liulian/man/module)
 - [外部モジュール](https://kobalab.net/liulian/man/modules/)
 - [README と index](https://kobalab.net/liulian/man/readme&index)
 - [HEAD と TAIL](https://kobalab.net/liulian/man/head&tail)
 - [リバースプロキシを使う](https://kobalab.net/liulian/man/proxy-setting)
 - [Gitで自動バックアップする](https://kobalab.net/liulian/man/git)

## ライセンス
[MIT](https://github.com/kobalab/LiuLian/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/majiang-ai
Description: 電脳麻将の思考ルーチン
Author: Satoshi Kobayashi
Latest version: 1.1.0

# majiang-ai
電脳麻将の思考ルーチン

## 概要
[@kobalab/majiang-core](https://www.npmjs.com/package/@kobalab/majiang-core) の [Majiang.Player](https://github.com/kobalab/majiang-core/wiki/Majiang.Player) の具体的な実装例を提供します。
ver.2.0.0 以降の [電脳麻将](https://github.com/kobalab/Majiang) ではここで提供する最新版のAIを組み込んでいます。

クラスとして具体的な実装を使用したい場合は(この動機は電脳麻将以外にはないと思いますが)、以下のようにあなたが開発するパッケージにインストールしてください。
```
$ npm i @kobalab/majiang-ai
```

[GitHubリポジトリ](https://github.com/kobalab/majiang-ai) では [AI開発のためのツール](https://github.com/kobalab/majiang-ai/tree/master/dev) や [過去のバージョンのAI](https://github.com/kobalab/majiang-ai/tree/master/legacy) も公開していますので、clone や fork してあなた自身の実装を試すことも可能です。

## ライセンス
[MIT](https://github.com/kobalab/majiang-ai/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/majiang-core
Description: 麻雀基本ライブラリ
Author: Satoshi Kobayashi
Latest version: 1.3.5

# majiang-core

麻雀基本ライブラリ

手牌の操作、シャンテン数・和了点計算、局進行・卓情報の管理、思考ルーチンの雛形を含む基本クラス群を提供します。

ver.2.0.0 以降の[電脳麻将](https://github.com/kobalab/Majiang)は、その実装に本パッケージを使用しています。

## インストール
```sh
$ npm i @kobalab/majiang-core
```

## 使用法
```javascript
const Majiang = require('@kobalab/majiang-core');
```

## 提供機能
| クラス名            | 機能                                 |
|:--------------------|:-------------------------------------|
| ``Majiang.Shoupai`` | 手牌を表現するクラス                 |
| ``Majiang.Shan``    | 牌山を表現するクラス                 |
| ``Majiang.He``      | 捨て牌を表現するクラス               |
| ``Majiang.Util``    | シャンテン数計算、和了点計算ルーチン |
| ``Majiang.Game``    | 局進行を実現するクラス               |
| ``Majiang.Board``   | 卓情報を更新するクラス               |
| ``Majiang.Player``  | 対局者を実現する基底クラス           |

## API仕様
- [API仕様](https://github.com/kobalab/majiang-core/wiki)

## ライセンス
[MIT](https://github.com/kobalab/majiang-core/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/majiang-server
Description: 麻雀サーバー
Author: Satoshi Kobayashi
Latest version: 1.4.5

# majiang-server

麻雀サーバー

WebSocket(Socket.IO)による麻雀サーバーの実装です。
[電脳麻将](https://github.com/kobalab/Majiang) ver.2.3.0 で追加したネット対戦は、本サーバーに接続して実現しています。

## デモ
https://kobalab.net/majiang/netplay.html

## インストール
```bash
$ npm i -g @kobalab/majiang-server
```

## 使用方法

### majiang-server [ *options*... ]
<dl>
<dt>--port, -p</dt>
    <dd>麻雀サーバーを起動するポート番号(デフォルトは <code>4615</code>)</dd>
<dt>--baseurl, -b</dt>
    <dd>socket.io のエントリポイント(デフォルトは <code>/server</code>)</dd>
<dt>--callback, -c</dt>
    <dd>認証からの復帰URL(デフォルトは <code>/</code>)</dd>
<dt>--docroot, -d</dt>
    <dd>サーバの配信する静的コンテンツの配置ディレクトリ(省略可能)</dd>
<dt>--oauth, -o</dt>
    <dd>OAuth認証定義ファイルの配置ディレクトリ(省略可能)</dd>
<dt>--store, -s</dt>
    <dd>セッションデータを保存するディレクトリ(省略可能)</dd>
<dt>--status, -S</dt>
    <dd><code>/server/status</code> でステータス表示を有効にする</dd>
</dl>

**関連記事:** [麻雀サーバーの使い方](https://blog.kobalab.net/entry/2024/02/15/081605)

### majiang-bot [ *options*... ] [ *server-url* ]
麻雀サーバーにAIのボットを接続する。
```bash
$ majiang-bot -r A1234 -n '麻雀ロボ' https://kobalab.net/majiang/server
```
<dl>
<dt>--room, -r</dt>
    <dd>入室するルーム</dd>
<dt>--name, -n</dt>
    <dd>対局者名(デフォルトは <code>*ボット*</code>)</dd>
<dt>--verbose, -v</dt>
    <dd>標準出力にデバッグログを出力する</dd>
<dt>server-url</dt>
  <dd>麻雀サーバーのURL(デフォルトは <code>http://127.0.0.1:4615/server</code>)。<br>
      デモサイトに接続するときは <code>https://kobalab.net/majiang/server</code> を指定すればよい。</dd>
</dl>

## ライセンス
[MIT](https://github.com/kobalab/majiang-server/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/majiang-ui
Description: 麻雀UIライブラリ
Author: Satoshi Kobayashi
Latest version: 1.6.0

# majiang-ui
麻雀UIライブラリ

手牌表示、盤面表示、牌譜再生 など画面表示やユーザとのインタラクションを実現するクラス群を提供します。

ver.2.0.0 以降の[電脳麻将](https://github.com/kobalab/Majiang)は、その実装に本パッケージを使用しています。

## インストール
```sh
$ npm i @kobalab/majiang-ui
```

## 使用法
```javascript
const Majiang = require('@kobalab/majiang-core');
Majiang.UI    = require('@kobalab/majiang-ui');
```

## 提供機能
| クラス名                 | 機能
|:-------------------------|:--------------------------------------------------
|``Majiang.UI.pai``        | 牌表示関数を生成する関数
|``Majiang.UI.audio``      | 音声出力関数を生成する関数
|``Majiang.UI.Shoupai``    | 手牌を表示するクラス
|``Majiang.UI.Shan``       | 牌山を表示するクラス
|``Majiang.UI.He``         | 捨て牌を表示するクラス
|``Majiang.UI.Board``      | 卓情報を表示するクラス
|``Majiang.UI.HuleDialog`` | 和了・流局時のダイアログを表示するクラス
|``Majiang.UI.Player``     | 打牌選択などのUIを実現するクラス
|``Majiang.UI.GameCtl``    | 対局速度などの付属UIを実現するクラス
|``Majiang.UI.PaipuFile``  | 牌譜一覧を表示するクラス
|``Majiang.UI.Paipu``      | 牌譜ビューアを実現するクラス
|``Majiang.UI.Analyzer``   | 検討モードを実現するクラス
|``Majiang.UI.PaipuStat``  | 牌譜を集計するクラス
|``Majiang.UI.PaipuEditor``| 牌譜エディタを実現するクラス
|``Majiang.UI.Util``       | ユーティリティ・ルーチン(fade-in/out, selector など)

## API仕様

* [API仕様](https://github.com/kobalab/majiang-ui/wiki) (執筆中)

## ライセンス
[MIT](https://github.com/kobalab/majiang-ui/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/socket.io-session
Description: Access express-session and passport user information from socket.io
Author: Satoshi Kobayashi
Latest version: 1.0.4

# socket.io-session

Access express-session and passport user information from socket.io

## Installation
```shell
$ npm install @kobalab/socket.io-session
```

## Examples

If you access express-session only.

```javascript
const express = require('express');
const session = require('express-session')({
                            secret:'secret',
                            resave:false,
                            saveUninitialized:true });

const socket_io_session = require('@kobalab/socket.io-session')(session);

const app = express();
app.use(session);

const server = require('http').createServer(app);
const io = require('socket.io')(server);

io.use(socket_io_session.express_session);

io.on('connection', socket=>{
    console.log(socket.request.session);
    socket.on('hello', msg=>{
        console.log(socket.request.session);
        socket.request.session.hello = msg;
        socket.request.session.save();
    });
});

server.listen(3000);
```

If you access passport user infomation too.

```javascript
const express = require('express');
const session = require('express-session')({
                            secret:'secret',
                            resave:false,
                            saveUninitialized:false });
const passport = require('passport');

const socket_io_session
              = require('@kobalab/socket.io-session')(session, passport);

const app = express();
app.use(session);
app.use(passport.initialize());
app.use(passport.session());

const server = require('http').createServer(app);
const io = require('socket.io')(server);

io.use(socket_io_session.express_session);
io.use(socket_io_session.passport_initialize);
io.use(socket_io_session.passport_session);

io.on('connection', socket=>{
    console.log(socket.request.user);
    socket.on('hello', msg=>{
        console.log(socket.request.user);
    });
});

server.listen(3000);
```

## License
[MIT](https://github.com/kobalab/socket.io-session/blob/master/LICENSE)

## Author
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/tenhou-log
Description: 天鳳形式の牌譜を電脳麻将形式に変換する
Author: Satoshi Kobayashi
Latest version: 1.3.1

# tenhou-log

天鳳形式の牌譜を[電脳麻将](https://github.com/kobalab/Majiang)形式に変換する

## インストール
コマンドラインから使用する場合
```sh
$ npm i -g @kobalab/tenhou-log
```
ライブラリとして使用する場合
```sh
$ npm i @kobalab/tenhou-log
```
## 使用例
コマンドラインから
```sh
$ tenhou-log 2016031822gm-0009-10011-896da481
```
変換サーバとして起動
```sh
$ tenhou-log-server &
$ curl -s http://127.0.0.1:8001/tenhou-log/2016031822gm-0009-10011-896da481.json
```
ライブラリとして使用
```javascript
const convlog = require('@kobalab/tenhou-log');

let paipu = convlog(xml, '2016031822gm-0009-10011-896da481')
```
## 使用方法

### tenhou-log [--title=*title*] [--xml] *logid*[:*title*] ...
<dl>
<dt>--title, -t</dt>
    <dd>牌譜タイトルを指定する<dd>

<dt>--xml, -x</dt>
    <dd>無変換の天鳳の牌譜(XML形式)を取得する</dd>
</dl>

### tenhou-log-server
<dl>
<dt>--port, -p</dt>
    <dd>変換サーバを起動するポート番号 (デフォルト値は 8001)</dd>

<dt>--baseurl, -b</dt>
    <dd>変換サーバに割り当てるURL(デフォルト値は /tenhou-log/)</dd>

<dt>--docroot, -d</dt>
    <dd>変換サーバに割り当てるコンテンツの場所 (デフォルトではコンテンツは割り当てない)</dd>
</dl>

#### URL
<dl>
<dt>/tenhou-log/<em>logid</em>.json[:<em>title</em>]</dt>
    <dd><em>牌譜ID</em>で指定した牌譜を電脳麻将形式で取得する</dd>
<dt>/tenhou-log/<em>logid</em>.xml</dt>
    <dd><em>牌譜ID</em>で指定した牌譜を天鳳の形式で取得する</dd>
</dl>

### convlog(xml, log_id)
  - **xml** - string
  - **log_id** - string
  - _返り値_ - object

**xml** で指定した天鳳のXML形式の牌譜を電脳麻将形式に変換し、返す。
**log_id** を指定した場合は牌譜タイトルの最後に **log_id** を追加する。

## ライセンス
[MIT](https://github.com/kobalab/tenhou-log/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)
npm package: @kobalab/tenhou-url-log
Description: 電脳麻将の牌譜を天鳳JSON形式に変換
Author: Satoshi Kobayashi
Latest version: 1.0.4

# tenhou-url-log

電脳麻将の牌譜を天鳳JSON形式に変換

[電脳麻将](https://github.com/kobalab/Majiang) の [牌譜](https://github.com/kobalab/majiang-core/wiki/%E7%89%8C%E8%AD%9C) を [天鳳](https://tenhou.net) のJSON形式(https://tenhou.net/6/ 形式)の牌譜に変換します。

## インストール
コマンドラインから使用する場合
```sh
$ npm i -g @kobalab/tenhou-url-log
```
ライブラリとして使用する場合
```sh
$ npm i @kobalab/tenhou-url-log
```
## 使用例
コマンドラインから
```sh
$ tenhou-url-log 電脳麻将牌譜.json
```
ライブラリとして
``` javascript
const logconv = require('@kobalab/tenhou-url-log');

let url = 'https://tenhou.net/6/#json'
                    + encodeURI(JSON.stringify(logconv(paipu, 0)));
```
## コマンドライン仕様
### tenhou-url-log *paipu.json* [ *log-idx* ]
**paipu.json** を入力の電脳麻将牌譜とし、標準出力に変換した天鳳のJSON形式の牌譜を出力する。
**log-idx** を指定した場合は指定された局(東一局0本場を0と数える)のみ ``http://tenhou.net/6/#json=`` を付加した形式で出力する。
**log-idx** を省略した場合は全局をJSON形式で出力する。

## API仕様
### logconv()
  - **paipu** - [牌譜](https://github.com/kobalab/majiang-core/wiki/%E7%89%8C%E8%AD%9C)
  - **log_idx** - number (省略可)
  - **rule** - object (省略可)
  - *返り値* - object

**paipu** で指定された牌譜を天鳳のJSON形式の牌譜に変換し、Objectとして返す。
**log_idx** を指定した場合は指定された局(東一局0本場を0と数える)のみ、**log_idx** を省略した場合は全局を変換する。
**rule** には牌譜の ```rule``` プロパティに埋め込む値を指定できる。
省略時は ```{ disp: '電脳麻将', aka: 1 }``` とする。

## ライセンス
[MIT](https://github.com/kobalab/tenhou-url-log/blob/master/LICENSE)

## 作者
[Satoshi Kobayashi](https://github.com/kobalab)

## 謝辞
本パッケージは [kobalab/Majiang#118](https://github.com/kobalab/Majiang/issues/118) をきっかけに開発しました。
きっかけを与えていただいた [Apricot S.](https://github.com/Apricot-S) さんに感謝します。
また、本パッケージの開発に際し、同氏の [majiang-log](https://github.com/Apricot-S/majiang-log) を参考にさせていただきました。
npm package: @kobalt/react-material-icons
Description: Google's [Material Design Icons](https://github.com/google/material-design-icons) as React Components
Author: Freek Post
Latest version: 0.1.2

# React Material Icons

Google's [Material Design Icons](https://github.com/google/material-design-icons) as React Components

## Installation

```
npm i --save @kobalt/react-material-icons
```

## Usage

[Find](https://material.io/icons/) an icon you like, import it and render it!

```js
import { Alarm } from '@kobalt/react-material-icons/action';

const App = () => (
    <Alarm
        title={ /* Optional title */ "Alarm" }
        description={ /* Optional description */ "Description"}
    />
);
```
npm package: @kobalte/core
Description: Unstyled components and primitives for building accessible web apps and design systems with SolidJS.
Author: jer3m01
Latest version: 0.13.11

# @kobalte/core

Unstyled components and primitives for building accessible web apps and design systems with SolidJS.

## Installation

```bash
npm install @kobalte/core
# or
yarn add @kobalte/core
# or
pnpm add @kobalte/core
```

## Documentation

For full documentation, visit [kobalte.dev](https://kobalte.dev/).

## Changelog

All notable changes are described in the [CHANGELOG.md](./CHANGELOG.md) file.
npm package: @kobalte/solidbase
Description: Fully featured, fully customisable static site generation for SolidStart
Author: jer3m01
Latest version: 0.4.3

gt pul
<div align="center">
  <a href="https://github.com/kobaltedev/solidbase" target="_blank"><img width="400" src="https://raw.githubusercontent.com/kobaltedev/solidbase/refs/heads/main/.github/solidbase.png" alt="SolidBase"></a>
</div>

<h1 align="center">SolidBase</h1>

<div align="center">

Fully featured, fully customisable static site generation for [SolidStart](https://start.solidjs.com)

[![license](https://img.shields.io/badge/license-MIT-1890ff.svg)](https://github.com/kobaltedev/solidbase/blob/main/LICENSE)
[![checks](https://img.shields.io/github/checks-status/kobaltedev/solidbase/main)](https://github.com/kobaltedev/solidbase/actions)
[![npm](https://img.shields.io/npm/v/@kobalte/solidbase)](https://www.npmjs.com/package/@kobalte/solidbase)

</div>

Full documentation available at https://solidbase.dev.
npm package: @kobalte/tailwindcss
Description: A TailwindCSS plugin for styling Kobalte components with data-* attributes by using modifiers like ui-expanded:*
Author: Fabien Marie-Louise
Latest version: 0.9.0

# @kobalte/tailwindcss

A TailwindCSS plugin for styling Kobalte components with `data-*` attributes by using modifiers like `ui-expanded:*`.

## Installation

```bash
npm install -D @kobalte/tailwindcss
# or
yarn add -D @kobalte/tailwindcss
# or
pnpm add -D @kobalte/tailwindcss
```

## Usage

Add the plugin to your `tailwind.config.js`:

```js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [],
  theme: {
    extend: {},
  },
  plugins: [
    // default prefix is "ui"
    require("@kobalte/tailwindcss"),

    // or with a custom prefix:
    require("@kobalte/tailwindcss")({ prefix: "kb" }),
  ],
};
```

Style your component:

```tsx
import { Popover } from "@kobalte/core";

export const MyPopover = () => (
  <Popover>
    <Popover.Trigger class="ui-disabled:bg-slate-100">Open</Popover.Trigger>
    <Popover.Content class="ui-expanded:shadow-md">...</Popover.Content>
  </Popover>
);
```

You can use the following modifiers:

| Modifier               | Inverse modifier           |
| :--------------------- | :------------------------- |
| `ui-valid`             | `ui-not-valid`             |
| `ui-invalid`           | `ui-not-invalid`           |
| `ui-required`          | `ui-not-required`          |
| `ui-disabled`          | `ui-not-disabled`          |
| `ui-readonly`          | `ui-not-readonly`          |
| `ui-checked`           | `ui-not-checked`           |
| `ui-indeterminate`     | `ui-not-indeterminate`     |
| `ui-selected`          | `ui-not-selected`          |
| `ui-pressed`           | `ui-not-pressed`           |
| `ui-expanded`          | `ui-not-expanded`          |
| `ui-highlighted`       | `ui-not-highlighted`       |
| `ui-current`           | `ui-not-current`           |
| `ui-placeholder-shown` | `ui-not-placeholder-shown` |

It's also possible to use _inverse modifiers_ in the form of `ui-not-*`, _group and peer modifiers_ in the form of `ui-group-*` and `ui-peer-*`.

## Documentation

For full documentation, visit [kobalte.dev](https://kobalte.dev/docs/core/overview/styling#using-the-tailwindcss-plugin).

## Acknowledgment

This plugin is an adaptation of [@headlessui/tailwindcss](https://github.com/tailwindlabs/headlessui), MIT Licensed, Copyright (c) 2020 Tailwind Labs.

## Changelog

All notable changes are described in the [CHANGELOG.md](./CHANGELOG.md) file.
npm package: @kobalte/themes
Description: Theme utilities for Solid & SolidStart
Author: jer3m01
Latest version: 0.0.1-next.0

<h1 align="center">@kobalte/themes</h1>

<div align="center">

Theme utilities for [Solid](https://solidjs.com) & [SolidStart](https://start.solidjs.com)

[![license](https://img.shields.io/badge/license-MIT-1890ff.svg)](https://github.com/kobaltedev/themes/blob/main/LICENSE)
[![checks](https://img.shields.io/github/checks-status/kobaltedev/themes/main)](https://github.com/kobaltedev/themes/actions)
[![npm](https://img.shields.io/npm/v/@kobalte/themes)](https://www.npmjs.com/package/@kobalte/themes)

</div>

Full documentation available at https://themes.kobalte.dev.
npm package: @kobalte/utils
Description: Common utilities and types for Kobalte.
Author: Fabien Marie-Louise
Latest version: 0.9.1

# @kobalte/utils

Common utilities and types for Kobalte.

## Installation

```bash
npm install @kobalte/utils
# or
yarn add @kobalte/utils
# or
pnpm add @kobalte/utils
```

## Documentation

For full documentation, visit [kobalte.dev](https://kobalte.dev/).

## Changelog

All notable changes are described in the [CHANGELOG.md](./CHANGELOG.md) file.
npm package: @kobalte/vanilla-extract
Description: Vanilla Extract utils to style Kobalte components easily
Author: Fabien Marie-Louise
Latest version: 0.5.0

# @kobalte/vanilla-extract

Vanilla Extract utils to style Kobalte components easily.

## Installation

```bash
npm install -D @kobalte/vanilla-extract
# or
yarn add -D @kobalte/vanilla-extract
# or
pnpm add -D @kobalte/vanilla-extract
```

> **Note** In order to use these utils you need to configure Vanilla Extract in your project. https://vanilla-extract.style

## Usage

### componentStateStyles

Create vanilla-extract complaint styles for styling data-\* attributes of Kobalte components.

```ts
// styles.css
import { style } from "@vanilla-extract/css";
import { componentStateStyles } from "@kobalte/vanilla-extract";

const button = style([
  {
    background: "blue",
    padding: "2px 6px",
  },
  componentStateStyles({
    disabled: {
      opacity: 0.4,
    },
    invalid: {
      backgroundColor: "red",
      not: {
        backgroundColor: "yellow",
      },
    },
  }),
  componentStateStyles(
    {
      invalid: {
        backgroundColor: "red",
      },
    },
    { parentSelector: "[data-theme=dark]" },
  ),
]);
```

Then apply your styles to the component:

```tsx
import { Button } from "@kobalte/core";
import { button } from "./styles.css";

export const MyButton = () => <Button.Root class={button}>...</Button.Root>;
```

## Documentation

For full documentation, visit [kobalte.dev](https://kobalte.dev/docs/core/overview/styling#using-the-vanilla-extract-plugin).

## Changelog

All notable changes are described in the [CHANGELOG.md](./CHANGELOG.md) file.
npm package: @kobami/n8n-nodes-jobber
Description: Integrates with Jobber API
Author: Kobami LLC
Latest version: 0.1.0

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

# n8n-nodes-jobber

This repo contains example nodes to help you get started building your own custom integrations for [n8n](n8n.io). It includes the node linter and other dependencies.

To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).

## Prerequisites

You need the following installed on your development machine:

* [git](https://git-scm.com/downloads)
* Node.js and npm. Minimum version Node 16. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
* Install n8n with:
 ```
 npm install n8n -g
 ```

* Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).

## Using this starter

These are the basic steps for working with the starter. For detailed guidance on creating and publishing nodes, refer to the [documentation](https://docs.n8n.io/integrations/creating-nodes/).

1. [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template repository.
2. Clone your new repo:

    ```
    git clone https://github.com/<your organization>/<your-repo-name>.git
    ```

3. Run `npm i` to install dependencies.
4. Open the project in your editor.
5. Browse the examples in `/nodes` and `/credentials`. Modify the examples, or replace them with your own nodes.
6. Update the `package.json` to match your details.
7. Run `npm run lint` to check for errors or `npm run lintfix` to automatically fix errors when possible.
8. Test your node locally. Refer to [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for guidance.
9. Replace this README with documentation for your node. Use the [README_TEMPLATE](README_TEMPLATE.md) to get started.
10. Update the LICENSE file to use your details.
11. [Publish](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) your package to npm.

## More information

Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.

## License

[MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)
npm package: @kobami/n8n-nodes-maid-tech
Description: This Node Integrates with Maid.Tech
Author: kobami
Latest version: 0.0.1

<p align="center">
  <img width="180" height="180" src="/assets/textManipulation/icon.png">
</p>

# n8n-nodes-text-manipulation

[![version](https://img.shields.io/npm/v/n8n-nodes-text-manipulation.svg)](https://www.npmjs.org/package/n8n-nodes-text-manipulation)
[![downloads](https://img.shields.io/npm/dt/n8n-nodes-text-manipulation.svg)](https://www.npmjs.org/package/n8n-nodes-text-manipulation)
[![status](https://github.com/lublak/n8n-nodes-text-manipulation/actions/workflows/node.js.yml/badge.svg)](https://github.com/lublak/n8n-nodes-text-manipulation/actions/workflows/node.js.yml)

Text manipulation allows various manipulations of strings.
Features:

- From
	- Text
	- File (Binary)
		- With decode options see icon-v (utf8, base64, utf16, etc...)
	- JSON
- To
	- Text
	- File (Binary)
		- With encode options see icon-v (utf8, base64, utf16, etc...)
	- JSON
- Get Manipulated Data (use previously manipulated)
- Skip Non-String
- Concat
	- Before
	- After
- Decode/Encode
	- see icon-v (utf8, base64, utf16, etc...)
	- with strip/add BOM
- Decode Entities
	-	Url
	- Xml
		- Legacy
		- Strict
	- Html
		- Legacy
		- Strict
- Encode Entities
	-	Url
	- Xml
		- Extensive
		- UTF8
		- NonAscii
	- Html
		- Extensive
		- UTF8
		- NonAscii
- Letter Case
	- Upper Case
	- Lower Case
	- Locale Upper Case
	- Locale Lower Case
	- Capitalize
	- Titlecase
	- Camel Case
	- Kebab Case
	- Snake Case
	- Start Case
- Replace
	- Substring
		- All
		- Extended
	- Extended Substring
		- All
		- Extended
	- Regex
		- Extended
	- Predefined Rule
		- Tags
			- Only Recognised HTML
		- Character Groups
			- Newline
				- Newline Min
				- Newline Max
			- Number
				- Number Min
				- Number Max
			- Alpha
				- Alpha Min
				- Alpha Max
			- Whitespace
				- Whitespace Min
				- Whitespace Mac
- Trim
	- Left
		- as an unit
	- Right
		- as an unit
	- Both
		- as an unit
- Pad
	- Start
	- End
- Substring
	- StartPosition
	- With
		- Complete
		- Position
		- Length
- Repeat
	- Times

## Install

![Settings Animation](/assets/install.gif)

1. Go to Settings (Cogwheel)
2. Click on "Community Nodes"
3. Enter "n8n-nodes-text-manipulation" into the text box
4. Click on "I understand the risk ..."
5. Click on "Install"
npm package: @kobandavis/canvas
Description: ## About
Latest version: 1.2.0

# Canvas

## About

This is a simple library designed to aid with creation and manipulation of the canvas.

This is not intended for anything other than personal use, but additions are welcome.

Included, are 5 classes:

1. Canvas
2. Mouse
3. Vector
4. Rectangle
5. QuadTree

There are a few helper functions included in src/helper.ts

## Example usage of Canvas

```ts
import { Canvas } from '@kobandavis/canvas'

const canvas = new Canvas(window.innerWidth, window.innerHeight)
window.onresize = () => canvas.resizeCanvas(window.innerWidth, window.innerHeight)

const loop = (ctx: CanvasRenderingContext2D) => {
	canvas.resetDraw()
	// draw stuff
}

canvas.setDrawFunction(loop)
canvas.startDrawLoop()
```
npm package: @kobapi28/tsenv
Description: Type-check environment variables against TypeScript schemas
Latest version: 1.4.0

# tsenv

Type-check environment variables against TypeScript schemas.

[日本語版 README はこちら (Japanese README)](./README.ja.md)

## Installation

```bash
npm install -D tsenv
# or
pnpm add -D tsenv
# or
yarn add -D tsenv
```

## Usage

### 1. Define your environment variable types

Create a TypeScript file that exports your environment variable schema:

```typescript
// env.ts
type Env = {
    API_URL: string
    ASSET_URL: string
    PORT?: number
    DEBUG?: boolean
}

export default Env
```

### 2. Create a configuration file

Create `tsenv.config.js` in your project root:

```javascript
// tsenv.config.js
module.exports = {
    schema: './env.ts',      // Path to your type definition
    files: ['./env/**']      // Glob patterns for env files to check
}
```

Or if you're using TypeScript with tsx/ts-node:

```typescript
// tsenv.config.ts
export default {
    schema: './env.ts',
    files: ['./env/**']
}
```

### 3. Run the type checker

```bash
npx tsenv check
```

You can also specify a custom config file:

```bash
npx tsenv check -c ./custom-config.ts
```

## Features

- ✅ Type checking for `string`, `number`, and `boolean` types
- ✅ Optional properties support (using `?`)
- ✅ Multiple env files support with glob patterns
- ✅ Clear error reporting with file locations
- ✅ Missing required variables detection
- ✅ Undefined variables detection

## Example

See the [example](./example) directory for a complete working example.

## Error Types

### Missing Required Variables
Variables defined as required in the schema but not found in any env file.

### Type Mismatches
Variables with values that don't match their expected types.

### Undefined Variables
Variables found in env files but not defined in the schema.

## License

MIT