open-index/open-npm huggingface dataset:
npm package: @jupiterjs/biome-config
Description: The Biome configuration for Jupiter projects
Latest version: 0.2.2


# Jupiter Biome Config

**用途** ✅

本仓库包含 Jupiter 项目使用的 **Biome** 配置（`biome.json`）。此配置定义了代码格式化、静态检查、文件包含规则以及与 JavaScript/TypeScript 和 CSS 相关的约束与修复策略，旨在统一团队代码风格并提高代码质量。

---

## 主要内容 / Features 🔧

- 使用 `biome` 作为项目的格式化器和 linter。
- 预设了 **formatter**（缩进、行宽、引号风格等）和 **linter**（推荐规则、可疑代码规则、可及性 a11y 规则等）。
- 指定了要包含/排除的文件模式（`files.includes`），避免在二进制、构建产物或第三方包中运行检查。

---

## 快速上手 / Usage 🚀

1. 在项目中安装 Biome（若尚未安装）:

```bash
pnpm add -D @biomejs/biome
```

2. 在项目根目录放置本仓库的 `biome.json`（已包含在本包内），或将其内容合并到你的 `biome.json` 中。

3. 在 package.json 中添加脚本（可选）:

```json
"scripts": {
	"format": "biome format",
	"lint": "biome check"
}
```

然后运行:

```bash
pnpm run format
pnpm run lint
```

---

## 配置说明（关键点） 📋

- **files.includes**：控制 Biome 要检查的文件和要忽略的路径（例如 `node_modules`、`dist`、`build`、`coverage` 等）。
- **formatter**：设置缩进、行宽、换行、引号风格、尾逗号策略等。
- **linter.rules**：启用推荐规则并对特定规则覆盖（如 `noExplicitAny`、`noConsole` 等）。
- **overrides**：针对特定文件类型（如 `*.ts/tsx`）做更严格的规则（例如将 `noExplicitAny` 设置为 `error`）。

如果需要修改规则，以团队共识的方式更新 `biome.json` 并在必要时同步到各个子项目。

---

## 常见变更示例 / Example tweaks

- 将 TypeScript 文件中 `noExplicitAny` 升级为错误：

```json
"overrides": [
	{
		"includes": ["**/*.{ts,tsx}"],
		"linter": { "rules": { "suspicious": { "noExplicitAny": "error" } } }
	}
]
```

---

## 贡献 & 联系 🤝

欢迎提交 PR 或 issue 来改进配置。请在变更中说明动机和影响范围（例如会影响哪些包或 CI 步骤）。

---

## 许可

本仓库使用 **MIT License**，详情见 `package.json` 中的 `license` 字段。

---

## 参考

- Biome 官方文档: https://biomejs.dev/
npm package: @jupiterjs/jupiter-cli
Description: 启动项目的脚手架
Author: Pengfei Zheng
Latest version: 0.3.1

## Jupiter-cli

### 安装
`npm install @jupiterjs/jupiter-cli or yarn add @jupiterjs/jupiter-cli`

### 使用例子
```js
cd dir
jupiter-cli -c / jupiter-cli -create //创建项目

```
npm package: @jupiterjs/jupiter-log
Description: 一个打印日志的类
Author: Zofer
Latest version: 0.0.5

## 使用说明

### 使用环境
- 浏览器  
- node

### 日志输出格式

`时间 / 项目名称 / 日志类型（可选） / 日志信息 / 代码执行栈（可选）`

### 举例说明
```JS
warn('event','点击事件中得到的参数不是有效的结构',args)
// 结果：[2021-09-24][项目名][event]点击事件中得到的参数不是有效的结构 {paramName:undefined}
```

### 支持类型

方法名 | 参数 | 说明
---------|----------|---------
 info | [...rest]:Array | 用于打印信息场景
 warn | [...rest]:Array  | 用于打印警报信息场景
 error | [...rest]:Array | 用于打印错误信息场景
 debug | [...rest]:Array | 用于打印调试信息场景（mode=development)有效

 ### 配置说明
 项目会导出一个 config 类，用于与外部使用者对接配置。

