open-index/open-npm huggingface dataset:
npm package: @shaojc/mv3-hot-reload
Description: Enable hot reloading for content script and background script in MV3.
Author: shao
Latest version: 0.2.8

# mv3-hot-reload

Enable hot reloading for content script and background script (service worker) in MV3.

## Install

```
yarn add mv3-hot-reload
```

## How to use

### 1. Inject the code for hot reloading

#### Leverage Webpack's "multi-main entry" (Recommended)

```ts
// webpack.config.ts
const isDev = process.env.NODE_ENV === 'development'

function getEntry(name: string) {
  return [path.join(srcDir, name), ...(isDev ? [`mv3-hot-reload/${name}`] : [])]
}

const webpackConfig = {
  // ...
  entry: {
    // ...
    background: getEntry('background'),
    content: getEntry('content'),
  },
}
```

#### Import files into your background script (service worker) and content script

The code for hot reloading will only execute when `process.env.NODE_ENV === 'development'`.

```ts
// background.ts
import 'mv3-hot-reload/background'

// your code...
```

```ts
// content.ts
import 'mv3-hot-reload/content'

// your code...
```

### 2. Add a script to your `package.json` and run it before development

Example:

```diff
    "watch:src": "webpack --config webpack/webpack.dev.js --watch",
+   "watch:dist": "mv3-hot-reload",
+   "dev": "concurrently yarn:watch:*",
```

## mv3-hot-reload.config.js (Optional)

```js
module.exports = {
  // defaults to 9012
  port: 9012,
  globs: 'dist/*', // string || string[]
}
```

If you want to set the port, you also need to expose it with `process.env.MV3_HOT_RELOAD_PORT` to
the client side.

An example:

```js
// webpack.config.js

const config = require('./mv3-hot-reload.config')

module.exports = {
  // ...
  plugins: [
    new webpack.EnvironmentPlugin({
      MV3_HOT_RELOAD_PORT: config.port,
    }),
  ],
}
```

## Example

