open-index/open-npm huggingface dataset:
npm package: @homy/create-app
Description: A CLI to create a project quickly
Author: Homyee King
Latest version: 1.0.2

A CLI to create a project quickly

With NPM:

```bash
$ npm init @homy/app
```

With Yarn:

```bash
$ yarn create @homy/app  
```

With PNPM:

```bash
$ pnpx @homy/create-app
```
npm package: @homy/gito-core-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@homy/gito-core`
Latest version: 1.0.5

# `@homy/gito-core-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@homy/gito-core`
npm package: @homy/gito-core-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@homy/gito-core`
Latest version: 1.0.9

# `@homy/gito-core-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@homy/gito-core`
npm package: @hon2a/antd-theme
Description: Variables from Ant Design theme (Less) provided as JavaScript object
Author: Jan Konopásek
Latest version: 4.16.13

# antd-theme

Variables from Ant Design theme (Less) provided as JavaScript object

## Use

Simply import the package to get the theme variables.

```javascript
import antdTheme from '@hon2a/antd-theme'
import { camelCase, mapKeys } from 'lodash/mapKeys'

// might be a good idea to camel-case the variable names to easily access them as properties
export const myTheme = {
  ...mapKeys(antdTheme, (value, key) => camelCase(key)),
  primaryColor: 'green',
  // ...
}
```

## Development

Just don't. New version should only ever be published when a new version of `antd` is released
and the published version of this package should reflect `antd` version.
npm package: @hon2a/cypress-antd
Description: Helpers for interacting with Ant Design components in Cypress tests.
Author: Jan Konopásek
Latest version: 0.4.11

# cypress-antd

Helpers for interacting with Ant Design components in Cypress tests.


## Use

Import the provided helpers directly:

```javascript
import { getButton, shouldHaveTooltip } from '@hon2a/cypress-antd'

// note that "child command" (Cypress terminology) helpers are curried to be used inside `then`
getButton('Cool Button').then(shouldHaveTooltip('The coolness of this button knows no bounds.'))
```

or register them automatically with Cypress as custom commands:

```javascript
import '@hon2a/cypress-antd/lib/register'

// note that "child commands" are registered properly to automatically consume the yielded subject
cy.getButton('Uncool Button').shouldHaveTooltip('This button is so very sad.')
```