属性名 | 默认值 | 说明
---------|----------|---------
 moduleName | bos-fe-log-node | 全局配置模块/项目名称
 mode | development | 可选 development / production 两种模式


### 单元测试用例 
```js
import { warn, info, debug, error, config } from '../src/index'

beforeAll(() => {
  config.moduleName = 'MoonJS'
})

test('1.检验 info 函数', () => {
  info('测试一个日志')
  info('类型', '打印了一个日志')
  info('类型', '打印了一个日志', { name: '张三' })
})

test('2.检验 warn 函数', () => {
  warn('测试一个警告日志')
  warn('类型', '这个函数发生了警告')
  warn('类型', '这个函数发生了警告', { a: 1 })
})

test('3.检验 error 函数', () => {
  error('测试一个错误日志')
  error('类型', '这个函数发生了错误')
  error('类型', '这个函数发生了错误', new Error('发生了未知错误'))
})

test('4.检验 debug 函数', () => {
  debug('测试一个 debug 日志')
  debug('类型', '这是一个  debug 日志')
  debug('类型', '这是一个  debug 日志', new Error('发生了未知错误'))
})

```
npm package: @jupitermail/easy-email-editor
Description: Email editor
Author: Ali Mahmoudi
Latest version: 4.17.0

# Easy-email-editor

## Introduction

Email render and preview container.

## usage

```sh
$ npm install --save easy-email-editor
```

or

```sh
$ yarn add easy-email-editor
```

```js
import React from 'react';
import { BlockManager } from 'easy-email-core';
import { EmailEditor, EmailEditorProvider } from 'easy-email-editor';
import 'easy-email-editor/lib/style.css';

const initialValues = {
  subject: 'Welcome to Easy-email',
  subTitle: 'Nice to meet you!',
  content: BlockManager.getBlockByType(BasicType.PAGE).create({}),
};

export function App() {
  return (
    <EmailEditorProvider
      data={initialValues}
      height={'calc(100vh - 72px)'}
    >
      {({ values }) => {
        return <EmailEditor />;
      }}
    </EmailEditorProvider>
  );
}
```
npm package: @jupitermail/easy-email-extensions
Description: Email editor
Author: Ali Mahmoudi
Latest version: 4.17.0

# Easy-email-extensions

## usage

```sh
$ npm install --save easy-email-extensions
```

or

```sh
$ yarn add easy-email-extensions
```

```js
import React from 'react';
import { BlockManager, BasicType, AdvancedType } from 'easy-email-core';
import { EmailEditor, EmailEditorProvider } from 'easy-email-editor';
import { ExtensionProps, StandardLayout } from 'easy-email-extensions';

import 'easy-email-editor/lib/style.css';
import 'easy-email-extensions/lib/style.css';

const categories: ExtensionProps['categories'] = [
  {
    label: 'Content',
    active: true,
    blocks: [
      {
        type: AdvancedType.TEXT,
      },
      {
        type: AdvancedType.IMAGE,
        payload: { attributes: { padding: '0px 0px 0px 0px' } },
      },
      {
        type: AdvancedType.BUTTON,
      },
      {
        type: AdvancedType.SOCIAL,
      },
      {
        type: AdvancedType.DIVIDER,
      },
      {
        type: AdvancedType.SPACER,
      },
      {
        type: AdvancedType.HERO,
      },
      {
        type: AdvancedType.WRAPPER,
      },
    ],
  },
  {
    label: 'Layout',
    active: true,
    displayType: 'column',
    blocks: [
      {
        title: '2 columns',
        payload: [
          ['50%', '50%'],
          ['33%', '67%'],
          ['67%', '33%'],
          ['25%', '75%'],
          ['75%', '25%'],
        ],
      },
      {
        title: '3 columns',
        payload: [
          ['33.33%', '33.33%', '33.33%'],
          ['25%', '25%', '50%'],
          ['50%', '25%', '25%'],
        ],
      },
      {
        title: '4 columns',
        payload: [['25%', '25%', '25%', '25%']],
      },
    ],
  },
];

const initialValues = {
  subject: 'Welcome to Easy-email',
  subTitle: 'Nice to meet you!',
  content: BlockManager.getBlockByType(BasicType.PAGE)!.create({}),
};

export default function App() {

  return (
    <EmailEditorProvider
      data={initialValues}
      height={'calc(100vh - 72px)'}
      autoComplete
      dashed={false}
    >
      {({ values }) => {
        return (
          <StandardLayout
            categories={categories}
            showSourceCode={true}
          >
            <EmailEditor />
          </StandardLayout>
        );
      }}
    </EmailEditorProvider>
  );
}

```
npm package: @jupiterone/change-management-client
Description: A JupiterOne client that builds change management verdicts.
Latest version: 0.2.0

