open-index/open-npm huggingface dataset:
npm package: @package-graph/package-graph-tool
Description: package-graph-tool
Author: package-graph.org
Latest version: 0.0.3

# package-graph-tools
概述

# 开发版本
## V0.0.1
### 使用说明

安装依赖
```bash
npm install
```
查看版本
```bash
ts-node --esm bin/index.ts -v
```
运行
```bash
ts-node --esm bin/index.ts analyze --depth 2 --path ./ --dev true
```
### 参数说明
| 参数        | 说明          | 默认值   |
|-----------|-------------|-------|
| --depth   | 递归深度        | 2     |
| --path    | 项目路径        | ./    |
| --dev     | 是否开发版本      | false |
| --version | 查看版本        | 无     |
| --help    | 查看帮助        | 无     |
| --json    | 结果存储到JSON文件 | 无     |

# 代码结构
- lib为打包后的文件夹
- bin为命令行入口
- src为源码主入口

# 提交规范：
> 例：feat: 增加了一个新功能
冒号后面需要添加空格

## 发包规则
先行版本
当即将发布大版本改动前，但是又不能保证这个版本的功能 100% 正常，这个时候可以发布先行版本：
alpha: 内部版本
beta: 公测版本
rc: 候选版本(Release candiate)

比如：1.0.0-alpha.0、1.0.0-alpha.1、1.0.0-rc.0、1.0.0-rc.1等。

⚠️注意： 执行`release`命令会自动提交一次代码
npm package: @package-json/create
Description: Zero-config package.json creator.
Author: 藍+85CD
Latest version: 0.0.13

# @package-json/create

<!-- automd:badges color="green" license packagephobia -->

