open-index/open-npm huggingface dataset:
npm package: @shiguri/solid-grid
Description: A headless grid component for [SolidJS](https://docs.solidjs.com/). Designed for `T[][]` data with custom rendering.
Author: shiguri
Latest version: 0.1.2

# solid-grid

A headless grid component for [SolidJS](https://docs.solidjs.com/).
Designed for `T[][]` data with custom rendering.

> [!WARNING]
> **Work in progress**: The API is still evolving and may include breaking changes.

## Demo

[solid-grid.vercel.app](https://solid-grid.vercel.app)

## Installation

```bash
npm install @shiguri/solid-grid
```

## Usage

```tsx
import {
  Gridsheet,
  clipboardTextPlugin,
  createPluginHost,
  deletePlugin,
  selectionPlugin,
  editingPlugin,
} from "@shiguri/solid-grid";
import { textCellRenderer } from "@shiguri/solid-grid/presets";
import { createSignal } from "solid-js";

function App() {
  const [data, setData] = createSignal([
    ["A1", "B1"],
    ["A2", "B2"],
  ]);

  const plugins = createPluginHost<string>([
    selectionPlugin(),
    editingPlugin(),
    deletePlugin({ emptyValue: "" }),
    clipboardTextPlugin({ getData: () => data(), emptyValue: "" }),
  ]);

  return (
    <Gridsheet
      data={data()}
      renderCell={textCellRenderer}
      onCellsChange={(patches) =>
        setData((prev) => {
          const next = prev.map((row) => row.slice());
          for (const { pos, value } of patches) {
            next[pos.row][pos.col] = value;
          }
          return next;
        })
      }
      onEvent={plugins.onEvent}
    />
  );
}
```

## Documentation

See the [docs/](./docs/) directory.

---

© 2025 shiguri | [MIT License](./LICENSE)
npm package: @shiharu/tavily-mcp
Description: MCP server for advanced web search using Tavily
Author: Tavily
Latest version: 0.2.18

# Tavily MCP Server (Custom Fork)

基于 [tavily-ai/tavily-mcp](https://github.com/tavily-ai/tavily-mcp) 的定制分支，增加了 `TAVILY_BASE_URL` 支持，可将所有 API 请求重定向到自定义代理服务器，用于访问日志记录、审计或调试。

## 与上游的区别

- 新增 `TAVILY_BASE_URL` 环境变量，可覆盖默认的 `https://api.tavily.com` 端点
- 启动时会在 stderr 输出当前使用的 base URL（仅在非默认值时）
- 其余功能与上游完全一致

## 部署方式

通过 npm 安装，开箱即用：

```bash
npx -y @shiharu/tavily-mcp@latest
```

MCP 客户端配置：

```json
{
  "mcpServers": {
    "tavily": {
      "command": "npx",
      "args": ["-y", "@shiharu/tavily-mcp@latest"],
      "env": {
        "TAVILY_API_KEY": "tvly-xxxxx",
        "TAVILY_BASE_URL": "https://your-proxy.example.com"
      }
    }
  }
}
```

不设置 `TAVILY_BASE_URL` 时行为与官方版本完全一致。

### 环境变量

| 变量 | 必填 | 说明 |
|------|------|------|
| `TAVILY_API_KEY` | 是 | Tavily API 密钥，从 [tavily.com](https://www.tavily.com/) 获取 |
| `TAVILY_BASE_URL` | 否 | 自定义 API 基础地址，默认 `https://api.tavily.com` |
| `DEFAULT_PARAMETERS` | 否 | JSON 格式的默认搜索参数 |

所有请求（search / extract / crawl / map / research）都会发往 `TAVILY_BASE_URL` 下对应的路径，例如 `https://your-proxy.example.com/search`。

## 本地开发

```bash
git clone https://github.com/shiharuharu/tavily-mcp.git
cd tavily-mcp
git checkout custom/base-url-proxy
npm install && npm run build
```

### 同步上游更新

```bash
git fetch upstream
git merge upstream/main
```

## 可用工具

- `tavily_search` — 实时网页搜索
- `tavily_extract` — 从 URL 提取内容
- `tavily_crawl` — 网站爬取
- `tavily_map` — 网站结构映射
- `tavily_research` — 综合研究

## 许可证

MIT（继承自上游）
npm package: @shihengtech/utils
Description: A collection of utility tools for frontend projects
Author: asakura
Latest version: 0.0.11

# @shihengtech/utils

[![pipeline status](https://git.sh-internal.com/Front-End-Projects/Base/sh-tools/badges/main/pipeline.svg)](https://git.sh-internal.com/Front-End-Projects/Base/sh-tools/-/commits/main)
[![coverage report](https://git.sh-internal.com/Front-End-Projects/Base/sh-tools/badges/main/coverage.svg)](https://git.sh-internal.com/Front-End-Projects/Base/sh-tools/-/commits/main)

一个轻量级的 JavaScript/TypeScript 工具函数库。

## ✨ 特性

- 🚀 **轻量高效** - 精简的代码实现，最小化包体积
- 📦 **双格式支持** - 同时支持 ESM 和 CommonJS
- 🔒 **类型安全** - 使用 TypeScript 编写，提供完整的类型定义
- 🌲 **Tree Shaking** - 支持按需引入，减少打包体积
- ✅ **完善测试** - 高覆盖率的单元测试

## 📦 安装

```bash
# npm
npm install @shihengtech/utils

# pnpm
pnpm add @shihengtech/utils

# yarn
yarn add @shihengtech/utils
```

## 🔨 使用

### fnRunner - 带重试的异步执行器

```typescript
import { fnRunner } from '@shihengtech/utils'

// 执行异步函数，失败后最多重试 3 次
const result = await fnRunner(
  async () => fetch('/api/data').then(r => r.json()),
  3
)
```

### createQueryWithCache - 带缓存的查询函数

```typescript
import { createQueryWithCache } from '@shihengtech/utils'

const fetchUser = createQueryWithCache(
  'user',
  async (id: string) => fetch(`/api/users/${id}`).then(r => r.json()),
  { maxAge: 60000 } // 缓存 1 分钟
)

const user = await fetchUser('123')
```

### ReplaySubject - 响应式数据流

```typescript
import { ReplaySubject } from '@shihengtech/utils'

const subject = new ReplaySubject<number>(1)

subject.subscribe(value => console.log(value))
subject.next(1) // 输出: 1
subject.next(2) // 输出: 2
```

## 📖 文档

查看完整文档：[文档站点](./docs)

## 🛠️ 开发

```bash
# 安装依赖
pnpm install

# 开发模式（监听文件变化）
pnpm dev

# 构建
pnpm build

# 运行测试
pnpm test

# 运行测试（单次）
pnpm test:run

# 运行测试（覆盖率）
pnpm test:coverage

# 启动文档开发服务器
pnpm docs:dev

# 构建文档
pnpm docs:build
```

## 📊 测试覆盖率

| 模块                 | 语句   | 分支   | 函数   | 行     |
| -------------------- | ------ | ------ | ------ | ------ |
| **总计**             | 92.83% | 87.09% | 88.23% | 92.83% |
| ReplaySubject        | 100%   | 100%   | 100%   | 100%   |
| createQueryWithCache | 96.38% | 88.88% | 100%   | 96.38% |
| fnRunner             | 81.25% | 83.33% | 100%   | 81.25% |

运行 `pnpm test:coverage` 查看详细覆盖率报告。

## 📁 项目结构

```
@shihengtech/utils/
├── src/
│   ├── index.ts              # 入口文件
│   ├── class/                # 类
│   │   └── ReplaySubject/    # 响应式数据流
│   └── utils/                # 工具函数
│       ├── fnRunner/         # 重试执行器
│       └── createQueryWithCache/  # 缓存查询
├── docs/                     # VitePress 文档
├── dist/                     # 构建输出
└── package.json
```

## 📄 License

MIT
npm package: @shihuo/goods-image-crop-block
Description: 集成处理商品库图片自动处理、手动裁剪、手动变换、标尺等功能
Latest version: 1.1.3

# GoodsImageCropBlock

简介：商品库图片裁剪组件

集成处理商品库图片自动处理、手动裁剪、手动变换、标尺等功能
npm package: @shihuo/image-tool-component
Description: 图片处理工具集
Latest version: 2.0.0

<!--
 * @Author: zhaozhengbo
 * @Date: 2022-05-25 22:02:03
 * @LastEditors: zhaozhengbo
 * @LastEditTime: 2022-05-26 00:53:06
 * @Description: file content
-->

# ImageTool

@shihuo/image-tool-component

图片处理工具集
npm package: @shijes/new-qs
Description: 一个查询字符串处理类，支持TypeScript
Latest version: 1.0.1

# @sj/new-qs

一个查询字符串处理类，支持 TypeScript。

## 安装

```bash
npm install @shijes/new-qs
```

## 使用方法

### JavaScript

```javascript
const { NewQs } = require('@sj/new-qs');

const instance = new NewQs();
const result = instance.qs('hello');
console.log(result); 
```

### TypeScript

```typescript
import { NewQs } from '@sj/new-qs';

const instance = new NewQs();
const result = instance.qs('hello');
console.log(result);

// 支持泛型，类型会被正确推断
const numberResult = instance.qs(123);
const objectResult = instance.qs({ name: 'test' });
```



MIT
npm package: @shijiu-jsview/cli
Description: A lightweight creator for JsView project.
Author: mengxk
Latest version: 0.0.2-beta.0

<div align=center><img src="https://s2.ax1x.com/2020/02/04/1DsmTO.png" height = "100" div align=center /></div>
<h1 align="center">jsview-cli</h1>
<div align="center">

A lightweight creator for JsView project.

![Build](https://img.shields.io/badge/build-passing-brightgreen?style=flat-square) ![GitHub package.json version (branch)](https://img.shields.io/github/package-json/v/zpfz/jsview-cli?style=flat-square&color=orange)  ![Version](https://img.shields.io/badge/license-MIT-brightgreen?style=flat-square&color=blue)

</div>

# Features
- Devote one's energy to writing, instead of wasting time building the writing environment.
- Optimize parts of styles.

# Installation
```
npm i jsview-cli -g
```
# Usage
Run the following cmdline to create the project:
```
jsview-cli init myproject
```
See here for more details : [http://gitlab.qcast.cn/system/jsview-cli](http://gitlab.qcast.cn/system/jsview-cli)
npm package: @shiju-s/valoriz-loyalty-plugin
Description: Medusa looyalty plugin
Author: Shiju s
Latest version: 1.0.8

# Valoriz Medusa Loyalty Plugin

Enhance your Medusa store by rewarding your customers with loyalty points.

<p>
  <a href="./LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue" alt="This project is released under the MIT license." />
  </a>
  <a href="https://nodejs.org/" target="_blank">
    <img src="https://img.shields.io/badge/Node.js-%5E20-brightgreen" alt="Requires Node.js version 20 or higher">
  </a>
</p>

## Features

- Earn loyalty points on purchases.
- Redeem points for cash during checkout.
- Configure multiple rule-based reward systems.

---

## Prerequisites

- [Medusa backend](https://docs.medusajs.com/development/backend/install)

---

## Installation

1. Navigate to your Medusa backend directory and run:

```bash
npm i @shiju-s/valoriz-loyalty-plugin
```

2\. In `medusa-config.js` add the following at the end of the `plugins` array:

```js
const plugins = [
  // ...
  {
    resolve: "@shiju-s/valoriz-loyalty-plugin",
    options: {
      enableUI: true,
    },
  },
];
```

---
npm package: @shijunhao/tyler-element
Description: 仿elementUI的学习项目，提供一些基础组件
Author: shijunhao
Latest version: 0.1.3

# tyler-element


**tyler-element** 是为慕课网打造的一套教学组件库，使用最新的 Vue3.3 和 TS， 意在让大家从零到一，由浅入深的提高自己的 Vue 和 typescript 水平，地址： [https://coding.imooc.com/class/693.html](https://coding.imooc.com/class/693.html)

### 安装

```bash
npm i tyler-element --save
```

### 开始使用

**全局使用**

```js
// 引入所有组件
import Tlement from 'tyler-element'
// 引入样式
import 'tyler-element/style.css'

import App from './App.vue'
// 全局使用
createApp(App).use(Tlement).mount('#app')
```

```vue
<template>
  <vk-button>我是 VkButton</vk-button>
</template>
```

**单个导入**

tyler-Element 提供了基于 ES Module 的开箱即用的 Tree Shaking 功能。

```vue
<template>
  <Button>我是 VkButton</Button>
</template>
<script>
import { Button } from 'tyler-element'
export default {
  components: { Button }
}
</script>
```

### 课程亮点

- 亮点1 🔥：“稀有”，目前上市面没有类似的高级课程，由浅入深的高仿 Element-Plus 完成组件库开发的全流程。
- 亮点2 💧: “专业”，传授大厂前端项目架构设计思想/开发模式/代码规范/流程，不搞小作坊式代码。
- 亮点3 ⛑️: “全”，精选十几个组件，可以涵盖大部分的主流组件的设计思想以及原理，知识覆盖面全。
- 亮点4 📚：“新”，使用目前2023年 Vue3 周边最新 ，最全技术：Vue3.2 + Typescript4， Vite，Vitest， Vitepress，Vue-test-utils2，Rollup, Postcss 一网打尽。
- 亮点5 🎉：“难”，难度逐渐上升，高薪必备敲门砖，包括：Message - Select - Form 这种高难度高复杂组件。
- 亮点6 🌹：单元测试，被常年忽略但是非常重要的内容，简历加分项，使用最新的 Vitest，Vue-test-utils2 完成单元测试。
- 亮点7 📚: 文档生成工具，组件库打包和发布以及其他周边流程应有尽有，提供一揽子解决方案。
- 亮点8 📦: 长期维护以及更新，会根据同学的反馈每年更新几个高频组件。
npm package: @shikaan/http-client
Description: Simple, opinionated, and dependency free HTTP client for the browser.
Author: Manuel Spagnolo
Latest version: 1.3.1

# HTTP Client

Simple, opinionated, and dependency free HTTP client for the browser.

## Features

* Retries
* Timeout
* JSON based
* Throws on non 2xx status codes

## Installation

```
npm i -E @shikaan/http-client
```

## Usage

```typescript
import {BaseHTTPClient} from 'http-client';

export class APIClient extends BaseHTTPClient {
  constructor(token?: string) {
    super();
    this.token = token;
  }

  async queryUsers() {
    const [body, headers] = await this.fetch(`${BASE_URL}/users`, {timeout: 3000, maxRetries: 3});

    return body.data;
  }
}

export const apiClient = new APIClient();
```
npm package: @shikakun/dashi
Description: A design token collection for use with oden.
Author: shikakun
Latest version: 1.7.0

# dashi 🥣

A design token collection for use with [oden](https://github.com/shikakun/oden).

"Dashi" is a traditional Japanese soup stock essential for making oden. The ingredients are soaked and gently heated to extract a rich umami flavor, providing a flavorful base for simmering oden's diverse ingredients like konjac, ganmodoki (deep-fried tofu mixed with thinly sliced vegetables), and chikuwa (fish cake).
npm package: @shikakun/ganmodoki
Description: A handcrafted icon library.
Author: shikakun
Latest version: 0.1.0

# ganmodoki 🟤

A handcrafted icon library.

"Ganmodoki" is a deep-fried tofu mixed with thinly sliced vegetables. It is used as an ingredient in oden.

## License

Licensed under the MIT License, Copyright © 2024-present [@shikakun](https://shikakun.com).

See [LICENSE](./LICENSE) for more information.
npm package: @shikchen/typed-hype
Description: A tiny, fully type-safe hyperscript utility for creating DOM elements with TypeScript.
Author: Shik Chen
Latest version: 0.2.0

# typed-hype

A tiny, fully type-safe hyperscript utility for creating DOM elements with TypeScript.

## Installation

```shell
npm install @shikchen/typed-hype
# or
yarn add @shikchen/typed-hype
# or
pnpm add @shikchen/typed-hype
# or
bun add @shikchen/typed-hype
```

## Motivation

Modern web frameworks (React, Vue, Svelte, Angular, Lit, etc.) are powerful, but often overkill for simpler tasks like code playgrounds, browser extensions, or small vanilla JS/TS projects.

While vanilla DOM manipulation works, it can be verbose. Traditional [hyperscript](https://github.com/hyperhype/hyperscript) offers a more concise syntax, but it lacks strong type safety as its [DefinitelyTyped definitions](https://www.npmjs.com/package/@types/hyperscript) are quite loose. React's `createElement()` and similar JSX alternatives exist, but they often bring along dependencies or concepts (like VDOM) that aren't needed for simple DOM creation.

## Features

- **Lightweight:** Tiny footprint with zero dependencies.
- **Type-Safe:** Leverages TypeScript for comprehensive type checking of HTML tags, attributes, CSS styles, and event handlers. Get great autocompletion in your editor.
- **Simple API:** A familiar hyperscript-style function (`h`) for creating elements programmatically.
- **Developer Friendly:** Reduces boilerplate and catches errors at compile time, not runtime. Its predictable API is also well-suited for AI-assisted code generation.
npm package: @shiker/admin-api
Description: Halo admin api client.
Author: @shiker
Latest version: 1.0.8

<h3 align="center">Admin API Client</h3>

<p align="center">
  <a href="https://www.npmjs.com/package/@shiker/admin-api">
    <img src="https://img.shields.io/npm/v/@shiker/admin-api.svg" alt="npm version"/>
  </a>
  <a href="https://www.npmjs.com/package/@shiker/admin-api">
      <img alt="npm" src="https://img.shields.io/npm/dm/@shiker/admin-api" alt="Downloads"/>
  </a>
  <a href="https://github.com/shiker/js-sdk/blob/master/packages/admin-api/package.json">
      <img alt="node-current" src="https://img.shields.io/node/v/@shiker/admin-api?color=blue">
  </a>
  <a href="https://github.com/shiker/js-sdk/blob/master/LICENSE">
    <img alt="NPM" src="https://img.shields.io/npm/l/@shiker/admin-api" alt="LICENSE">
  </a>
</p>

<p>JavaScript SDK for Halo's Admin API,implemented with TypeScript,encapsulating parameter types and return value types to make the use of API more brief.</p>

## Installation

```shell
npm install @shiker/admin-api --save
```

## Usage

Here is a simple code for obtaining a list of posts.

```javascript
import { AdminApiClient, HaloRestAPIClient } from '@shiker/admin-api'

// http request tool for halo rest api.
const haloRestApiClient = new HaloRestAPIClient({
  baseUrl: process.env.HALO_BASE_URL,
})

// create adminApiClient by haloRestApiCLient.
const haloAdminClient = new AdminApiClient(haloRestApiClient)

// obtaining a list of articles.
haloAdminClient.post.list().then((res) => {
  console.log(res)
})
```

You can also view the complete implementation of the halo-admin project: [@shiker/halo-admin](https://github.com/shiker1996/halo-admin).

### License

[MIT license](../../LICENSE)
npm package: @shiker/content-api
Description: Halo content api client.
Author: @shiker
Latest version: 1.0.2

<h3 align="center">Content API Client</h3>

<p align="center">
  <a href="https://www.npmjs.com/package/@shiker/content-api">
    <img src="https://img.shields.io/npm/v/@shiker/content-api.svg" alt="npm version"/>
  </a>
  <a href="https://www.npmjs.com/package/@shiker/content-api">
      <img alt="npm" src="https://img.shields.io/npm/dm/@shiker/content-api" alt="Downloads"/>
  </a>
  <a href="https://github.com/shiker/js-sdk/blob/master/packages/content-api/package.json">
      <img alt="node-current" src="https://img.shields.io/node/v/@shiker/content-api?color=blue">
  </a>
  <a href="https://github.com/shiker/js-sdk/blob/master/LICENSE">
    <img alt="NPM" src="https://img.shields.io/npm/l/@shiker/content-api" alt="LICENSE">
  </a>
</p>

<p>JavaScript SDK for Halo's Content API,implemented with TypeScript,encapsulating parameter types and return value types to make the use of API more brief.</p>

## Installation

```shell
npm install @shiker/content-api --save
```

## Usage

Here is a simple code for obtaining a list of posts.

```javascript
import { ContentApiClient, HaloRestAPIClient } from '@shiker/content-api'

// http request tool for halo rest api.
const haloRestApiClient = new HaloRestAPIClient({
  baseUrl: process.env.HALO_BASE_URL,
  auth: { apiToken: process.env.HALO_API_TOKEN },
})

// create contentApiClient by haloRestApiCLient.
const haloContentClient = new ContentApiClient(haloRestApiClient)

// obtaining a list of articles.
haloContentClient.post.list().then((res) => {
  console.log(res)
})
```

### License

[MIT license](../../LICENSE)
npm package: @shiker/markdown-renderer
Description: Halo markdown renderer.
Author: @shiker
Latest version: 1.0.2

<h3 align="center">Markdown Renderer</h3>

<p align="center">
  <a href="https://www.npmjs.com/package/@shiker/markdown-renderer">
    <img src="https://img.shields.io/npm/v/@shiker/markdown-renderer.svg" alt="npm version"/>
  </a>
  <a href="https://www.npmjs.com/package/@shiker/markdown-renderer">
      <img alt="npm" src="https://img.shields.io/npm/dm/@shiker/markdown-renderer" alt="Downloads"/>
  </a>
  <a href="https://github.com/shiker/js-sdk/blob/master/packages/markdown-renderer/package.json">
      <img alt="node-current" src="https://img.shields.io/node/v/@shiker/markdown-renderer?color=blue">
  </a>
  <a href="https://github.com/shiker/js-sdk/blob/master/LICENSE">
    <img alt="NPM" src="https://img.shields.io/npm/l/@shiker/markdown-renderer" alt="LICENSE">
  </a>
</p>

## Installation

```shell
npm install @shiker/markdown-renderer --save
```

## Usage

```javascript
import markdownRenderer from '@shiker/markdown-renderer'

const html = markdownRenderer.render('Hello Halo')
```

### License

[MIT license](../../LICENSE)
npm package: @shikhar1809/vajra-shield
Description: DDoS protection and bot detection SDK for web applications
Author: Shikhar
Latest version: 1.0.1

# VAJRA Shield SDK

🛡️ **DDoS Protection & Bot Detection for Web Applications**

Protect your web applications from DDoS attacks, malicious bots, and suspicious traffic with VAJRA Shield.

## Features

- ✅ **Real-time DDoS Protection** - Automatic rate limiting and traffic analysis
- ✅ **Bot Detection** - ML-powered bot and crawler identification
- ✅ **Geographic Blocking** - Block traffic from specific countries
- ✅ **Fortress Mode** - Emergency lockdown for active attacks
- ✅ **Traffic Analytics** - Real-time monitoring dashboard
- ✅ **Easy Integration** - Works with Express, Next.js, and more

## Installation

```bash
npm install @shikhar1809/vajra-shield
```

## Quick Start

```typescript
import { Shield } from '@shikhar1809/vajra-shield';

const shield = new Shield({
  apiKey: 'your-api-key',
  projectId: 'your-project-id'
});

// Start protection
shield.protect();
```

## Configuration

```typescript
const shield = new Shield({
  apiKey: 'your-api-key',
  projectId: 'your-project-id',
  rateLimit: 100,        // requests per minute
  blockBots: true,       // block malicious bots
  geoBlocking: ['CN'],   // block specific countries
  fortressMode: false    // emergency lockdown
});
```

## Advanced Usage

### Log Traffic

```typescript
await shield.logTraffic({
  ip: '192.168.1.1',
  path: '/api/users',
  method: 'GET',
  userAgent: 'Mozilla/5.0...',
  blocked: false
});
```

### Check if Request Should Be Blocked

```typescript
const { block, reason } = await shield.shouldBlock(
  '192.168.1.1',
  'BadBot/1.0'
);

if (block) {
  console.log(`Blocked: ${reason}`);
}
```

### Enable Fortress Mode

```typescript
// Emergency lockdown during active attack
await shield.enableFortressMode();

// Disable when safe
await shield.disableFortressMode();
```

## Dashboard

Monitor your protected applications in real-time at:
**https://vajra-protection.vercel.app/compliance**

## API Reference

### `Shield`

Main class for Shield protection.

#### Constructor

```typescript
new Shield(config: ShieldConfig)
```

#### Methods

- `protect()` - Start protecting your application
- `logTraffic(log: TrafficLog)` - Log traffic to VAJRA backend
- `shouldBlock(ip, userAgent)` - Check if request should be blocked
- `configure(config)` - Update Shield configuration
- `enableFortressMode()` - Enable emergency lockdown
- `disableFortressMode()` - Disable emergency lockdown

## License

MIT

## Support

For issues and questions:
- GitHub: https://github.com/shikhar1809/vajra-shield
- Dashboard: https://vajra-protection.vercel.app
npm package: @shikhatestorg/fib-gen
Description: Functions for working with the Fibonacci sequence
Author: Shikha Thakkar
Latest version: 3.3.0

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number in the series

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
## Code Scanning Demo

This repository demonstrates an instance of CWE-020: Improper Imput Validation. 

1. Run through the setup flow in the security tab to enable code scanning. Commit directly to master. 
2. Go to actions, and confirm that the analysis has run successfully.
3. Edit script.js and add this code snippet. Create a PR. Wait for validation. 

```js

function endsWith(x, y) {
  return x.lastIndexOf(y) === x.length - y.length;
}

```
npm package: @shikhathakkar/publish-gpr-npm
Description: Functions for working with the Fibonacci sequence
Author: Shikha Thakkar
Latest version: 1.0.2

# fib-tools
a
![](https://github.com/bbq-beets/fib-tools/workflows/CI/badge.svg)

## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```asdfasdfadsf

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers

```javascript
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
npm package: @shikhathakkar/publish-npm-gpr
Description: Functions for working with the Fibonacci sequence
Author: Shikha Thakkar
Latest version: 1.3.0

| TEST | DEPLOY | 
|-------|-------|
| ![](https://github.com/octodemov2/actions-deploy-demo/workflows/Build%20and%20Test%20ONLY%20for%20MASTER/badge.svg)  | ![](https://github.com/octodemov2/actions-deploy-demo/workflows/Build%20and%20package%20MASTER/badge.svg) |

# fib-tools

![](https://github.com/bbq-beets/fib-tools/workflows/CI/badge.svg)

## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```asdfasdfadsf

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers

```javascript
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
npm package: @shikherverma/bs
Description: Private B://
Author: Shikher Verma
Latest version: 1.0.2

## Scripts overview

`npm run start:dev`

Starts the application in development using `nodemon` and `ts-node` to do cold reloading.

`npm run build`

Builds the app at `build`, cleaning the folder first.

`npm run start`

Starts the app in production by first building the project with `npm run build`, and then executing the compiled JavaScript at `build/index.js`.
npm package: @shiki-01/electron-svelte
Description: A template for building Electron applications with Svelte and TypeScript.
Author: shiki-01
Latest version: 0.0.1

# electron-svelte

To install dependencies:

```bash
bun install
```

To run:

```bash
bun run index.ts
```

This project was created using `bun init` in bun v1.2.8. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
npm package: @shikijs/colorized-brackets
Description: VSCode-style colorized brackets transformer for Shiki
Author: Michael Moore
Latest version: 4.0.2

# @shikijs/colorized-brackets

VSCode-style colorized brackets transformer for [Shiki](https://github.com/shikijs/shiki).

[Documentation](https://shiki.style/packages/colorized-brackets)

## License

MIT
npm package: @shikijs/engine-javascript
Description: Engine for Shiki using JavaScript's native RegExp
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/engine-javascript

Engine for Shiki using JavaScript's native RegExp. Uses [Oniguruma-To-ES](https://github.com/slevithan/oniguruma-to-es) to transpile regex syntax and behavior.

[Documentation](https://shiki.style/guide/regex-engines)

## License

MIT
npm package: @shikijs/engine-oniguruma
Description: Engine for Shiki using Oniguruma RegExp engine in WebAssembly
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/engine-oniguruma

Engine for Shiki using Oniguruma RegExp engine in WebAssembly.

[Documentation](https://shiki.style/guide/regex-engines)

## License

MIT
npm package: @shikijs/langs-precompiled
Description: TextMate grammars for Shiki in ESM
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/langs-precompiled

Precompiled languages for Shiki that can runs in pure JavaScript environment.

Requires ES2024+ environment.

> **Experimental**

## Unsupported Languages

<!-- TODOs -->

## License

MIT
npm package: @shikijs/markdown-exit
Description: markdown-exit integration for shiki
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/markdown-exit

[markdown-exit](https://github.com/serkodev/markdown-exit) plugin for [shiki](https://github.com/shikijs/shiki)

[Documentation](https://shiki.style/packages/markdown-exit)

## License

MIT
npm package: @shikijs/markdown-it
Description: markdown-it integration for shiki
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/markdown-it

[markdown-it](https://markdown-it.github.io/) plugin for [shiki](https://github.com/shikijs/shiki)

[Documentation](https://shiki.style/packages/markdown-it)

## License

MIT
npm package: @shikijs/transformers
Description: Collective of common transformers transformers for Shiki
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/transformers

Common transformers for [shiki](https://github.com/shikijs/shiki), inspired by [shiki-processor](https://github.com/innocenzi/shiki-processor).

[Documentation](https://shiki.style/packages/transformers)

## License

MIT
npm package: @shikijs/twoslash
Description: Shiki transformer for twoslash
Author: Anthony Fu
Latest version: 4.0.2

# @shikijs/twoslash

A [shiki](https://github.com/shikijs/shiki) transformer for [TypeScript Twoslash](https://www.typescriptlang.org/dev/twoslash/).

[Documentations](https://shiki.style/packages/twoslash)

## License

MIT
npm package: @shikijs/vscode-textmate
Description: Shiki's fork of `vscode-textmate`
Author: Microsoft Corporation
Latest version: 10.0.2

## Fork of [`microsoft/vscode-textmate`](https://github.com/microsoft/vscode-textmate)

Changes make in this fork:

- Change all `async` operations to `sync`; `onigLib` option now required to be resolved instead of a promise.
- Use `tsup` to bundle the lib, ship as a single file ES module.
- Remove debug flags and some other unnecessary exports.
- Convert `EncodedTokenAttributes` from namespace to class, rename to `EncodedTokenMetadata`
- Support RegExp literals in grammar object ([#3](https://github.com/shikijs/vscode-textmate/pull/3))