open-index/open-npm huggingface dataset:
npm package: @hermit46/depguard-test-malicious
Description: Security test package for DepGuard. Mimics axios/plain-crypto-js attack pattern. DO NOT install outside a sandbox.
Latest version: 1.0.0

# @yongquantan/depguard-test-malicious

**DO NOT install this package outside of a sandbox.**

This is a security test package for [DepGuard](https://github.com/yongquantan/dependency-guard). It mimics the axios/plain-crypto-js supply chain attack pattern to test DepGuard's sandbox behavioral analysis.

## What the postinstall does

1. Writes files to /tmp and /root (filesystem signal)
2. Creates an executable outside node_modules (executable signal)
3. Attempts an HTTP POST to 192.0.2.1:8000 — a non-routable RFC 5737 TEST-NET address (network signal)
4. Spawns a detached background process (process signal)
5. Deletes itself after execution (anti-forensics signal)

None of these actions cause real harm — the network call goes nowhere, the "payload" is the text "fake RAT payload", and the background process is just `sleep`.

## Usage

```bash
# Run ONLY inside DepGuard's Modal sandbox (step 04 or 05):
echo '{"hook_event_name":"PreToolUse","tool_input":{"command":"npm install @yongquantan/depguard-test-malicious"},...}' \
  | bash steps/04-sandbox-analysis/hook.sh
```
npm package: @hernad/claude-ntfy
Description: TUI application for sending notifications to ntfy.sh about project progress
Author: hernad
Latest version: 0.6.6

# claude-ntfy

[![npm version](https://img.shields.io/npm/v/@hernad/claude-ntfy)](https://www.npmjs.com/package/@hernad/claude-ntfy)

TUI application for sending notifications to [ntfy.sh](https://ntfy.sh) about project progress.

## Features

- Send notifications about PR status (open/merged)
- Send "stuck" notifications with appropriate emojis
- Terminal-based user interface
- Command-line interface for automation
- Automatic process exit after command completion
- Clean shutdown for both CLI and TUI interfaces
- Working message sending to ntfy.sh servers

## Installation

```bash
npm install -g @hernad/claude-ntfy
```

## Usage

### Command Line Interface (CLI)

```bash
# Send a notification
claude-ntfy send "Your message" "Optional title" tag1 tag2

# Example: Send a notification about a feature
claude-ntfy send "Working on feature #1247" "Project 2 update" work progress

# View current settings
claude-ntfy settings

# Update settings
claude-ntfy settings set https://ntfy.cloud.out.ba claude

# Get the current version
claude-ntfy --version
```

### Terminal User Interface (TUI)

```bash
# Start the TUI application
claude-ntfy-tui
```

In the TUI:
- Use ↑/↓ arrow keys to navigate the menu
- Press Enter to select an option
- Press ESC or Q to exit

## Development

To install dependencies:
```bash
bun install
```

To run in development mode:
```bash
# CLI mode
bun run dev

# TUI mode
bun run dev:tui
```

To build:
```bash
bun run build
```

To run tests:
```bash
bun test
```

## Configuration

The application uses a settings file located at `~/.claude-ntfy/settings.json` with the following structure:

```json
{
  "server": "https://ntfy.cloud.out.ba",
  "topic": "claude"
}
```

You can modify these settings using the CLI command:
```bash
claude-ntfy settings set <server-url> <topic-name>
```

## GitHub Actions

This repository uses GitHub Actions for continuous integration and deployment:

- Tests are automatically run on every push and pull request
- When code is pushed to the main branch and tests pass, a new version is automatically published to npm

To publish a new version:
1. Update the version in `package.json`
2. Run `npm run release` to create a new release
3. Push the changes and tag to GitHub
4. GitHub Actions will automatically publish to npm

## Published Versions

- v0.2.0 - Initial public release
npm package: @hernandez_2905/platzom-kh
Description: Traductor de idioma platzom
Author: Kelly Hernández
Latest version: 0.1.0

# Platzom

Platzom es un idioma inventado para el [Curso de Fundamentos de JavaScript](https://platzi.com/js) de [Platzi](https://platzi.com),  el mejor lugar de educación online.

## Descripción del idioma

- Si la palabra termina con "ar", se le quitan esas dos letras.

- Si la palabra inicia con Z, se le añade "pe" al final.

- Si la palabra traducida tiene 10 o más letras, se debe partir en dos por la mitad y unir con un guión en medio.

- Por último, si la palabra original es un palíndromo, ninguna regla anteriror cuenta y se devuelve la misma palabra pero intercalando letras mayúsculas y minúsculas.

## Instalación

```
npm install platzom
```

## Uso

```
import platzom from 'platzom'

platzom("Programar")	//Program
platzom("Zorro")	//Zorrope
platzom("Zarpar")	//Zarppe
platzom("abecedario")	//abece-dario
platzom("sometemos")	//SoMeTeMoS
```

## Créditos

- [Kelly Hernández](https://twitter.com/@KellyHe16)

## Licencia

[MIT](https://opensource.org/licenses/MIT)
npm package: @hernando15/count-lines-cli
Description: CLI tool to count lines of code and show top files, respecting .gitignore
Latest version: 1.1.0

# Count Lines CLI

CLI tool para contar líneas de código en tu proyecto y mostrar el top de archivos con más líneas, respetando las reglas del `.gitignore`.

## Características

- Cuenta líneas de código en todos los archivos del proyecto
- Respeta las reglas del `.gitignore` automáticamente
- Ignora automáticamente archivos comunes (lock files, configs, builds)
- Soporte para archivo `.countlinesignore` con reglas personalizadas
- Muestra un ranking de archivos ordenados por número de líneas
- Estadísticas totales del proyecto

## Instalación

### Instalación local en un proyecto

```bash
npm install
```

### Instalación global (para usar en cualquier proyecto)

```bash
npm install -g .
```

## Uso

### Si está instalado localmente

```bash
npm start
```

o directamente:

```bash
node cli.js
```

### Si está instalado globalmente

```bash
count-lines
```

### Especificar cuántos archivos mostrar

Por defecto muestra el top 20, pero puedes especificar otro número:

```bash
node cli.js 10    # Muestra top 10
node cli.js 50    # Muestra top 50
```

## Ejemplo de salida

```
🔍 Contando líneas de código...
✓ Patrones por defecto cargados (lock files, configs, etc.)
✓ .gitignore cargado
✓ .countlinesignore cargado

📊 Top 6 archivos con más líneas:

────────────────────────────────────────────────────────────────────────────────
Líneas    Archivo
────────────────────────────────────────────────────────────────────────────────
1.  117   cli.js
2.  29    package-lock.json
3.  26    package.json
4.  21    test-file-2.js
5.  11    test-file-1.js
6.  8     .gitignore
────────────────────────────────────────────────────────────────────────────────

📈 Resumen:
   Total de archivos: 6
   Total de líneas: 212
   Promedio de líneas por archivo: 35
```

## Archivos que se ignoran

El CLI tiene 3 niveles de ignorado que se combinan:

### 1. Patrones ignorados por defecto

Estos archivos siempre se ignoran automáticamente:

- `node_modules/`, `.git/`
- **Lock files:** `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`, `bun.lockb`
- **Configs comunes:** `*.config.js`, `*.config.ts`, `tsconfig.json`, `jsconfig.json`
- **Build outputs:** `dist/`, `build/`, `.next/`, `.nuxt/`, `out/`
- **Otros:** `.DS_Store`, `Thumbs.db`

### 2. Archivo `.gitignore`

Si existe un `.gitignore` en tu proyecto, todas sus reglas se respetan automáticamente.

### 3. Archivo `.countlinesignore` (opcional)

Puedes crear un archivo `.countlinesignore` en la raíz de tu proyecto para agregar reglas adicionales específicas para el contador de líneas.

**Ejemplo de `.countlinesignore`:**

```gitignore
# Ignorar archivos de prueba
*.test.js
*.spec.ts

# Ignorar tipos de archivos
*.json
*.yaml
*.yml

# Ignorar directorios
docs/
examples/

# Ignorar archivos específicos
README.md
```

Este archivo es completamente opcional y complementa (no reemplaza) el `.gitignore`.

## Publicar en npm

Para publicar este paquete en npm:

```bash
npm login
npm publish
```

## Licencia

MIT
npm package: @hernansartorio/slate-react
Description: Tools for building completely customizable richtext editors with React.
Latest version: 0.110.8

This package contains the React-specific logic for Slate. It's separated further into a series of directories:

- [**Components**](./src/components) — containing the React components for rendering Slate editors.
- [**Hooks**](./src/hooks) — containing a few React hooks for Slate editors.
- [**Plugins**](./src/plugin) — containing the React-specific plugins for Slate editors.
- [**Utils**](./src/utils) — containing a few private convenience modules.

Feel free to poke around in each of them to learn more!
npm package: @hernas/homebridge-salus-sq610
Description: Homebridge plugin for Salus SQ610 & SQ610RF modules
Author: Mike Hernas
Latest version: 2.0.3

[![NPM](https://img.shields.io/npm/v/@hernas/homebridge-salus-sq610)](https://npmjs.org/package/@hernas/homebridge-salus-sq610)
[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)

# homebridge-salus-sq610
Salus plugin for [HomeBridge](https://github.com/nfarina/homebridge) using a the Salus UG600 universal gateway on the local network to expose Salus Thermostats to Apple's HomeKit.

**Supported devices:**
* SQ610
* SQ610RF
* VS20WRF
* VS10WRF

![HomeKit Screenshot](.github/statics/homekit-1.png)

## Things to know
* Plugin implements all modes of heating, but let's the thermostate decide if it is in cooling or heating mode. (for example by shorting S1 & S2 pins on the board)

## Getting started

### Sample configuration
```
{
  "platform": "SalusSQ610HomebridgePlugin",
  "ip_address": "<UGW ip address like 192.168.0.100>",
  "eu_id": "<Either 0000000000000000 or provide real euid from the bottom side of UGW>"
}
```

### Legal
* Licensed under [MIT](LICENSE)
* This is not an official plug-in and is not affiliated with Salus in any way
npm package: @hero-js/config
Description: A flexible and easy-to-use configuration management library for Node.js applications. It allows you to manage your application's configuration settings, including environment variables, with ease.
Author: Sana Yasfp
Latest version: 1.1.2

# @hero-js/config

`@hero-js/config` is a flexible and easy-to-use configuration management library for Node.js applications. It allows you to manage your application's configuration settings, including environment variables, with ease.

## Installation

You can install this module using npm:

```bash
npm install @hero-js/config
# or
yarn add @hero-js/config
```

## Usage

Here's how you can use this module in your Node.js application:

```javascript
const Config = require('@hero-js/config').default;

// Initialize the Config instance with optional options
const config = new Config();

// Set configuration values (not recommended)
config.set('API_KEY', 'your-api-key');

// Retrieve configuration values with type safety
const apiKey = config.get('API_KEY', { defaultValue: 'default-key' });

console.log('API Key:', apiKey); // Output: API Key: your-api-key
```

## Features

- **Environment Variable Parsing:** Automatically parses environment variables using [dotenv](https://www.npmjs.com/package/dotenv) to load your configuration.

- **Type-Safe Retrieval:** Retrieve configuration values with type safety, ensuring that you get the expected data type.

- **Default Values:** Provide default values for configuration options, simplifying the handling of missing or undefined values.

- **Type Conversion:** Automatically convert values to different types, such as integers and booleans.

- **Error Handling:** Proper error handling and customizable error messages for invalid or missing values.

## Configuration File

`@hero-js/config` uses the `.env` file in your project's root directory by default. You can customize the configuration file path and name during initialization:

```javascript
const Config = require('@hero-js/config').default;

// Specify a custom path and filename
const config = new Config({
  envFilePath: '/path/to/config',
  envFileName: 'my-env-file.env',
});
```

## License

This module is licensed under the MIT License. See the [LICENSE](https://github.com/hero-js/config/blob/main/LICENSE) file for details.

## Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow the guidelines in [CONTRIBUTING](https://github.com/hero-js/hero/blob/main/CONTRIBUTING.md).

## Changelog

For a history of changes to this module, see the [CHANGELOG](https://github.com/hero-js/config/blob/main/CHANGELOG.md) file.

## Support

If you have any questions or encounter issues, please open a GitHub issue.
npm package: @hero-js/context
Description: A utility module for managing contextual data within your Node.js applications.
Author: Sana Yasfp
Latest version: 1.1.2

# @hero-js/context

A utility module for managing contextual data within your Node.js applications.

## Installation

You can install this module using npm:

```bash
npm install @hero-js/context
```

## Usage

Here's how you can use this module in your Node.js application:

```javascript
// Import the Context class
const Context = require('@hero-js/context');

// Create a new context instance
const myContext = Context.create('MyContext');

// Set a value in the context
myContext.set('userId', 123);

// Retrieve a value from the context
const userId = myContext.get('userId');

console.log(`User ID: ${userId}`);
```

## Features

- Create and manage named contexts.
- Set and retrieve data within a context.
- Handle default values for missing data.
- Optional support for strict mode in boolean retrieval.

## API

### `Context.create(name: string): Context`

Creates a new context instance with the given name.

### `Context.createVolatileContext(): Context`

Creates a volatile context with a randomly generated name.

### `context.set<T>(key: string, value: T): void`

Sets a value for a specific key in the context.

### `context.get<T>(key: string, options: IGetContextData<T>): T | false | undefined`

Retrieves a value associated with a specific key in the context. Supports default values and optional invalid value checks.

### `context.getOrThrow<T>(key: string, options: IInvalid): T | false`

Retrieves a value from the context and throws an error if not found or if the value is invalid.

### `context.getInt(key: string, options: IGetContextData<number>): number | undefined`

Retrieves an integer value from the context, with optional invalid value checks.

### `context.getIntOrThrow(key: string, options: IInvalid): number`

Retrieves an integer value from the context and throws an error if not found or if the value is invalid.

### `context.getBoolean(key: string, options: IGetContextData<boolean>): boolean | undefined`

Retrieves a boolean value from the context, with optional strict mode for boolean checks.

### `context.getBooleanOrThrow(key: string, options: IInvalid): boolean`

Retrieves a boolean value from the context and throws an error if not found or if the value is invalid.

## License

This module is licensed under the MIT License. See the [LICENSE](https://github.com/hero-js/context/blob/main/LICENSE) file for details.

## Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow the guidelines in [CONTRIBUTING](https://github.com/hero-js/hero/blob/main/CONTRIBUTING.md).

## Changelog

For a history of changes to this module, see the [CHANGELOG](https://github.com/hero-js/context/blob/main/CHANGELOG.md) file.

## Support

If you have any questions or encounter issues, please open a GitHub issue.
npm package: @hero-js/express-adapter
Description: Express adapter for @hero-js/core
Author: Sana Yasfp
Latest version: 1.1.6

# @hero-js/express-adapter

`@hero-js/express-adapter` is an adapter for Express.js, allowing you to use Express.js as the underlying HTTP server for the Hero.js framework. With this adapter, you can seamlessly integrate Hero.js with Express.js to build powerful web applications and APIs.

## Features

- Adapt Hero.js routers to work with Express.js.
- Handle results and wrap Express middleware seamlessly.
- Customize router configurations for different endpoints.

## Installation

To use `@hero-js/express-adapter` in your Hero.js project, you need to install it as a dependency. You can do this using npm or yarn:

```bash
npm install @hero-js/express-adapter
# or
yarn add @hero-js/express-adapter
```

## Usage

To get started with this adapter, you'll need to follow these steps:

1. Import the necessary modules:

```javascript
const express = require('express');
const { ExpressAdapter, Router } = require('@hero-js/express-adapter');
```

2. Create an instance of the `ExpressAdapter` class:

```javascript
const expressApp = express();
const adapter = new ExpressAdapter(expressApp);
```

3. Set up your Hero.js routers and configure them:

```javascript
const router1 = new Router({ basePath: '/api/v1' });
// ... Define routes and middleware for router1 ...

const router2 = new Router({ basePath: '/auth' });
// ... Define routes and middleware for router2 ...

// Add routers to the adapter
adapter.setRouter(router1);
adapter.setRouter(router2);
```

4. Adapt the routers to work with Express:

```javascript
adapter.adapt().then((expressApp) => {
  // Start the Express app
  const port = process.env.PORT || 3000;
  expressApp.listen(port, () => {
    console.log(`Express app listening on port ${port}`);
  });
});
```

5. Run your Hero.js application using Express as the HTTP server.

## Configuration

You can customize your router configurations by passing `RouterOptions` when setting up routers. This allows you to configure things like middleware, error handling, and more.

## Documentation

For detailed documentation, API references, and usage examples, please visit the [official documentation](https://hero-js.github.io/express-adapter/).

## Contributing

If you'd like to contribute to `@hero-js/express-adapter`, please follow our [contribution guidelines](https://github.com/hero-js/hero/blob/main/CONTRIBUTING.md).

## License

This package is open-source software licensed under the [MIT License](https://github.com/hero-js/config/blob/main/LICENSE).
npm package: @hero-page/hero-array-utils
Description: A collection of functions to enhance array manipulation, such as sorting, filtering, mapping, and reducing.
Author: Sam Chahine
Latest version: 1.0.0


                _This entire repository was created completely with **AI**, using the [hero-ai-package-creator](https://github.com/hero-page/hero-ai-package-creator), which is **open-source**, uses **GPT-4**, and is written & maintained by [**Sam Chahine**](https://hero.page/samir)_ ❣️🧞‍♀️ 



                # hero-array-utils

A collection of functions to enhance array manipulation, such as sorting, filtering, mapping, and reducing.

## Installation

```
npm install hero-array-utils
```

## Functions

### `arrayFilter()`

**Summary:** Filters an array based on the provided callback function. The callback function should return a boolean value. It will keep elements in the final output array when the callback function returns 'true' and remove them when it returns 'false'. The function handles numbers, strings, and objects. Extreme cases like empty arrays and large input arrays must be handled. However, it does not handle circular structures or nested arrays beyond level 1.

**Usage:**

```javascript
const { arrayFilter } = require('hero-array-utils');

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = arrayFilter(numbers, (num) => num % 2 === 0);
console.log(evenNumbers);
// Output: [2, 4]
```

### `arrayMergeSort()`

**Summary:** Sorts an array, using the merge sort algorithm, based on the provided compare function or in ascending order if no compare function is provided. It is capable of sorting numbers, strings, and objects. Extreme cases like sorting an array with only ascending or descending elements, handling equal elements, or very large input arrays must be properly addressed. Nested arrays and circular structures should be ignored.

**Usage:**

```javascript
const { arrayMergeSort } = require('hero-array-utils');

const numbers = [5, 2, 9, 3, 7];
const sortedNumbers = arrayMergeSort(numbers);
console.log(sortedNumbers);
// Output: [2, 3, 5, 7, 9]

const strings = ['apple', 'orange', 'banana', 'kiwi'];
const sortedStrings = arrayMergeSort(strings);
console.log(sortedStrings);
// Output: ['apple', 'banana', 'kiwi', 'orange']
```

## Author

[Sam Chahine](https://github.com/kingmeers), at [Hero](https://hero.page/)
                

### Tests for arrayFilter

![arrayFilter](https://img.shields.io/badge/arrayFilter()-4%20passed%2C%200%20failed.-13b285)

### Tests for arrayMergeSort

![arrayMergeSort](https://img.shields.io/badge/arrayMergeSort()-5%20passed%2C%200%20failed.-13b285)
npm package: @hero-page/hero-emoji-utils
Description: A package for working with emojis in strings, allowing users to manipulate strings containing any type of emojis.
Author: Sam Chahine
Latest version: 1.0.0


_This entire repository was created completely with **AI**, using the [hero-ai-package-creator](https://github.com/hero-page/hero-ai-package-creator), which is **open-source**, uses **GPT-4**, and is written & maintained by [**Sam Chahine**](https://hero.page/samir)_ ❣️🧞‍♀️ 



# hero-emoji-utils

A package for working with emojis in strings, allowing users to manipulate strings containing any type of emojis.

## Functions

### emojiSplit

Splits a string into an array of characters and emojis. Will handle standard single-codepoint emojis, combined emojis (e.g. country flags), and skin-tone-modified emojis. It does not handle invalid emoji sequences or emojis with multiple skin tones.

**Example usage:**

```javascript
emojiSplit('Hello 😃🌎🎉'); // -> ['H', 'e', 'l', 'l', 'o', ' ', '😃', '🌎', '🎉']
```

### emojiCount

Counts the number of emojis in a string. Will handle standard single-codepoint emojis, combined emojis (e.g. country flags), and skin-tone-modified emojis. It does not handle invalid emoji sequences or emojis with multiple skin tones.

**Example usage:**

```javascript
emojiCount('Hello 😃🌎🎉'); // -> 3
```

---

[Sam Chahine](https://github.com/kingmeers) at [Hero](https://hero.page)
                

### Tests for emojiCount

![emojiCount](https://img.shields.io/badge/emojiCount()-2%20passed%2C%203%20failed.-ff69b4)

### Tests for emojiSplit

![emojiSplit](https://img.shields.io/badge/emojiSplit()-0%20passed%2C%203%20failed.-ff69b4)
npm package: @hero-u/ant-design
Description: hero-u Ant Design utility
Author: Cong Zhang
Latest version: 0.0.1

# @hero-u/css

### Install

```shell
npm install @hero-u/ant-design
```

```shell
yarn @hero-u/ant-design
```

### withTooltip

```tsx
import { Button as AntButton } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { withTooltip } from '@hero-u/ant-design';

const Button = withTooltip(AntButton);

const HelpIcon = withTooltip(QuestionCircleOutlined, {
    className: css`margin-left: 4px; cursor: pointer;`,
});

const App = () => {
    return (
        <div>
            <Button disabled disabledReason="你没有权限">高级功能</Button>
            <HelpIcon tooltip="提示内容" />
        </div>
    );
};
```

默认参数可以不传，或可以传入组件本身支持的任何 `props` 如 `className`，也支持 `tooltip` 和 `disabledReason`
npm package: @hero-u/eslint-config
Description: A simple ESLint config
Author: Cong Zhang
Latest version: 1.0.0

# @hero-u/eslint-config

### Install

```shell
npm install @hero-u/eslint-config -D
```

```shell
yarn @hero-u/eslint-config -D
```

### Use

创建 `eslint.config.js`

```tsx
import { typescriptConfig } from '@hero-u/eslint-config';

export default typescriptConfig;
```

```tsx
import { reactConfig } from '@hero-u/eslint-config/react.js';

export default [
    ...reactConfig,
    {
        rules: {},
    },
];

```
npm package: @hero-u/hooks
Description: hero-u react hooks utility
Author: Cong Zhang
Latest version: 0.0.1

# @hero-u/hooks

```shell
npm install @hero-u/hooks
```

```tsx
import {useMobile} from '@hero-u/hooks';

const isMobile = useMobile();
```

```tsx
import {useActionLoading} from '@hero-u/hooks';

const [onClick, loading] = useActionLoading(handleClick);
```
npm package: @hero_666/web_vueui
Description: the UI library of vue
Author: hero_666
Latest version: 1.0.3

# vueUI
the UI library of vue

## install
```js
npm install @hero_666/web_vueui
```

## start
```js
//  import
import vueUI from '@hero_666/web_vueui';
import '@hero_666/web_vueui/dist/vueUI.css';
import Vue from 'vue';

Vue.use(vueUI,{
    errorImg: 'data:image/png;base64.......' // the base64 data of image
})


```

## more
[you can see the more example for here](https://greatweber.github.io/vueUI/dist/#/)

[the description document(chinese)](https://greatweber.github.io/vueUI/dist/docs/)
npm package: @herob191/vite-plugin-svgr
Description: Vite plugin to transform SVGs into React components
Author: Rongjian Zhang
Latest version: 4.4.1

# vite-plugin-svgr

[![npm](https://img.shields.io/npm/v/vite-plugin-svgr.svg)](https://www.npmjs.com/package/vite-plugin-svgr)

Vite plugin to transform SVGs into React components. Uses [svgr](https://github.com/gregberge/svgr) under the hood.

## From fork creator

Original repo is [here](https://github.com/pd4d10/vite-plugin-svgr).

Primarily, I replaced transformWithEsbuild with `swc` to for tests if there is meaning in changing dependency and transform function.

Vite-rolldown will ship with transformWithOxc alongside transformWithEsbuild (requiring separate esbuild install)

I haven't notice any significant performance gains or loss since files after switching to swc.

## Installation

```sh
# npm
npm install --save-dev @herob191/vite-plugin-svgr

# yarn
yarn add -D @herob191/vite-plugin-svgr

# pnpm
pnpm add -D @herob191/vite-plugin-svgr
```

## Usage

```js
// vite.config.js
import svgr from "@herob191/vite-plugin-svgr";

export default {
  // ...
  plugins: [svgr()],
};
```

Then SVG files can be imported as React components:

```js
import Logo from "./logo.svg?react";
```

If you are using TypeScript, there is also a declaration helper for better type inference. Add the following to `vite-env.d.ts`:

```ts
/// <reference types="vite-plugin-svgr/client" />
```

### Options

```js
svgr({
  // svgr options: https://react-svgr.com/docs/options/
  svgrOptions: {
    // ...
  },

  // esbuild options, to transform jsx to js
  esbuildOptions: {
    // ...
  },

  // A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should include.
  include: "**/*.svg?react",

  //  A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no files are ignored.
  exclude: "",
});
```

If you want to enable SVGO you can install `@svgr/plugin-svgo` and use following options to enable and configure it:

```js
svgr({
  svgrOptions: {
    plugins: ["@svgr/plugin-svgo", "@svgr/plugin-jsx"],
    svgoConfig: {
      floatPrecision: 2,
    },
  },
  // ...
});
```

## License

MIT
npm package: @herodevs/fortnightly
Description: Schematics to support fortnightly
Author: @herodevs
Latest version: 1.0.1

# @herodevs/fortnightly

## About

[Fortnightly](http://material.io/design/material-studies/fortnightly.html) is a [Material Study](https://material.io/design/material-studies/about-our-material-studies.html#about-material-studies) to help showcase the theming abilities of Material Design from Google. This material study utilizes [Angular Material](https://material.angular.io/) components and styles to build an Angular application with the Fortnightly theme.

## Installation

To install this package and create a Fortnightly application:

- Create an angular workspace with the Angular CLI.

- Add this package to the workspace

  `ng add @herodevs/fortnightly`

  or

  `npm install @herodevs/fortnightly`

- Generate the application

  `ng g @herodevs/fortnightly:fortnightly-app xxx`

  NOTE: `xxx` is the name of the application you wish to create

## Contribute

To contribute the project please head to the [github repository](https://github.com/herodevs/material-studies).
npm package: @herodevs/hd-tracker
Description: CLI-based tool to calculate lines of code based upon configuration.
Author: HeroDevs
Latest version: 0.0.1

# cli

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `nx test cli` to execute the unit tests via [Jest](https://jestjs.io).

## Running lint

Run `nx lint cli` to execute the lint via [ESLint](https://eslint.org/).
npm package: @heroes2016/yike
Description: vue3+vite
Author: heroes2016
Latest version: 1.0.2

# yike 组件库

[![Author](https://img.shields.io/badge/Author-heroes2016-brightgreen "Author")](https://github.com/heroes2016 "Author") 



[Github地址](https://github.com/heroes2016/yike-vue3)：https://github.com/heroes2016/yike-vue3


## 使用方法
- 安装，此处使用pnpm工具，也可以yarn,npm等
```shell
pnpm install @heroes2016/yike
```
### 全局引入

```ts
// main.ts中全局引入
import { createApp } from 'vue'
import Yike from '@heroes2016/yike'

const app = createApp(App)

app.use(Yike)
app.mount('#app')
```
引入后在.vue文件中可以直接使用
```html
<dv-decoration-1 :color="['pink','yellow']" style="width:200px;height:50px;" />
```

### 局部引入
```html
<!-- 在.vue文件的script中import部分组件 -->
<script lang="ts" setup>
import { Decoration1, Decoration2 } from '@heroes2016/yike'
</script>
<template>
  <!-- 引入之后就可以在vue的template中直接使用 -->
  <decoration-1 :color="['pink','yellow']" style="width:200px;height:50px;" />
  <decoration-2 :reverse="true" style="width:5px;height:150px;" />
</template>
```

新的组件库开发根据大佬的 [MY-Kit](https://github.com/jrainlau/MY-Kit) 开发。支持脚本生成基础文件，文档，可使用Markdown一边开发源码一边写文档。详情可见MY-Kit文档。