open-index/open-npm huggingface dataset:
npm package: @lytics/cloudesley
Description: a conventions-based release notes emitter
Latest version: 1.0.2

# cloudesley

![Sir Cloudesley Shovell](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Sir_Cloudesley_Shovell%2C_1650-1707.jpg/440px-Sir_Cloudesley_Shovell%2C_1650-1707.jpg)
npm package: @lytics/filterqlbuilder
Description: This package contains the segbuilder wrapped in a web component for embedding into a host application.
Latest version: 3.0.0

# @lytics/filterqlbuilder

This package contains the segbuilder wrapped in a web component for embedding into a host application.

## Build

To build, from the monorepo workspace:

```sh
$ yarn build
```

## Deploy

After building, from the monorepo workspace:

```sh
gsutil cp packages/filterqlbuilder/dist/umd/filterqlbuilder.min.js gs://filterqlbuilder
```
npm package: @lytics/nivo-tooltip
Description: [![version](https://img.shields.io/npm/v/@nivo/tooltip.svg?style=flat-square)](https://www.npmjs.com/package/@nivo/tooltip)
Author: Raphaël Benitte
Latest version: 0.59.1

# `@nivo/tooltip`

[![version](https://img.shields.io/npm/v/@nivo/tooltip.svg?style=flat-square)](https://www.npmjs.com/package/@nivo/tooltip)
npm package: @lytics/sdk
Description: A TypeScript client for the Lytics API.
Latest version: 3.0.0

# Lytics SDK

A TypeScript client for the Lytics API.

### Managing Token and AID

The SDK is decoupled from the particulars about how the auth token is managed.

It’s possible to auth using an object literal:

```javascript
const session = await auth({ token: "...", aid: "12" });
```

Here is an example of gluing to the sdk to node:

```javascript
const session = await auth({ 
  get token() { return process.env.LIOTOKEN },
  get aid() { return process.env.LYTICS_AID }
});
```
npm package: @lytics/segast
Description: SegmentAST for segment builders
Latest version: 3.0.0

# segast


```
SegmentQL Grammar (https://github.com/lytics/lio/tree/develop/src/segments/segast)

Segment    = Expr
Expr       = {"op": Op, "args": Args}
Op         = "and" | "or" | "not" | ">" | ">=" | "<" | "<=" | "=" | "!="
                    | "between" | "contains" | "exists" | "in" | "intersects"
                    | "include" | "like" | "*"
Args       = [ Node, Node, ... ]
Node       = Expr | Literal | Identifier | SegmentRef
Literal    = {"val":   "..."}
Identifier = {"ident": "..."}
SegmentRef = {"ident":   "..."}
```

_Exhibit_: the original segast grammar for nostalgia's sake
npm package: @lytics/segbuilder
Description: Segment Builder React Component
Latest version: 3.0.0

# @lytics/segbuilder

## Development

From the monorepo workspace:

```sh
yarn start --scope @lytics/segbuilder
```

- Development server: `http://local.getlytics.com:10001`.
- Ensure that pop-ups are allowed for that domain (required for Google login) - [Block or allow popups in Chrome](https://support.google.com/chrome/answer/95472?hl=en&co=GENIE.Platform%3DDesktop)
npm package: @lytieuphong/short-number
Description: Convert number to readable number. Example 1000000 to 1M
Author: Tieu Phong
Latest version: 1.2.3

# short-number

Convert number to readable number. Example 1000000 to 1M

[![Publish Package](https://github.com/lytieuphong/short-number/actions/workflows/publish-package.yaml/badge.svg)](https://github.com/lytieuphong/short-number/actions/workflows/publish-package.yaml) [![Test](https://github.com/lytieuphong/short-number/actions/workflows/test.yaml/badge.svg)](https://github.com/lytieuphong/short-number/actions/workflows/test.yaml)

## How to use

```js 
import {ShortNumber} from '@lytieuphong/short-number';

console.log(ShortNumber(1000000)); // 1M
console.log(ShortNumber(1000)); // 1K
```
npm package: @lytix/client
Description: Official Lytix Client Packages
Author: Lytixs Labs
Latest version: 5.1.0

<h1 align="center">
    📦 lytix-js
</h1>
<p align="center">
This directory contains all the NPM packages for the Lytix project.
</p>
<p align="center">
    <a href="https://lytix.co">
        <img src="https://img.shields.io/badge/Visit%20Us-Lytix-brightgreen" alt="Lytix">
    </a>  
    <a href="https://badge.fury.io/js/@lytix%2Fclient">
        <img src="https://badge.fury.io/js/@lytix%2Fclient.svg" alt="NPM version">
    </a>
    <a href="https://discord.gg/8TCbHsSe">
        <img src="https://img.shields.io/badge/Join%20our%20community-Discord-blue" alt="Discord Server">
    </a>
</p>


#### Environment Variables

The following environment variables are required to run the Lytix client.

- `LX_API_KEY`: The API key for the Lytix API. This is required to send data to the Lytix API.

The followig environment variables are optional.

- `LX_BASE_URL`: The base URL for the Lytix API. This is required to send data to the Lytix API.

#### Configuration

There are multiple ways to use MM. Please follow the instructions relevent to what you'd like to setup.

##### Express Middleware

First make sure you have setup your httpContext middleware. This should be at the towards the top of your middleware stack, **before authentication**.

```ts
/**
 * HTTP Context middlware
 */
app.use(httpContext.middleware);
```

Then you can use the `ErrorRequestHandler` middleware.

```ts
/**
 * Lytix middleware
 */
app.use(ErrorRequestHandler);
```

_But wait, there's more._ You can define a logger, that can be passed to our middleware that can be used to trace a users request.

```ts
import { MMLogger, ErrorRequestHandler } from "@lytix/client";

export const logger = new MMLogger("main");

/**
 * Your custom auth middleware unrelated to lytix
 */
app.use(async (req, res, next) => {
  logger.info(`New request for path: ${req.path} with method: ${req.method}`);

  /**
   * Set metadata for the logger
   */
  logger.setMetadata({
    userId: "1234",
    authed: false,
  });
  next();
});

app.get(
  "/randomEndpoint",
  async (req, res) => {
    ...
    logger.info(`We are deeply nested in some functions`);
    throw new Error(`Uh oh`);
  }
);

/**
 * Lytix middleware
 */
app.use(ErrorRequestHandler);
```

Not only will you get alerts on the error, but you'll also automatically log the userId whenever you call `logger.info/debug/error/warn`

```
> [userId=1234;authed=false] We are deeply nested in some functions
```

This uses the http context to maintain the metadata state. This means as long as you use the exported `logger`, no matter where you are logging you'll always have the userId and authed flag (in this example).
npm package: @lytovka/eslint-config
Description: ESLint rules configuration according to Ivan Lytovka's preference.
Author: Ivan Lytovka
Latest version: 1.4.1

# @lytovka/eslint-config

[![npm](https://img.shields.io/npm/v/@lytovka/eslint-config?color=a1b858&label=)](https://npmjs.com/package/@lytovka/eslint-config)

## Installation

This module is distributed via [npm](https://www.npmjs.com/) and should be installed as one of your project's `devDependencies`. You should also have required [`eslint`](https://github.com/eslint/eslint) `peerDependency` installed.

```bash
npm i -D eslint @lytovka/eslint-config
```

## Usage

Then, add the extends to your `.eslintrc.js`:

```js
module.exports = {
  extends: ["@lytovka"],
  rules: {
    // override rules if needed
  },
}
```

In addition, you can add scripts to your `package.json` to identify errors and warnings. For example:

```json
{
  "scripts": {
    "lint": "eslint --max-warnings 0 --cache --cache-location ./node_modules/.cache/.eslintcache --ext js,jsx,ts,tsx .",
    "lint:fix": "eslint --fix ."
  }
}
```

## Other configs

Currently this module exposes a few additional configs:

- `@lytovka/eslint-config/react`: preset for React projects.
- `@lytovka/eslint-config/jsx-a11y`: preset for accessibility issues in React apps.
- `@lytovka/eslint-config/import`: preset for import rules (both JavaScript and TypeScript projects).

Feel free to add those configs to the `extend` property:

```js
module.exports = {
  extends: [
    "@lytovka",
    "@lytovka/eslint-config/react",
    "@lytovka/eslint-config/jsx-a11y",
    "@lytovka/eslint-config/import"
  ],
  rules: {
    // override rules
  },
}
```

## TypeScript rules

By default, this module will search for `tsconfig.json` in the project root to determine if TypeScript ESLint rules should be enabled. Alternatively, you can overwrite the `ESLINT_TSCONFIG_PATH` environment variable to scan for a different file. For example:

```js
// .eslintrc.js
process.env.ESLINT_TSCONFIG_PATH = "tsconfig.eslint.json"

module.exports = {
  extends: ["@lytovka"]
}
```
npm package: @lytrax/laravel-config
Description: Use Laravel app configuration directly to Node scripts
Author: Christos Lytras
Latest version: 1.0.2

# Laravel Config

Use Laravel app configuration directly to Node scripts.

Main purpose is for using along with Laravel Mix to extend configurations and pass config values to Webpack, Sass, PostCss and all the available plugins that Mix provides. Nevertheless, it can be used for any node script that will run under the application root directory (*where `bootstrap/` directory is located*).

## Usage

```js
const { getLaravelConfig } = require('@lytrax/laravel-config');

const config = getLaravelConfig();

// All of Laravel cached configuration will now be loaded into the config constant
```

If you want to change the base path root where the `bootstrap/` directory is located, you can use the `basePath` option:

```js
const { getLaravelConfig } = require('@lytrax/laravel-config');

const config = getLaravelConfig({ basePath: '/my/path/to/app/root' });
```

### Config Cache

Remember to always refresh/update the config cache after every config update so to fetch the new configuration instantly.

```
php artisan config:cache
```

or

```
sail artisan config:cache
```

## How it works

The `getLaravelConfig` function uses PHP CLI to execute a direct command to echo an encoded JSON of the `bootstrap/cache/config.php` file which is the Laravel cached configuration. It uses `process.cwd()` to get the current working directory and use it for the base directory, in which the `bootstrap/` directory should be located. We can change the base directory using the option `basePath`.

## Development

- Commit changes to GitHub using [commitizen][commitizen] `git cz`

## Publish

Always commit everything before publishing new releases.

1. `yarn build` to build the distribution files
2. `yarn deploy` or `np --contents=release` to bump version, run release script and publish to NPM and GitHub

Running `np` will have the `version` script executed which will run the `makeRelease` script.

## License

MIT [LICENSE][license]

[commitizen]: https://github.com/commitizen/cz-cli
[license]: https://github.com/clytras/laravel-config/blob/master/LICENSE
npm package: @lytrax/react-native-fresco
Description: React Native with Fresco Image Downsample disabled - Template
Author: Christos Lytras
Latest version: 1.0.2

# RN 0.67 with Fresco patch to disable image downsampling

## Intallation

1. Create a new React Native 0.67 project using this template:

```bash
npx @react-native-community/cli@next init --template=@lytrax/react-native-fresco <ProjectName>
cd <ProjectName>
```

2. Run `fresco-setup` script to clone, checkout Fresco 2.5.0 and patch `DecodeProducer.java`:

```bash
yarn fresco-setup
```

1. Download and unzip/install [Android NDK Revision 23](https://developer.android.com/ndk/downloads). I have downloaded [`android-ndk-r23b-windows.zip`](https://dl.google.com/android/repository/android-ndk-r23b-windows.zip) and unzipped it under `G:\Dev\Android\android-ndk-r23b` on Windows.

2. Create `android/libraries/fresco/local.properties` with the following contents:

```gradle
ndk.dir=G:\\Dev\\Android\\android-ndk-r23b
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
```

Remember to change `ndk.dir` to the actual path that you've installed NDK R23b.

5. Open an Android Emulator and build the app:

```bash
yarn android
```

## Screenshots

| Before patch/build | After patch/build |
|------------------------------------|-------|
|![Before Fresco patch](https://raw.githubusercontent.com/clytras/react-native-fresco/master/doc/RNFrescoBuild_before_patch.png)|![After Fresco patch](https://raw.githubusercontent.com/clytras/react-native-fresco/master/doc/RNFrescoBuild_after_patch.png)|

## Troubleshooting

If you get any errors when debugging regarding Fresco Flipper Plugin, you either comment to disable `flipper-fresco-plugin` inside `android/app/build.gradle`, or build custom Fresco only for release builds.
npm package: @lytrax/react-navigation-tabs
Description: Tab Navigation components for React Navigation
Author: Satyajit Sahoo
Latest version: 2.8.3

This package has been moved to https://github.com/react-navigation/react-navigation/tree/4.x

---

# React Navigation Tabs

[![Build Status][build-badge]][build]
[![Version][version-badge]][package]
[![MIT License][license-badge]][license]

Tab navigators for React Navigation.

## Installation

Follow the instructions on the [the React Navigation "Getting Started" guide](https://reactnavigation.org/docs/en/getting-started.html), and then add the `react-navigation-tabs` package to your project.

## Usage

The package exports two different navigators:

- `createBottomTabNavigator`: iOS like bottom tabs.
- `createMaterialTopTabNavigator`: Material design themed top tabs with swipe gesture, from [react-native-tab-view](https://github.com/react-native-community/react-native-tab-view).

You can import individual navigators and use them:

```js
import { createBottomTabNavigator } from 'react-navigation-tabs';

export default createBottomTabNavigator({
  Album: { screen: Album },
  Library: { screen: Library },
  History: { screen: History },
  Cart: { screen: Cart },
});
```

You can install another package, [`react-navigation-material-bottom-tabs`](https://github.com/react-navigation/material-bottom-tabs), to use a third type of tab navigator:

- `createMaterialBottomTabNavigator`: Material design themed animated bottom tabs, from [react-native-paper](https://callstack.github.io/react-native-paper/bottom-navigation.html).

```js
import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs';

export default createMaterialBottomTabNavigator(
  {
    Album: { screen: Album },
    Library: { screen: Library },
    History: { screen: History },
    Cart: { screen: Cart },
  },
  {
    initialRouteName: 'Album',
    activeTintColor: '#F44336',
  },
);
```

## Development workflow

To setup the development environment, open a Terminal in the repo directory and run the following:

```sh
yarn bootstrap
```

While developing, you can run the example app with [Expo](https://expo.io/) to test your changes:

```sh
yarn example start
```

Make sure your code passes TypeScript and ESLint. Run the following to verify:

```sh
yarn typescript
yarn lint
```

To fix formatting errors, run the following:

```sh
yarn lint --fix
```

## Docs

- [`createBottomTabNavigator`](https://reactnavigation.org/docs/en/bottom-tab-navigator.html)
- [`createMaterialTopTabNavigator`](https://reactnavigation.org/docs/en/material-top-tab-navigator.html)

<!-- badges -->
[build-badge]: https://img.shields.io/circleci/project/github/react-navigation/tabs/master.svg?style=flat-square
[build]: https://circleci.com/gh/react-navigation/tabs
[version-badge]: https://img.shields.io/npm/v/react-navigation-tabs.svg?style=flat-square
[package]: https://www.npmjs.com/package/react-navigation-tabs
[license-badge]: https://img.shields.io/npm/l/react-navigation-tabs.svg?style=flat-square
[license]: https://opensource.org/licenses/MIT
npm package: @lyttonlee/parse-file
Description: 一个用于解析文件内容的小工具
Author: lzr3278@163.com
Latest version: 1.0.2

<!--
 * @Author: lyttonlee lzr3278@163.com
 * @Date: 2022-10-08 14:00:58
 * @LastEditors: lyttonlee lzr3278@163.com
 * @LastEditTime: 2022-10-08 15:02:08
 * @FilePath: \ofd-lib\RWADME.md
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->

## @lyttonlee/parse-file

### install

```
npm install @lyttonlee/parse-file -S
```

### use

```
import {parseFile} from '@lyttonlee/parse-file'

const data = await parseFile(File | string)
```
npm package: @lyu_danny/copymark
Description: copy-to-mark UX toolkit for react
Author: lyu_danny
Latest version: 0.0.3

# @lyu_danny/copymark

> A sophisticated, zero-config React toolkit for "Copy-to-Clipboard" with integrated Toasts.

## Install

```bash
npm install @lyu_danny/copymark
```

## Features

- **No Provider needed**: Just import and use. Infrastructure is initialized lazily.
- **Auto-Injection**: Toaster is automatically managed within the DOM.
- **Full Customizability**: Override messages, durations, and themes per component.

## Usage

```tsx
import { CopyButton, CopyText } from "@lyu_danny/copymark";

function Example() {
  return (
    <>
      {/* Smart injection of Toast UI happens on the first click */}
      <CopyButton value="Shareable Text">Copy to Clipboard</CopyButton>

      {/* Opt-out of feedback if necessary */}
      <CopyText value="Secret" toast="off">Click to copy silently</CopyText>
    </>
  );
}
```

## API

| Property | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `value` | `string` | - | Text to copy |
| `toast` | `"on" \| "off"` | `"on"` | Toggle toast feedback |
| `theme` | `ToastTheme` | `"grass"` | Visual preset: `grass`, `orange`, `blue`, `red`, `dark` |

| `duration` | `number` | `2000` | Visibility time in ms |

---
MIT Licensed | © 2025 lyu_danny
npm package: @lyuboslavlyubenov/getfavicon
Description: Get the favicon of a URL
Author: Lyuboslav Lyubenov
Latest version: 1.0.0

# Get the favicon from every URL by utilizing Cloudflare Workers

## Demo

`https://favicon.splitbee.io/?url=workers.cloudflare.com`

<a href="https://favicon.splitbee.io/?url=workers.cloudflare.com"><img src="https://favicon.splitbee.io/?url=workers.cloudflare.com" width="30" height="30"/></a>
<a href="https://favicon.splitbee.io/?url=splitbee.io"><img src="https://favicon.splitbee.io/?url=splitbee.io" width="30" height="30"/></a>
<a href="https://favicon.splitbee.io/?url=feedback.fish"><img src="https://favicon.splitbee.io/?url=feedback.fish" width="30" height="30"/></a>
<a href="https://favicon.splitbee.io/?url=stripe.com"><img src="https://favicon.splitbee.io/?url=stripe.com" width="30" height="30"/></a>

## Deploy

Fill out the missing parameters in `wrangler.toml` and run `wrangler publish` to upload your worker to cloudflare!
npm package: @lyvly/mock-mongo
Description: Mocks a Mongo Replica Set
Author: Ray Parkar
Latest version: 2.1.0

# mock-mongo
Mocks a Mongo Replica Set, using [`mongodb-memory-server`](https://www.npmjs.com/package/mongodb-memory-server).

## Motivation
There are many motivations in life for building packages, this one was simple. We use the mock DB everywhere, and we needed to prove that we could publish libraries in a nice simple concise manner. So here we are.

## Usage
In your test file, import `MockMongo`:
```
import { MockMongo } from '@lyvly/mock-mongo
```

To start the db:
```
await MockMongo.start([options])
```
By default, we use the following `mongodb-memory-server` [options](https://github.com/nodkz/mongodb-memory-server/blob/master/README.md#available-options-for-mongomemoryserver):
```
  debug: false,
  replSet: {
    storageEngine: 'wiredTiger',
  },
```
You can override this by passing your own options to `start`.

`start` returns the mongo memory server instance.

To get the connection uri:
```
await MockMongo.getUri()
```

To stop the DB:
```
await MockMongo.stop()
```

To get a native mongo collection to test against:
```
await MockMongo.getCollection(databaseName, collectionName)
```

To get the mongo memory server instance
```
MockMongo.get()
```

To set a new mongo memory server instance
```
MockMongo.set(mongoInstance)
```
npm package: @lywzx/access.control
Description: js access control
Author: liuyang
Latest version: 1.0.8

# 介绍

`access.control`是基于传统的RBAC(RoleTypes base Access Control)的权限验证库，同时也主要侧重于权限的验证功能。由于是最纯粹的验证逻辑，所以与平台无关，适用于NodeJs及Browser端。

# 快速上手

## 项目中直接安装

    # 安装
    yarn add @lywzx/access.control # 或者：npm install @lywzx/vue.access.control

## 使用示例
    import { User, RoleTypes } from '@lywzx/access.control';

    let user = new User([
            'Administrator',
            'Editor'
        ], [
            'add_post',
            'edit_post',
            'add_user',
            'remove_user'
       ]);



验证用户是否包含某个角色
    
    user.hasRole('Administrator'); // will return true;
    user.hasRole('Assessor');        // will return false;
    user.hasRole(['Administrator', 'Assessor']); // will return true;
    

验证用户是否同时包含多个角色

    user.hasRole(['Administrator', 'Editor'], true);  // will return true
    user.hasRole(['Editor', 'Assessor'], true);       // will return true;    

验证用户是拥有某个权限

    user.can('add_post');     // will return true;
    user.can('remove_post');  // will return false;

验证是否拥有某一类权限，可以使用`*`来代代替

    user.can('*_post');      // will return true;
    user.can('*_comment');   // will return false;

当然也可以验证多组权限，当需要同时具有两组权限时，可以给第二个参数传true;

    user.can(['add_post', 'remove_user']); // will return true
    user.can(['add_post', 'remove_user'], true);  // will return true;

有时，例如文件只能是自己创建的才能编辑，你可以使用`owns`方法。但使用前，你必须给`user`设置一个用户ID。

    user.owns({id: 1, title: '新闻标题', user_id: 1});
npm package: @lywzx/rollup-build-scripts
Description: rollup build script
Author: lywzx
Latest version: 0.0.15

# @lywzx/rollup-build-scripts

基于于rollup，只需要简单配置，即快完成包的快速构建功能。

## 安装

```bash
yarn add @lywzx/rollup-build-scripts --dev // 或 npm install @lywzx/rollup-build-scripts --save-dev
```

## 配置

在package.json中，scripts字段，添加如下配置：

```
"dev": "node --max_old_space_size=8192 node_modules/rollup/dist/bin/rollup -c node_modules/@lywzx/rollup-build-scripts/rollup.config.js -w",
"build": "node --max-old-space-size=8192 node_modules/@lywzx/rollup-build-scripts/index.js",
```

支持在命令行中传递参数：

* --ts 启用typescript构建
* --tsconfig 指定tsconfig.json文件路径
* --input 指定构建时，rollup的输入文件
* --input-prefix 如果文件位于包的src目录下，可以填写此字段
* --output-prefix 包的输出路径，相对于构建包的目录，默认为dist; 当 --output-root-path 存在时，此参数不起作用
* --output-root-path 按包名统一输出到当前目录下，一般开发环境下会使用到
* --output-lib 构建包内文件时，输出的默认路径
* --rollup-path 安装的rollup的路径，默认node_modules/.bin/rollup
* --workspace 当多包开发时，启用workspace存在时，将会自动从workspace下中查询
* --only-package 限制构建的包(支持*匹配包名)
* --only-entry 限制构建类型
  - minify 仅构建非压缩类型
  - es,umd,cjs 仅构构建以上类型入口
  - browser 仅构建浏览器的入口 
* --sourcemap 是否需要生成sourcemap
* --r-config 指定配置文件


如果以上参数，还不够功能，可以使用配置文件，创建.rollup.config.js至项目根目录，命令行中的参数将覆盖配置文件中的参数，配置示例;

```typescript
/**
 * @type {import('@lywzx/rollup-build-scripts').IRollupConfig}
 */
module.exports = {
    ts: true,
    watch: true,
    // typescript 声明文件合并
    dts: true,
    // tsconfig 文件位置
    tsconfig: argv.tsconfig ?? config.tsconfig ?? 'tsconfig.json',
    // 覆盖tsconfig配置
    tsconfigOverride: '',
    // 是否载入json插件
    json: false,
    // 构建入口文件名称
    input: 'index.ts',
    // 入口文件路径前缀
    inputPrefix: 'src',
    // 构建输出文件前缀
    // <%= package.name %> v<%= package.version%>
    // (c) <%= new Date().getFullYear() %> <%= package.author%>
    // @license <%= package.license %>
    banner: '',
    // 构建后输出路径
    outPrefix: '',
    // 构建后输入路径前缀
    outLibrary: '',
    // 将所有包输出到某个目录下
    outRootPath: '',
    // rollup命令所处位置
    rollupPath: 'node_modules/.bin/rollup',
    // 当前工作区目录
    workspace: ['packages'],
    // 只构建某些包
    onlyPackage: '',
    // 是否需要生成sourcemap
    sourcemap: false,
    // buble插件配置
    buble: {},
    // commonjs插件配置
    commonjs: {},
    // resolve时使用的扩展名
    extensions: {},
    // replace插件使用配置
    replace: {},
    // 多包模式下，构建时，是否需要把其他包作为external
    externalEachOther: config.externalEachOther ?? false,
    // 需要external的包，如lodash
    external: {},
    // 输出是全局的名称
    outputGlobals: config.outputGlobals ?? {},
    // 辅助函数，用来过滤某些入口是否构建或不构建
    onlyEntry: (input: IEntryOption, pkg: IPackageConfig) => {
        // 返回一个true或false，来控制是否要构建当前entry
        return true; 
    },
    // 辅助函数，可以在构建前，修改rollup的配置文件内容
    handleConfig(config: InputOptions, pkg: IPackageConfig): InputOptions {
        // 这里可以处理自定议的逻辑
        return config;
    },
}
```

## 包开发输出到某个目录

通常项目开发过程，需要与其他项目联调，需要将修改的内容，构建后输入到某个目录，可以使用如下命令(假定完成了上面的配置工作):

```bash
yarn dev --output-root-path=../project-demo/node_modules --only-package=@test/package1,@test/package2
```
npm package: @lywzx/vue.access.control
Description: vue access control
Author: liuyang
Latest version: 1.0.10

# Introduction

`vue access control` is base on the package  [`@lywzx/access.control`](https://github.com/lywzx/access.control) for vue application access control.


# Getting Started

## Installation

```sh
# install
yarn add @lywzx/vue.access.control # or：npm install @lywzx/vue.access.control --save
```

When used with a module system, you must explicitly install VueAccessControl via `Vue.use()`;

```js
import VueAccessControl from '@lywzx/vue.access.control';
Vue.use(VueAccessControl, {});
```
    
You don't need to do this when using global script tags.


## Dev Build

You will have to clone directly from GitHub and build vue.access.control yourself if you want to use the latest dev build.

```sh
git clone https://github.com/lywzx/vue.access.control.git node_modules/@lywax/vue.access.control
cd node_modules/@lywax/vue.access.control
npm install
npm run build
```


## use examples

after you correct install. you should new a AccessControl.

```js
// src/access/index.js
import VueAccessControl, {
  LoginMiddleware,
  RouterMiddleware
} from '@lywzx/vue.access.control';
import Vue from 'vue';

Vue.use(VueAccessControl);
const access = new VueAccessControl();

export default access;
```

then you change root vue component.

```js
// src/main.js
import access from './access/index';

new Vue({
    access
}).$mount('#app')
```

in you component, `$access` variable you will visited.

### check role or permission

```html
<!-- check role -->
<div v-if="$access.hasRole('administrator')"></div>

<!-- check permission -->
<div v-if="$access.can('edit_post')"></div>
```
    

### route middleware

if you has used `vue-router`, you may need router middleware for you application. When you use VueAccessControl, please enable useRouter.

```js
Vue.use(VueAccessControl, {
    vueRouter: true
});
```
   
the code should below `Vue.use(vueRouter)`
   
add these code to you router

```js
import VueRouter from 'vue-router';
import { afterEach, beforeEach } from '@lywzx/vue.access.control';

//...

const Router = new VueRouter({
    // ...
});

// add code like this
Router.beforeEach(beforeEach.bind(Router));
Router.afterEach(afterEach.bind(Router));
```

if user must login when visit the page, you can do like this.

```js
{
    name: 'user_index',
    path: 'user/index',
    meta: {
        middleware: ['login']
    }
}
```

only administrator can access

```js
{
    name: 'user_manage',
    path: 'admin/user',
    meta: {
        middleware: ['login', 'role:administrator']
    }
}
```

# Examples preview

[base access](https://www.lyblog.net/docs/vue.access.control/demo/base/index.html)

[route middleware](https://www.lyblog.net/docs/vue.access.control/demo/route-middleware/index.html)

# Examples codes

[base access](https://github.com/lywzx/vue.access.control/tree/dev/examples/base)

[route middleware](https://github.com/lywzx/vue.access.control/tree/dev/examples/route-middleware)
npm package: @lyx0717/lyx-ui
Description: ## Project setup ``` npm install ```
Author: lyx
Latest version: 0.1.3

# vui

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @lyx9527/create-template-app
Description: 一个CLI工具，用于生成模板项目
Author: https://github.com/LYX9527
Latest version: 1.0.1

# Create Template App

一个用于生成项目模板的CLI工具，支持多种项目类型。

## 功能

- 交互式命令行界面
- 支持多种项目模板：
  - Express API
  - React 应用
  - Vue 应用
- 可选择额外功能:
  - TypeScript
  - ESLint
  - Jest测试框架

## 安装

### 全局安装

```bash
npm install -g create-template-app
```

### 使用npx (推荐)

无需安装，直接使用:

```bash
npx create-template-app
```

## 使用方法

创建一个新项目:

```bash
create-template-app
```

或者通过npx:

```bash
npx create-template-app
```

然后按照提示选择项目类型和配置项。

## 支持的模板

### Express API

- 完整的RESTful API结构
- 中间件配置
- 环境变量支持
- 错误处理

### React 应用

- 基于Create React App
- React Router配置
- 组件示例
- 页面结构

### Vue 应用 (即将推出)

- Vue 3
- Vue Router
- 组件示例
- 页面结构

## 开发

克隆项目并安装依赖:

```bash
git clone https://github.com/yourusername/create-template-app.git
cd create-template-app
npm install
```

本地测试:

```bash
npm link
create-template-app
```

## 贡献

欢迎提交Pull Request和Issue。
npm package: @lyxa.ai/types
Description: Lyxa type definitions and validation schemas for both frontend and backend
Author: elie
Latest version: 1.4.29

# @lyxa.ai/types

Lyxa type definitions and validation schemas for both frontend and backend applications.

## Installation

```bash
npm install @lyxa.ai/types
```

## Usage

```typescript
import { /* your types and validations */ } from '@lyxa.ai/types';
```

This package contains:
- Type definitions and enums from `utilities/enum.ts`
- Validation schemas from `utilities/validation`

Perfect for sharing types between frontend and backend applications.

## Version

Version: 1.4.29

## Dependencies

- zod: ^3.24.1
- @types/node: ^22.10.2
npm package: @lyxsus/rdf-ext
Description: RDF-Ext is a developer-friendly extension for RDF/JS
Author: Thomas Bergwinkl
Latest version: 2.0.4

# RDF-Ext

[![Build Status](https://img.shields.io/github/workflow/status/rdf-ext/rdf-ext/CI)](https://github.com/rdf-ext/rdf-ext/actions/workflows/ci.yaml)

[![npm version](https://img.shields.io/npm/v/rdf-ext.svg)](https://www.npmjs.com/package/rdf-ext)

RDF-Ext is a JavaScript library that extends the [RDF/JS](#rdf-js) specs to handle RDF data in a developer-friendly way.

For more details, please check [rdf-ext.org](https://rdf-ext.org/)
npm package: @lyyncode/lyyn-bail
Description: Websocket Whatsapp API for Node.js
Author: LyynNotYourGod
Latest version: 9.0.7

<div align="center">

<img src="https://lyyncode.xyz/pages/image/pf.png" width="180" height="180" style="border-radius: 50%; object-fit: cover;" alt="Lyyncode"/>

# <code>@lyyncode/lyyn-bail</code>

**WhatsApp Web API Library** — *Fork optimasi dari Baileys*

[![npm](https://img.shields.io/npm/v/@lyyncode/lyyn-bail?style=for-the-badge&color=red)](https://www.npmjs.com/package/@lyyncode/lyyn-bail)
[![license](https://img.shields.io/badge/License-MIT-blue?style=for-the-badge)](LICENSE)
[![node](https://img.shields.io/badge/node-%3E%3D20-339933?style=for-the-badge&logo=nodedotjs)](https://nodejs.org/)

</div>

---

## 📦 Install

```bash
npm i @lyyncode/lyyn-bail
```

🚀 Quick Start

```javascript
const { default: makeWASocket, useMultiFileAuthState } = require('@lyyncode/lyyn-bail');

async function init() {
  const { state, saveCreds } = await useMultiFileAuthState('session');
  
  const sock = makeWASocket({
    printQRInTerminal: true,
    auth: state
  });

  sock.ev.on('connection.update', ({ connection }) => {
    if (connection === 'open') console.log('✓ Connected');
  });

  sock.ev.on('creds.update', saveCreds);
}

init();
```

✨ Fitur

Fitur	Status	
Multi-Device	✅	
Auto Reconnect	✅	
Kirim Media	✅	
Group Management	✅

📝 Contoh Penggunaan

Kirim Pesan Teks

```javascript
await sock.sendMessage('628xx@s.whatsapp.net', { text: 'Halo' });
```

Kirim Gambar

```javascript
await sock.sendMessage(jid, {
  image: fs.readFileSync('foto.jpg'),
  caption: 'Keterangan'
});
```

🔗 Links

- Telegram: [t.me/Lyyncode](https://t.me/Lyyncode)
- Website: [lyyncode.xyz](https://lyyncode.xyz)
- NPM: [@lyyncode/lyyn-bail](https://www.npmjs.com/package/@lyyncode/lyyn-bail)

---