_Documentation of individual commands is TBD. For now, the helper names and contracts should be self-explanatory._ 

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/cypress-without
Description:  command for Cypress (https://www.cypress.io) for breaking out of a  inside custom commands
Author: Wiser Solutions, Inc.
Latest version: 2.1.1

# cypress-without

`without` command for Cypress (https://www.cypress.io) for breaking out of a `within` inside custom commands

## Use

### `without`

Either import and use the command directly as a plain function:

```javascript
import { without } from '@hon2a/cypress-without'

cy.get('.some-container').within(() => {
  // ... find elements inside the container only
  without(() => {
    // ... find elements anywhere (e.g. drop-downs rendered through portals)
  })
  // ... find more elements just inside the container
})
```

Or register the command with Cypress and chain it off `cy`:

```javascript
import '@hon2a/cypress-without/lib/register' // best done just once in your support script

cy.get('.some-container').within(() => {
  // ... find elements inside the container only
  cy.without(() => {
    // ... find elements anywhere (e.g. drop-downs rendered through portals)
  })
  // ... find more elements just inside the container
})
```

Provide `{ log: false }` as the second argument to mute the log output.

### `absoluteRoot`

If you need to chain off the document root rather than perform a one-off action
on it, use `absoluteRoot` to get the root.

```javascript
import { absoluteRoot } from '@hon2a/cypress-without'

export const getActiveModal = () => absoluteRoot().find('.some-modal:visible')
```

This helper also gets registered as Cypress command when importing `…/register` (see above).

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/eslint-formatter-idea
Description: Friendly formatter for ESLint that outputs click-through source links for common IDEs
Author: Jan Konopásek
Latest version: 1.0.9

# eslint-formatter-idea

Friendly formatter for ESLint that outputs click-through source links for common IDEs. Similar to
`eslint-formatter-friendly` but with much more compact output.

Install with Npm/Yarn and use with:

```sh
eslint --format @hon2a/eslint-formatter-idea <PATHS>
```

_Note: When using this in IDEA (WebStorm), create a "Run Configuration" to make use of this.
The links are not click-through when run by hand in a Terminal._
npm package: @hon2a/get-regexp-matches
Description: Execute a regular expression on a string until all matches are found and return them.
Author: Jan Konopásek
Latest version: 0.0.7

# get-regexp-matches

Execute a regular expression on a string until all matches are found and return them.

## Use

Install using

```sh
npm install @hon2a/get-regexp-matches
```

Use with a regular expression with the "global" flag set to get all matches

```javascript
import { getRegexpMatches } from '@hon2a/get-regexp-matches'

const regExp = /ab/g
const text = 'aab abbbab'
getRegexpMatches(regExp, text)
// returns array yielded by repeatedly running `regExp.exec(text)` until exhausted
```

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/icepick-fp
Description: Wrapper around the popular Icepick library providing a FP contract.
Author: Jan Konopásek
Latest version: 0.0.10

# icepick-fp

Wrapper around the popular Icepick library providing a FP contract.

## Use

Install using

```sh
npm install @hon2a/icepick-fp
```

Import using

```javascript
import { assocIn, dissocIn/*, ...*/ } from '@hon2a/icepick-fp'
// or individually:
import assocIn from '@hon2a/icepick-fp/assocIn'
```

### Contents

Wrappers are provided just for the most often used Icepick transforms for now:
`assocIn` (and `setIn` alias), `getIn`, `updateIn`, `assign`, and `merge`. They're
enhanced with `lodash.topath` to accept `String` paths:

```javascript
getIn('a.b[0].c')({ a: { b: [{ c: 42 }] } })
// => 42
```

The `freeze` and `thaw` helpers are also re-exported.
Additionally, there's a `dissocIn` transform (deletes just the leaf property)

```javascript
dissocIn('a.b.c')({ a: { b: { c: 42 } } })
// => { a: { b: {} } }
```

and a generic `reduce` helper

```javascript
reduce(
  (val, idx) => setIn(val, idx),
  {}
)(['a', 'b', 'c'])
// => { a: 1, b: 2, c: 3 }
```

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/less-vars-loader
Description: Webpack loader providing a seamless bridge from Less variable sheets to JS files
Author: Jan Konopásek
Latest version: 0.0.5

# @hon2a/less-vars-loader

`@hon2a/less-vars-loader` is a Webpack loader providing a seamless bridge from Less variable
sheets to JS files.

## Use

Use the loader to extract variables from Less variable sheets (including imports, transitively)
and bring them into a JS file as an object. Use inline loader syntax to set this up:

```javascript
import theme from '!@hon2a/less-vars-loader!./path/to/vars.less'
``` 

**Note:** Use a leading `!` to prevent use of other loaders.

If you're not using the file also in regular imports, you may also set up the loader
in `webpack.config.js` and take advantage of the `transform` option:

```javascript
module.exports = {
  module: {
    rules: [
      {
        test: /\.vars\.less$/,
        use: '@hon2a/less-vars-loader',
        options: {
          transform: ([key, value]) => [camelCase(key), /^\d+px$/.test(value) ? parseInt(value, 10) : value],
          lessOptions: { javascriptEnabled: true }
        }
      }
    ]
  }
}
```

**Note:** This loader needs to go before other loaders matching the `test` if there are any
(e.g. when also using `less-loader` to load other `.less` files).  

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/less-vars-to-js
Description: Parse a less variable list and its dependencies and return a map of all resolved variables
Author: Jan Konopásek
Latest version: 0.2.0

# less-vars-to-js

Parse a less variable list and its dependencies and return a map of all resolved variables

## Use

Install using

```sh
npm install @hon2a/less-vars-to-js
```

Use to load file and all its imports, resolve all variables, and collect them. E.g. the following
setup:

`<CWD>/node_modules/some-lib/dist/vars.less`
```less
@primary-color: green;
@error-color: brickred; 
```

`src/style/theme.less`
```less
@import '~some-lib/dist/vars';
@primary-color: blue;
```

`src/style/variables.less`
```less
@import './theme';
@secondary-color: darken(@primary-color, 10);
@match-rate-low-color: @error-color;
```

yields the following extraction:

```javascript
import { loadAndResolveLessVars } from '@hon2a/less-vars-to-js'
const theme = await loadAndResolveLessVars('./src/style/variables.less')
/* {
 *   'primary-color': 'blue',
 *   'error-color': 'brickred',
 *   'secondary-color': '#0000cc',
 *   'match-rate-color': 'brickred'
 * }
 */
```

_Note: If you're using external imports (e.g. `import '~someLib/path/to/styles.less';`), this
needs to run in the root folder of your package, so that it finds the libs at `./node_modules`._

Pass Less parser options as a second argument to `loadAndResolveLessVars` if you need to customize them.

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/transpile-js
Description: Default Babel config and build scripts for other JavaScript packages
Author: Wiser Solutions, Inc.
Latest version: 0.2.4

# transpile-js

Default Babel config and build scripts for other JavaScript packages

## Use

1. Install using:
    ```sh
    npm install @hon2a/transpile-js
    ```
1. Create a `babel.config.js` or `.babelrc.js` file in the root folder of your package:
    ```javascript
    module.exports = require('@hon2a/transpile-js/babel.config')
    ```
    _This step is optional, but needed if you use any other tools that rely on Babel, such as
    Eslint or Jest. However, if you do this, you need to install the used presets
   (`@babel/preset-env` & `@babel/preset-react`) in your project as well._
1. Add a pre-publish task to `package.json` and set the entry points for the published package:
    ```json5
    {
      "main": "./lib/index.js",
      "module": "./es/index.js",
      "scripts": {
        "prepublishOnly": "transpile-js"
      }
    }
    ```
    (assuming your entry point is `src/index.js`).
1. Add `/es` and `/lib` to `.gitignore` and create (and populate if needed) a `.npmignore` file,
  so that the transpiled code isn't added to VCS, but it _is_ published.

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/use-object-memo
Description: Memoizes object data, providing a reference that gets updated only when the data changes.
Author: Jan Konopásek
Latest version: 1.1.0

# use-object-memo

Memoizes object data, providing a reference that gets updated only when the data changes.

## Use

Memoize object data to use e.g. as dependencies in subsequent `useEffect` calls.
This is useful e.g. in hooks that accept options as object.

```javascript
import { useEffect } from 'react'
import { useObjectMemo } from '@hon2a/use-object-memo'

export function useThisCoolHook(options) {
  const optionsMemo = useObjectMemo(options)
  useEffect(() => {
    // … perform some effect that should really only be performed when the options change
  }, [optionsMemo])
} 
```

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @hon2a/walk-sync
Description: Super simple generator that returns absolute paths of all files in a folder and subfolders
Author: Jan Konopásek
Latest version: 0.0.8

# walk-sync

Super simple generator that returns absolute paths of all files in a folder and sub-folders

## Use

```sh
npm install @hon2a/walk-sync
```

```javascript
import { walkSync } from '@hon2a/walk-sync'

for (const path of walkSync('/path/to/folder')) {
  console.log(path)
}
```

Note that `walkSync` is a generator function, so it needs to be used through the iterator.

## Development

### Install

Install dependencies using:

```sh
npm install
```

### Develop

After you modify sources, run the following (or set up your IDE to do it for you):

- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`

and fix the errors, if there are any.

### Publish

Publishing is done in two steps:

1. Create a new version tag and push it to the repository:
    ```sh
    npm version <patch|minor|major>
    git push --follow-tags
    ```
1. Build and publish the new version as a npm package:
    ```sh
    npm publish --access public
    ```
npm package: @honch/sdk
Description: Honch Analytics SDK
Author: Honch
Latest version: 0.1.8

# @honch/sdk

Official JavaScript SDK for [Honch](https://honch.io) - Self-healing product analytics.

## Installation

### npm / yarn / pnpm

```bash
npm install @honch/sdk
```

### Script tag

```html
<script src="https://cdn.honch.io/sdk.min.js"></script>
```

## Quick Start

```javascript
import { honch } from '@honch/sdk';

// Initialize
honch.init('phc_your_api_key', {
  api_host: 'https://capture.honch.io',
  autocapture: true,
});

// Track custom events
honch.capture('signup_completed', {
  plan: 'pro',
  referrer: 'google',
});

// Identify users
honch.identify('user@example.com', {
  name: 'John Doe',
  company: 'Acme Inc',
});
```

## Configuration Options

| Option              | Type    | Default                    | Description                 |
| ------------------- | ------- | -------------------------- | --------------------------- |
| `token`             | string  | required                   | Your Honch API key          |
| `api_host`          | string  | `https://capture.honch.io` | API endpoint                |
| `autocapture`       | boolean | `true`                     | Auto-track pageviews        |
| `capture_clicks`    | boolean | `true`                     | Auto-track clicks           |
| `capture_forms`     | boolean | `true`                     | Auto-track form submissions |
| `session_recording` | boolean | `false`                    | Enable session replay       |
| `capture_vitals`    | boolean | `true`                     | Track Core Web Vitals       |
| `debug`             | boolean | `false`                    | Enable debug logging        |

## API Reference

### `honch.init(token, options?)`
Initialize the SDK. Must be called before other methods.

### `honch.capture(event, properties?)`
Track a custom event.

### `honch.identify(distinctId, properties?)`
Identify the current user.

### `honch.reset()`
Reset the user (call on logout).

### `honch.setPersonProperties(properties)`
Set properties on the current user.

### `honch.register(properties)`
Register super properties (added to all events).

### `honch.opt_out()` / `honch.opt_in()`
Manage user consent.

## License

MIT
npm package: @honed/form
Description: Supercharge your forms with DTOs and InertiaJS.
Author: Joshua Wallace
Latest version: 0.10.2

<a href="https://honed.dev/form">
    <picture>
        <source media="(prefers-color-scheme: dark)" srcset="art/header-dark.png">
        <img alt="" src="art/header-light.png">
    </picture>
</a>

# Form

<p>
    <a href="https://www.npmjs.com/package/@honed/form"><img src="https://img.shields.io/npm/dt/@honed/form" alt="Total Downloads"></a>
    <a href="https://www.npmjs.com/package/@honed/form"><img src="https://img.shields.io/npm/v/@honed/form
" alt="Latest Stable Version"></a>
</p>

**Form** Supercharge your forms with DTOs and InertiaJS..

## Installation

> **Requires [Vue 3.4+](https://vuejs.org/releases/)**

Get started with the package by installing it in your Vue project using [npm](https://www.npmjs.com/).

```bash
npm install @honed/form
```

## Companion

> **Requires [PHP 8.2+](https://php.net/releases/)**

> **Requires [Laravel 11+](https://laravel.com/docs/releases).**

Ensure you have the Laravel companion package installed using [Composer](https://getcomposer.org/):

```bash
composer require honed/form
```

## Documentation

Please refer to the [documentation](https://honed.dev/form) for the usage of the package.

## License

**Form** was created by [Joshua Wallace](https://joshua-wallace.com) under the [MIT license](https://opensource.org/licenses/MIT).
npm package: @honed/lang
Description: -
Author: Joshua Wallace
Latest version: 0.1.0

<a href="https://honed.dev/lang">
    <picture>
        <source media="(prefers-color-scheme: dark)" srcset="art/header-dark.png">
        <img alt="" src="art/header-light.png">
    </picture>
</a>

# Lang

<p>
    <a href="https://www.npmjs.com/package/@honed/lang"><img src="https://img.shields.io/npm/dt/@honed/lang" alt="Total Downloads"></a>
    <a href="https://www.npmjs.com/package/@honed/lang"><img src="https://img.shields.io/npm/v/@honed/lang
" alt="Latest Stable Version"></a>
</p>

**Lang** provides a simple way to synchronise your translations to your Inertia frontend.

## Installation

> **Requires [Vue 3.4+](https://vuejs.org/releases/)**

Get started with the package by installing it in your Vue project using [npm](https://www.npmjs.com/).

```bash
npm install @honed/lang
```

## Companion

> **Requires [PHP 8.2+](https://php.net/releases/)**

> **Requires [Laravel 11+](https://laravel.com/docs/releases).**

Ensure you have the Laravel [companion package](https://github.com/honedlabs/lang) installed using [Composer](https://getcomposer.org/):

```bash
composer require honed/lang
```

## Documentation

Please refer to the [documentation](https://honed.dev/lang) for the usage of the package.

## License

**Lang** was created by [Joshua Wallace](https://joshua-wallace.com) under the [MIT license](https://opensource.org/licenses/MIT).
npm package: @honed/modal
Description: A Vue 3 plugin that lets you implement backend-driven modal dialogs for Inertia apps.
Latest version: 0.2.0

# Momentum Modal

Momentum Modal is a Vue 3 plugin that lets you implement backend-driven modal dialogs for Inertia apps.

You can find the full documentation [here](https://github.com/lepikhinb/momentum-modal).

Check out the [demo app](https://modal.advanced-inertia.com) demonstrating the Modal package in action.

## Advanced Inertia

[<img src="https://advanced-inertia.com/og.png" width="420px" />](https://advanced-inertia.com)

Take your Inertia.js skills to the next level with my book [Advanced Inertia](https://advanced-inertia.com/).
Learn advanced concepts and make apps with Laravel and Inertia.js a breeze to build and maintain.

## Momentum

Momentum is a set of packages designed to improve your experience building Inertia-powered apps.

- [Modal](https://github.com/lepikhinb/momentum-modal) — Build dynamic modal dialogs for Inertia apps
- [Preflight](https://github.com/lepikhinb/momentum-preflight) — Realtime backend-driven validation for Inertia apps
- [Paginator](https://github.com/lepikhinb/momentum-paginator) — Headless wrapper around Laravel Pagination
- [Trail](https://github.com/lepikhinb/momentum-trail) — Frontend package to use Laravel routes with Inertia
- [Lock](https://github.com/lepikhinb/momentum-lock) — Frontend package to use Laravel permissions with Inertia
- [Layout](https://github.com/lepikhinb/momentum-layout) — Persistent layouts for Vue 3 apps
- [Vite Plugin Watch](https://github.com/lepikhinb/vite-plugin-watch) — Vite plugin to run shell commands on file changes

## Credits

## Credits

- [Boris Lepikhin](https://twitter.com/lepikhinb)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
npm package: @honed/query
Description: A composable for handling query parameters for Vue and Inertia.
Author: Joshua Wallace
Latest version: 0.1.1

# Query
[![npm version](https://badge.fury.io/js/query.svg)](https://badge.fury.io/js/query)

A composable for handling query parameters for Vue and Inertia.

## Installation
You can install the package via npm:

```bash
npm i query
```

## Usage

```javascript
import * from 'query';
```

## Credits

- [Joshua Wallace](https://github.com/honedlabs)
- [All Contributors](../../contributors)

## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.