[![npm version](https://img.shields.io/npm/v/@package-json/create?color=green)](https://npmjs.com/package/@package-json/create)
[![npm downloads](https://img.shields.io/npm/dm/@package-json/create?color=green)](https://npmjs.com/package/@package-json/create)
[![license](https://img.shields.io/github/license/importantimport/package-json?color=green)](https://github.com/importantimport/package-json/blob/main/LICENSE)

<!-- /automd -->

Zero-config `package.json` creator.

## Usage

###### cli

```sh
# npm
npx create @package-json

# pnpm
pnpm create @package-json

# bun
bun create @package-json
```

###### programmatic

<!-- automd:file src="./test/fixture/example.ts" code -->

```ts [example.ts]
import { create } from '@package-json/create'

const json = create()

export default json
```

<!-- /automd -->

###### config

<!-- automd:file src="./test/fixture/pkgc.config.ts" code -->

```ts [pkgc.config.ts]
// pkgc.config.ts / package-json-create.config.ts
import { defineConfig } from '@package-json/create'

export default defineConfig({
  name: '@package-json/foo', // scope: @package-json
  scripts: {
    'build': 'pkgroll',
    'build:watch': 'pkgroll --watch',
    'test': 'vitest run',
    'test:watch': 'vitest watch',
  },
  type: 'module',
})
```

<!-- /automd -->

## License

[MIT](../../LICENSE.md)
npm package: @package-json/sort
Description: Opinionated package.json sorter.
Author: 藍+85CD
Latest version: 0.0.13

# @package-json/sort

<!-- automd:badges color="green" license packagephobia -->

[![npm version](https://img.shields.io/npm/v/@package-json/sort?color=green)](https://npmjs.com/package/@package-json/sort)
[![npm downloads](https://img.shields.io/npm/dm/@package-json/sort?color=green)](https://npmjs.com/package/@package-json/sort)
[![license](https://img.shields.io/github/license/importantimport/package-json?color=green)](https://github.com/importantimport/package-json/blob/main/LICENSE)

<!-- /automd -->

Opinionated `package.json` sorter.

## Usage

###### cli

<!-- automd:pm-x -->

```sh
# npm
npx @package-json/sort

# pnpm
pnpm dlx @package-json/sort

# bun
bunx @package-json/sort
```

<!-- /automd -->

###### programmatic

<!-- automd:file src="./test/fixture/example.ts" code -->

```ts [example.ts]
import { sort } from '@package-json/sort'

import packageJson from '../../package.json'

export default sort(packageJson)
```

<!-- /automd -->

## License

[MIT](../../LICENSE.md)
npm package: @package-json/types
Description: Auto-generated package.json types.
Author: 藍+85CD
Latest version: 0.0.13

# @package-json/types

<!-- automd:badges color="green" license packagephobia -->

[![npm version](https://img.shields.io/npm/v/@package-json/types?color=green)](https://npmjs.com/package/@package-json/types)
[![npm downloads](https://img.shields.io/npm/dm/@package-json/types?color=green)](https://npmjs.com/package/@package-json/types)
[![license](https://img.shields.io/github/license/importantimport/package-json?color=green)](https://github.com/importantimport/package-json/blob/main/LICENSE)

<!-- /automd -->

Auto-generated `package.json` types.

## Usage

###### types

```ts
import type { PackageJson } from '@package-json/types'

export const packageJson: PackageJson = {
  ...json
}
```

###### define

```ts
import { definePackageJson } from '@package-json/types'

export default definePackageJson({})
```

## License

[MIT](../../LICENSE.md)
npm package: @package-tucker/prism-sensetalk
Description: This is the patterns for the SenseTalk syntax highlighter using prism
Author: tucker.wiltse@keysight.com
Latest version: 2.4.5

# Sensetalk Prism

This is the patterns for the SenseTalk syntax highlighter. These patterns work using the [prismjs plugin](https://prismjs.com/)

## Docusaurus Usage
In a docusaurus project under `/src/theme/prism-include-languages.js`, require  `@package-tucker/prism-sensetalk/prism-sensetalk.ts` and add 
```
prism: {
    theme: require('@package-tucker/prism-sensetalk/sensetalkTheme')
},
```
under `themeConfig` in `docusaurus.config.js`
npm package: @package-tucker/textlint-linkcheck-relative-ids
Description: This is a textlint rule that validates relative links in markdown documents. First it verifies that relative links belong to a file, then it verifies the anchor in the link exists in a header id or by using the github-slugger.
Author: tucker.wiltse@keysight.com
Latest version: 1.1.1

# Markdown Link Checker

This is a textlint rule that validates relative links in markdown documents. First it verifies that relative links belong to a file, then it verifies the anchor in the link exists in a header id or by using the github-slugger.

## Usage

First [Install Textlint](https://github.com/textlint/textlint), then use the command `textlint --rule @package-tucker/textlint-linkcheck-relative-ids <path_to_markdown_files> -f pretty-error`

## Docusaurus Usage

This textlint rule was created to test relative links within Docusaurus projects. To implement into Docusaurus, add the script `"verify": "textlint --rule @package-tucker/textlint-linkcheck-relative-ids ./docs/ -f pretty-error"` to the `scripts` section of the `package.json` file. Then run the command `yarn verify` to check all relative links within the Docusaurus project. All relative links will be verified, including anchored links with explicit ids.
npm package: @package/copy
Description: deep/shallow copy/update
Author: constantology
Latest version: 0.0.11

# @package/copy

  deep/shallow copy/update

## Installation

```shell

    >$ npm install @package/copy

```

## Test

```shell

    @package/copy>$ npm test

```

## Build

if you want to convert @package/copy into es5, you can simply run:

```shell

    @package/copy>$ npm run build

```

## API

### copy( target:Object, source:Object[, no_overwrite:Boolean] ):Object
Copies the properties – accessible via `Object.keys` – from the `source` Object to the `target` Object and returns the `target` Object.

#### Example:

```javascript

    import {copy, merge, update} from '@package/copy';

    var foo = { one : 1, two : 2, three : 3 },
        bar = copy( {}, foo );

    bar          // returns => { "one" : 1, "two" : 2, "three" : 3 }

    foo === bar  // returns => false

    copy( foo, { three : 3.3, four : 4 }, true ); // returns => { "one" : 1, "two" : 2, "three" : 3, "four" : 4 }

```

### merge( target:Array|Object, source:Array|Object ):Boolean
Performs a "deep copy" of all the properties in `source` to `target`, so that `target` does not reference any child Arrays and/ or Objects that belong to `source`.

### update( target:Array|Object, source:Array|Object ):Boolean
Performs a "deep copy" of all the properties in `source` **that are not already contained in** `target`, so that `target` does not reference any child Arrays and/ or Objects that belong to `source`.

This works similarly to `copy.merge` except that existing properties are not overwritten.

## License

(The MIT License)

Copyright (c) 2011 christos "constantology" constandinou http://muigui.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

![Analytics](https://ga-beacon.appspot.com/UA-15072756-2/muigui/@package/copy/readme)
npm package: @package/pubsub
Description: easy peasy rabbitmq
Latest version: 0.0.11

# pubsub

  wrapper around amqplib to help expediate basic stuffs.

## Installation

```shell

    >$ npm install @package/pubsub

```

## Test

```shell

    @package/pubsub>$ npm test

```

## Build

if you want to convert @package/pubsub into es5, you can simply run:

```shell

    @package/pubsub>$ npm run build

```

## API

### create_connection(config:Object):AMQPConnection
creates a connection.

#### Example

```javascript

    import {create_connection} from '@package/pubsub';

    // use an alternate port
    let conn = yield create_connection({ port : 5673 });

```


### init_channel(conn:AMQPConnection, handlers:Object):AMQPChannel
create a channel, assert passed queues in `handlers` Object into existence and add their callbacks — if any — as consumers.

#### Example

```javascript

    import {create_connection, init_channel} from '@package/pubsub';

    let conn = yield create_connection;

    let channel = yield init_channel(conn, {
        // assert queue into existence and consume any messages published to it
        'queue.name.1' : function* (channel, msg) {
            let data = msg.content.toString();

            console.log(msg);

            // if you want to remove this message from the queue
            channel.ack(data);
        },
        // assert queue into existence only
        'queue.name.2' : true
    });

```

### broadcast(channel:AMQPChannel, queue:String, message:Object[, wait:Number]):Void
broadcast a message to the passed queue.

#### Example

```javascript

    import {create_connection, init_channel, broadcast} from '@package/pubsub';

    let conn = yield create_connection;

    let channel = yield init_channel(conn, {
        'queue.name.1' : function* (channel, msg) {
            let data = JSON.parse(msg.content.toString());

            let res = yield doSomethingTo(data);

            channel.ack(msg);

            // broadcast the new message to a different queue
            yield broadcast(channel, 'queue.name.2', res);
        },
        'queue.name.2' : true
    });

```

### destroy_queue(conn:AMQPConnection, queue1:String[, queue2:String, ..., , queueN:String]):Void
remove the passed queues, will not throw an Error if a queue does not exist.

#### Example

```javascript

    import {conn, destroy_queue} from '@package/pubsub';

    let conn = yield create_connection;

    yield destroy_queue(conn, 'queue.name.1', 'queue.name.2');

```
npm package: @package_holder/react-notion-x
Description: Fast and accurate React renderer for Notion.
Author: Travis Fischer
Latest version: 6.15.16

<p align="center">
  <img alt="React Notion X" src="https://raw.githubusercontent.com/NotionX/react-notion-x/master/media/notion-ts.png" width="689">
</p>

# React Notion X

> Fast and accurate React renderer for Notion.

[![NPM](https://img.shields.io/npm/v/react-notion-x.svg)](https://www.npmjs.com/package/react-notion-x) [![Build Status](https://github.com/NotionX/react-notion-x/actions/workflows/test.yml/badge.svg)](https://github.com/NotionX/react-notion-x/actions/workflows/test.yml) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io)

## Docs

See the [full docs](https://github.com/NotionX/react-notion-x).

## License

MIT © [Travis Fischer](https://transitivebullsh.it)

Support my OSS work by <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>
npm package: @packaged-ui/frame-courier
Description: High level interface to window.postMessage. This package makes it easy to send and receive secure messages cross-origin.
Author: Tom Kay
Latest version: 4.1.3

## FrameCourier

High level interface to window.postMessage.
This package makes it easy to send and receive secure messages cross-origin.

### Launching Demo

1. Compile the distribution (`yarn install && yarn build`)
2. Serve the demo. The simplest way (if you have php enabled) is to use the php built-in webserver `php -s localhost:8111 -t .`
3. Open the browser http://localhost:8111/demo/

### Basic Usage

#### Frames

FrameCourier requires frames to be named.  This name will be used as the target of communication of `FrameCourier.sendMessage`

```html
<body>
  <iframe courier-name="myframe" src="/myframe.html"></iframe>
</body>
```

#### Listeners

```javascript
FrameCourier.listen(
  'my event',
  function(payload) { alert(payload); }
);
```

#### Sending Messages

```javascript
FrameCourier.send(
  'myframe',     // target frame name
  'my event',    // event (listener)
  'my message'   // payload
);
```

### Advanced Usage

#### Bidirectional communication

Use built in response callbacks to send messages back to the originating frame.

```javascript
FrameCourier.listen(
  'my event',
  function(payload, respond) { alert(payload); respond('response payload'); }
);
```

```javascript
FrameCourier.send(
  'myframe',     // target frame name
  'my event',   // action (listener)
  'my message',  // payload
  function(responsePayload) { alert('got response: ' + responsePayload); }
);
```

## Implementation

 - Use `/dist/frame-courier.min.js` to have `FrameCourier` assigned as a global variable.
 - Import `/src/index.js` into your script to assign to your own internal variable.
npm package: @packaged-ui/pagelets
Description: **[Upgrading from v1 to v2](UPGRADE.md)**
Author: Tom Kay
Latest version: 2.6.1

# Pagelets

**[Upgrading from v1 to v2](UPGRADE.md)**

## Usage

### Initialize

Initialize pagelet events (link clicks and form submissions)

```js
Pagelets.init(options);
```

#### Options

| Property | Type | Default | Description |
| --- | --- | --- | --- |
| selector | string | `a[data-uri],button[data-uri],[href][data-target]` | Which "click" event elements to react to |
| formSelector | string | `form[data-uri],form[data-target]` | Which "submit" event elements to react to |
| defaultTarget | string | `document.body` | If no data-target specified, which container to load the content into |
| allowPersistentTargets | boolean | `true` | If a page has been reloaded, allow pagelets to load into containers of the same name |
| listenElement | Node | `document` | Listen to links within this container only |
| minRefreshRate | int | `500` | Minimum time to wait between pagelet refreshes |
| iterator | ActionIterator | `new ActionIterator()` | set the default iterator |

### Manual request

Manually make pagelet request

```js
const req = new Pagelets.Request(options);
Pagelets.load(req)
        .then(({request, response}) =>
              {
                // process response (if necessary)
              })
        .catch((e) =>
               {
                 // error handling
               });
```

#### Pagelet Options

| Property | Type | Default | Description |
| --- | --- | --- | --- |
| url _[required]_ | String | | URL of the resource to request |
| iterator | ActionIterator | _uses global options_ |  action iterator to use when processing the response |
| sourceElement | Element | |  element requesting the pagelet |
| targetElement | Element/String |  |  element to receive the default pagelet content |
| pushUrl | String |   |  URL to set in the address bar |
| headers | Object |  | object containing custom headers for the request |
| data | Object |   |  object containing post data |
| method | String |   |  request method to use |
| withCredentials | Boolean | `false` |  set withCredentials |
npm package: @packaged-ui/ready-promise
Description: Provides an observable mechanism to hook into document ReadyState changes.
Author: Tom Kay
Latest version: 2.0.0

# ready-promise

Provides an observable mechanism to hook into document ReadyState changes.

DOMContentLoaded is also seamlessly blended in as `readyStates.loaded`.

## Installation

```
npm i @packaged-ui/ready-promise
```

## Usage

The function `onReadyState` takes one argument of the ReadyState you want to wait for. This argument defaults
to `loaded`. It returns an observable object that will complete as soon as the document ReadyState reaches the specified
value.

Each observable state exposes `subscribe` and `unsubscribe` methods which accept a callback that will be called on
completion.

## Example

```javascript
import {onReadyState, readyStates} from "@packaged-ui/ready-promise";

onReadyState(readyStates.complete)
  .subscribe(
    () =>
    {
      // do something ...
    }
  )
  .unsubscribe(fn);
```