# JupiterOne Change Management Client

JupiterOne can help you automate the enforcement of code review and security
policies regarding pull request approval, author and reviewer validation, and
vulnerability checks. For more information, please read the
[JupiterOne documentation](https://support.jupiterone.io/hc/en-us/articles/360022721934-Detect-Suspicious-Code-Commits).

## Usage

This package uses the
[JupiterOne Node.js client](https://github.com/JupiterOne/jupiterone-client-nodejs)
to gather information about specified pull requests from JupiterOne and returns
a yes or no verdict with an explanatory comment to be used in a CICD pipeline.

To see a full GitHub CICD pipeline using this client with Travis CI, check out
[JupiterOne/change-management-example](https://github.com/JupiterOne/change-management-example).
npm package: @jupiterone/github-repo-standard
Description: Policy-based enforcement of repo configuration for your GitHub org.
Latest version: 0.1.0

# github-repo-standard

Enforce various standard GitHub repository configuration settings across a
GitHub organization.

## Supported Repo Checks

* License (mandatory?, one of allowed types?)
* Vulnerability Alerts Enabled?
* Branch Protection Checks?

See [examples/policy.json](./examples/policy.json) to get a better idea of what is checked for.

## Custom Repo Checks

In addition to the checks provided here, you can pass your own array of `async` check functions in as an optional parameter to the `enforceGitHubPolicy` function. These will be called during script execution, and can contribute to findings and/or remediation activity. See [examples/customCheck.js](./examples/customCheck.js) for an example of one such check.

## Suggested Usage

```javascript
const enforce = require('@jupiterone/github-repo-standard');
const policy = require('@jupiterone/github-repo-standard/examples/policy.json');
const org = 'myCompany';

enforce(org, policy).catch(console.error);
```

or with optional custom checks:

```javascript
const enforce = require('@jupiterone/github-repo-standard');
const policy = require('@jupiterone/github-repo-standard/examples/policy.json');
const { checkJenkinsfile } = require('@jupiterone/github-repo-standard/examples/customCheck.json');
const org = 'myCompany';

enforce(org, policy, [checkJenkinsfile]).catch(console.error);
```

## Configuration

You will need to create a new GitHub app for use with this script, and set the following Environment variables:

* `GITHUB_APP_ID`
* `GITHUB_APP_INSTALLATION_ID`
* `GITHUB_APP_PRIVATE_KEY`

The private key is in PEM format. If you'd rather not load that into an env var and you can trust the filesystem the script is being executed on, the script also supports a `GITHUB_APP_PRIVATE_KEY_FILE`, which should be a fully qualified path to the PEM file.

For additional details see the [GitHub App Authentication documentation](https://docs.github.com/en/github-ae@latest/developers/apps/authenticating-with-github-apps).

If you set `alertSlack: true` in your policy, you will need to set:

* `SLACK_URL` - webhook URL
npm package: @jupiterone/jupiterone-alert-rules
Description: Alert rule packages for the JupiterOne platform
Author: JupiterOne
Latest version: 0.45.0

# JupiterOne Alert Rule Packs

This project contains default rule packs that can be provisioned to your
JupiterOne account via the included CLI utility.

## Contribution

When making a pull request for this repo, please update the version property in the `package.json`.
If it is not updated, then the code will not get released.

Patch version - x.x.1 - A patch version is used to make a quick fix, patch a security vulnerability, or do clean up.
Minor version - x.1.x - A minor version is used to add/remove content
Major version - 1.x.x - A major version is used to introduce breaking changes

## Rule Packs

- `rule-packs/aws-config.json`

  Alert rules for AWS configuration audit

- `rule-packs/aws-threat.json`

  Alert rules for AWS privilege escalation

- `rule-packs/aws-privilege-escalation.json`

  Alert rules for AWS threat monitoring

- `rule-packs/gcp.json`

  Alert rules for Google Cloud Platform

- `rule-packs/azure-config.json`

  Alert rules for Azure configuration audit

- `rule-packs/azure.json`

  Commonly used Azure alert rules

- `rule-packs/gcp.json`

  Commonly used GCP alert rules

- `rule-packs/common-alerts.json`

  Alert rules for GCP privelege escalation

- `rule-packs/gcp-privelege-escalation.json`

  Commonly used alert rules

- `rule-packs/critical-assets.json`

  Alert rules to monitor changes to and risks of critical assets

- `rule-packs/devops.json`

  Commonly used DevOps alert rules

- `rule-packs/integration-monitoring.json`

  Alert rules for monitoring integration status

- `rule-packs/remediation-recommendations.json`

  Rule pack to showcase the `jupiteroneVulnScore`

All rules inherit the alert settings from `index.js`.

## Provision Rules

To add these alert rules to your account via the CLI, you will need to install
the **JupiterOne CLI** from [npm][1] or download source from [github][2]:

**Install J1 CLI**

```bash
npm install @jupiterone/jupiterone-client-nodejs -g
```

**Provision Rule Pack**

```bash
j1 -a <j1AccountId> -u <j1Username> -o provision-alert-rule-pack --alert -f aws-config
```

[1]: https://www.npmjs.com/package/@jupiterone/jupiterone-client-nodejs
[2]: https://github.com/JupiterOne/jupiterone-client-nodejs
npm package: @jupiterpi/node-keyring-linux-arm64-gnu
Description: Node native addon for accessing the system keyring using https://crates.io/crates/keyring
Latest version: 0.1.1

# `@jupiterpi/node-keyring-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@jupiterpi/node-keyring`
npm package: @jupiterpi/node-keyring-linux-arm64-musl
Description: Node native addon for accessing the system keyring using https://crates.io/crates/keyring
Latest version: 0.1.1

# `@jupiterpi/node-keyring-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@jupiterpi/node-keyring`
npm package: @jupiterpi/node-keyring-linux-x64-gnu
Description: Node native addon for accessing the system keyring using https://crates.io/crates/keyring
Latest version: 0.1.1

# `@jupiterpi/node-keyring-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@jupiterpi/node-keyring`
npm package: @jupiterpi/node-keyring-linux-x64-musl
Description: Node native addon for accessing the system keyring using https://crates.io/crates/keyring
Latest version: 0.1.1

# `@jupiterpi/node-keyring-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@jupiterpi/node-keyring`
npm package: @jupiterpi/node-keyring-win32-arm64-msvc
Description: Node native addon for accessing the system keyring using https://crates.io/crates/keyring
Latest version: 0.1.1

# `@jupiterpi/node-keyring-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@jupiterpi/node-keyring`
npm package: @jupiterpi/node-keyring-win32-x64-msvc
Description: Node native addon for accessing the system keyring using https://crates.io/crates/keyring
Latest version: 0.1.1

# `@jupiterpi/node-keyring-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@jupiterpi/node-keyring`
npm package: @jupjs/biome-config
Description: The Biome configuration for Jupiter projects
Latest version: 0.3.0

# @jupjs/biome-config

Jupiter 工程的共享 Biome 配置包，用于统一代码格式化与静态检查规则。

## 包含内容

- `biome.json`：默认规则配置
- 忽略目录与文件模式（如 `node_modules`、`dist`、`coverage` 等）
- TypeScript 规则增强（例如对 `any` 的更严格约束）

## 适用范围

适用于前端工程中的 `ts/tsx/js/jsx/json/css/scss/less` 文件。

## 在项目中使用

1. 安装依赖：

```bash
pnpm add -D @biomejs/biome @jupjs/biome-config
```

2. 在项目根目录创建（或更新）`biome.json`：

```json
{
  "$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
  "extends": ["./node_modules/@jupjs/biome-config/biome.json"]
}
```

## 常用命令

```bash
# 检查
npx biome check .

# 自动修复
npx biome check . --write

# 仅格式化
npx biome format . --write
```

## 维护说明

- 该包是共享规则源，修改后会影响所有依赖项目。
- 建议先在业务仓库验证，再发版配置包。
npm package: @jupjs/utils
Description: utils library
Author: unkhow
Latest version: 0.1.0

# @jupiter/utils

前端工具库，提供一组可复用的小能力函数与浏览器侧工具模块。

## 安装

```bash
pnpm add @jupiter/utils
```

## 当前导出模块

- `common`：通用小函数集合（类型判断、对象处理、格式化、节流防抖等）
- `ResourceLoader`：动态加载 JS/CSS 资源（`script/link`）
- `EventBus`：页面内发布订阅
- `LocalStorageStore`：本地存储操作封装

## 使用示例

### 1) common

```ts
import { formatCurrency, debounce, deepMerge } from '@jupiter/utils'

const money = formatCurrency(12345) // ￥ 12,345.00

const merged = deepMerge(
  { feature: { a: true } },
  { feature: { b: true } }
)

const onResize = debounce(() => {
  console.log('resize')
}, 200)
```

### common API

#### 类型判断

```ts
import { isString, isObject, isFunction, isPlainObject } from '@jupiter/utils'

isString('a') // true
isObject({}) // true
isFunction(() => {}) // true
isPlainObject({ a: 1 }) // true
```

#### 对象处理

```ts
import { hasOwn, extend, deepClone, deepMerge, shallowEqual } from '@jupiter/utils'

hasOwn({ a: 1 }, 'a') // true
extend({ a: 1 }, { b: 2 }) // { a: 1, b: 2 }
deepClone({ a: { b: 1 } })
deepMerge({ a: 1 }, { b: 2 }) // { a: 1, b: 2 }
shallowEqual({ a: 1 }, { a: 1 }) // true
```

#### 字符串与数字

```ts
import { format, formatOrThrow, formatCurrency, parseNumber } from '@jupiter/utils'

format('{1}-{2}', 'a', 'b') // 'a-b'
formatOrThrow('{1}', 'x') // 'x'
formatCurrency(12345) // '￥ 12,345.00'
parseNumber('8.5K') // 8500
```

#### 函数控制

```ts
import { once, debounce, noop } from '@jupiter/utils'

const onlyOnce = once(() => 1)
onlyOnce() // 1
onlyOnce() // 1

const fn = debounce(() => console.log('trigger'), 300)
noop()
```

#### 其他工具

```ts
import { getUUID, def, setPropertyReadonly, distributeEvenly } from '@jupiter/utils'

getUUID() // UID-...
const obj: Record<string, unknown> = {}
def(obj, 'name', 'jupiter')
setPropertyReadonly(obj, 'name')
distributeEvenly(10, 3) // [4, 3, 3]
```

### 2) ResourceLoader

```ts
import { ResourceLoader } from '@jupiter/utils'

ResourceLoader(
  ['https://cdn.example.com/a.js', 'https://cdn.example.com/a.css'],
  () => {
    console.log('资源加载流程完成')
  }
)
```

> 注意：`ResourceLoader` 仅支持基于 `script/link` 的资源注入，不支持 ESM 模块语义加载（`import/export`、`type="module"`、`import()`）。

### 3) EventBus

```ts
import { EventBus } from '@jupiter/utils'

const bus = new EventBus()

const off = bus.subscribe('user:update', (payload) => {
  console.log('收到更新', payload)
})

bus.publish('user:update', { id: 1, name: 'zekai' })
off()
```

### 4) LocalStorageStore

```ts
import { LocalStorageStore } from '@jupiter/utils'

const store = new LocalStorageStore({
  key: 'app:user',
  initData: () => ({ id: 0, name: '' })
})

store.update({ id: 1, name: 'zekai' })
const name = store.getter('name')
console.log(name)
```

## 本地开发

在 `packages/utils` 目录执行：

```bash
npm run test
npm run lint
npm run build:prod
```

按文件执行测试：

```bash
npx jest test/EventBus.spec.ts --no-cache
npx jest test/ResourceLoader.spec.ts --no-cache
```
npm package: @jupl/tslint-config
Description: Personal TSLint configuration
Author: jupl
Latest version: 0.6.5

* tslint-config
[[https://www.npmjs.org/package/@jupl/tslint-config][file:https://img.shields.io/npm/v/@jupl/tslint-config.svg?style=flat-square]]
[[https://travis-ci.org/jupl/tslint-config][file:https://img.shields.io/travis/jupl/tslint-config.svg?label=travis&style=flat-square]]
[[https://david-dm.org/jupl/tslint-config][file:https://img.shields.io/david/jupl/tslint-config.svg?style=flat-square]]
[[https://david-dm.org/jupl/tslint-config?type=peer][file:https://img.shields.io/david/peer/jupl/tslint-config.svg?style=flat-square]]
[[https://david-dm.org/jupl/tslint-config?type=dev][file:https://img.shields.io/david/dev/jupl/tslint-config.svg?style=flat-square]]

** About
Personal [[https://palantir.github.io/tslint/][TSLint]] [[http://eslint.org/docs/developer-guide/shareable-configs.html][configuration]].

** Installation
#+BEGIN_EXAMPLE
npm install @jupl/tslint-config tslint
#+END_EXAMPLE

** Usage
Add to =tsconfig.json=:
#+BEGIN_SRC json
{
  "compilerOptions": {
    ...
    "strict": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true
  }
}
#+END_SRC

Add to =tslint.json=:
#+BEGIN_SRC json
{
  "extends": "@jupl/tslint-config"
}
#+END_SRC

If using JSX:
#+BEGIN_SRC json
{
  "extends": [
    "@jupl/tslint-config",
    "@jupl/tslint-config/jsx"
  ]
}
#+END_SRC
npm package: @jups/body-json
Description: An extension for the jups package for parsing JSON body data.
Author: Isaac Oram
Latest version: 0.1.0

# jups-body-json

[![NPM Version](https://img.shields.io/npm/v/@jups/body-json.svg)](https://npmjs.org/package/@jups/body-json)
[![NPM Downloads](https://img.shields.io/npm/dm/@jups/body-json.svg)](https://npmcharts.com/compare/@jups/body-json?minimal=true)
[![Install Size](https://packagephobia.now.sh/badge?p=@jups/body-json)](https://packagephobia.now.sh/result?p=@jups/body-json)

An extension for the jups package for parsing JSON body data.

## Installation

```bash
npm i @jups/body-json
```

## Usage

```js
const jups = require('jups');
const bodyJSON = require('@jups/body-json');

jups()
    .use(bodyJSON)
    .post('/', (req, res) => {
        res.end(req.body.name);
    })
    .listen(3000);
```

For Typescript just use the following import syntax.

```ts
import bodyJSON from '@jups/body-json';
```