[pacexy/chrome-extension-typescript-starter](https://github.com/pacexy/chrome-extension-typescript-starter)

## Credits

The implementation of hot reloading in mv3 refers to [theprimone/violet](https://github.com/theprimone/violet).

## License

MIT
npm package: @shaojc/vite-plugin-ali-oss
Description: Upload the production files bundled in the project to Ali OSS, except for html
Author: shaojc
Latest version: 1.1.1

vite-plugin-ali-oss
=======

将项目中打包后生产文件上传到 Ali OSS，除了 html 以外

# 功能特性

- 默认跳过已存在的文件（不会下载文件），加快上传速度
- 几乎零配置，使用 `vite` `outDir` 路径，上传到 oss 的相同路径中

备注：除了所有 html 文件以外，上传所有文件。因为 html 文件没有哈希值，且通常放在服务器上

# 安装

适用 vite 5、vite 6 的 ESM 版本：

```bash
npm i -D vite-plugin-ali-oss@latest
```

其它情况请安装 v1 版本：

```bash
npm i -D vite-plugin-ali-oss@^1.0.0

# 基本使用

1. 在 vite.config.js 中注册本插件
2. 设置 base 开发或生产环境服务的公共基础 ***URL*** 路径

```javascript
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vitePluginAliOss from 'vite-plugin-ali-oss'

const options = {
  region: '<Your Region>'
  accessKeyId: '<Your Access Key ID>',
  accessKeySecret: '<Your Access Key Secret>',
  bucket: '<Your Bucket>'
}

const prod = process.env.NODE_ENV === 'production'

// https://vitejs.dev/config/
export default defineConfig({
  base: prod ? 'https://foo.com/' : '/', // 打包时必须是 URL
  plugins: [vue(), vitePluginAliOss(options)]
})
```

上传到 oss 特定目录下，只要直接设置 base：

```javascript
base: prod ? 'https://foo.com/yourpath/etc/' : '/'
```

3. 打包发布生产代码

```
pnpm run build
```

插件将会在打包完成后，上传 vite 配置 outDir 路径下的所有资源文件。

# 配置项

| options         | description                                             | type    | default       |
|-----------------|---------------------------------------------------------|---------|---------------|
| region          | 阿里云 oss 地域                                           | string  |               |
| accessKeyId     | 阿里云 oss 访问 ID                                        | string  |               |
| accessKeySecret | 阿里云 oss 访问密钥                                       | string  |               |
| bucket          | 阿里云 oss 存储空间名称                                    | string  |               |
| overwrite       | 如果文件已存在，是否覆盖                                    | boolean | false         |
| ignore          | 文件忽略规则。如果你使用空字符串 `''`，将不会忽略任何文件 | boolean | `'**/*.html'` |
| headers         | 请求头设置，详细信息请见 https://www.alibabacloud.com/help/zh/doc-detail/31978.html | object| {} |
| test            | 仅测试路径，不会有文件上传                                  | boolean | false         |
| enabled         | 是否启用本插件                                            | boolean | true          |
| retry           | 上传失败时，重试次数                                       | number  | 0             |
| ...             | 其他初始化 oss 的参数，详细信息请见 https://www.alibabacloud.com/help/zh/doc-detail/64097.html | any | |
npm package: @shaojiancong/ai-code-reviewer
Description: ## 介绍
Latest version: 1.0.1

# @shaojiancong/ai-code-reviewer

## 介绍

![](preview.png)

`@shaojiancong/ai-code-reviewer` 是一款应用于 GitLab Merge Request 代码审查的小工具，支持调用私有化部署的 GitLab API，并使用 Deepseek API 获取审查结果。请注意，在使用它时，需要确保符合公司合规要求。😉


## 特点

- 🛠️ 支持配置 GitLab API 地址
- 🌍 支持配置 Deepseek 代理 API 地址，解决国内可能无法访问 Deepseek API 的问题
- 🆔 支持配置 Deepseek 组织 ID
- ⚙️ 支持配置多个 Deepseek API Key 实现接口调用的负载均衡（多个 Key 以逗号分隔）
- 🚦 超过速率限制时，自动等待并重试
- 💬 审查结果以评论的方式追加到对应的代码块所在位置


## 安装

```sh
npm i @shaojiancong/ai-code-reviewer
`````

## 使用

### 通过 Shell 脚本使用

```shell
Usage: ai-code-reviewer [options]

Options:
  -g, --gitlab-api-url <string>       GitLab API URL (default: " https://gitlab.com/api/v4")
  -t, --gitlab-access-token <string>  GitLab Access Token
  -o, --Deepseek-api-url <string>       Deepseek API URL (default: "https://api.deepseek.com")
  -a, --Deepseek-access-token <string>  Deepseek Access Token
  -p, --project-id <number>           GitLab Project ID
  -m, --merge-request-id <string>     GitLab Merge Request ID
  -org, --organization-id <number>    organization ID
  -h, --help                          display help for command
```

示例:

```sh
ai-code-reviewer -g https://gitlab.com/api/v4 -t glpat-xxxxxxx -o https://api.deepseek.com -a skxxxxxxx,skxxxxxxx -p 432288 -m 8
```

### 在 CI 中使用

在 GitLab CI/CD 中设置 `GITLAB_TOKEN` 和 `CHATGPT_KEY` 变量，`.gitlab-ci.yml` 如下：

```yml
stages:
  - merge-request

Code Review:
  stage: merge-request  
  image: node:latest
  script:
    - npm i @shaojiancong/ai-code-reviewer -g
    - ai-code-reviewer -t "$GITLAB_TOKEN" -a "$CHATGPT_KEY"  -p "$CI_MERGE_REQUEST_PROJECT_ID" -m "$CI_MERGE_REQUEST_IID"
  only:
    - merge_requests
  when: on_success
```

## 贡献
欢迎贡献代码，提出问题和建议！👏

## 许可证
本项目基于 MIT 许可证。详细信息请参见 LICENSE 文件。📜
npm package: @shaokang/k-utils
Description: 封装的常用工具库
Latest version: 1.0.0-beta3

# 工具包

> 封装一些常用的 JS 方法，后面会慢慢增加；

## 使用方法

### 安装

```bash
npm i @shaokang/k-utils
#or
yarn add @shaokang/k-utils
```

### 引入

```javascript
import kUtils from "k-utils"; //整包
import { strUtils } from "k-utils"; //按需引入
```

### beta 版本