open-index/open-npm huggingface dataset:
npm package: @heyoo/packs-js-template
Description: heyoo's packs javascript template
Author: Haolin
Latest version: 1.0.0

# @heyoo/packs-js-template

This project is the [heyoo](https://github.com/hey-yoo/heyoo) Command line tool's packs template with javascript.

Before go on, you must install [heyoo](https://github.com/hey-yoo/heyoo) in global.

## Usage

in the project you want to use a heyoo packs, create a heyoo config file(`hey.config.js` or `hey.config.json`):

```javascript
// hey.config.js
export default {
  packs: '@heyoo/packs-js-template'
}
```

then install:

```shell
pnpm add @heyoo/packs-js-template
# or
npm i @heyoo/packs-js-template
# or
yarn add @heyoo/packs-js-template
```

exec the exports script:

```shell
hey run foo
# or
hey run bar
```

## Develop packs template

```shell
hey create packs
# choose packs-js-template and follow the other prompts

# the packsName is what you input by prompts
cd ./packsName

hey link
```

build package code:

```shell
<packageManager> run build
```

watch directory ./src, when update will rebuild:

```shell
<packageManager> run watch
```
packageManager can be one of `pnpm`, `npm`, `yarn`.

### Notice

* package.json must have `exports` attribute, it must look like:

```json5
{
  "type": "module",
  "exports": {
    // you can know more on [Package entry points](https://nodejs.org/api/packages.html#packages_package_entry_points)
    "./foo": "./bin/foo.js",
    "./bar": "./bin/bar.js"
  }
}
```

* exports targets must export default a function.
npm package: @heyoo/packs-ts-template
Description: heyoo's packs typescript template
Author: Haolin
Latest version: 1.0.0

# @heyoo/packs-ts-template

This project is the [heyoo](https://github.com/hey-yoo/heyoo) Command line tool's packs template with typescript.

Before go on, you must install [heyoo](https://github.com/hey-yoo/heyoo) in global.

## Usage

in the project you want to use a heyoo packs, create a heyoo config file(`hey.config.js` or `hey.config.json`):

```javascript
// hey.config.js
export default {
  packs: '@heyoo/packs-ts-template'
}
```

then install:

```shell
pnpm add @heyoo/packs-ts-template
# or
npm i @heyoo/packs-ts-template
# or
yarn add @heyoo/packs-ts-template
```

exec the exports script:

```shell
hey run foo
# or
hey run bar
```

## Develop packs template

```shell
hey create packs
# choose packs-ts-template and follow the other prompts

# the packsName is what you input by prompts
cd ./packsName

hey link
```

build package code:

```shell
<packageManager> run build
```

watch directory ./src, when update will rebuild:

```shell
<packageManager> run watch
```
packageManager can be one of `pnpm`, `npm`, `yarn`.

### Notice

* package.json must have `exports` attribute, it must look like:

```json5
{
  "type": "module",
  "exports": {
    // you can know more on [Package entry points](https://nodejs.org/api/packages.html#packages_package_entry_points)
    "./foo": "./bin/foo.js",
    "./bar": "./bin/bar.js"
  }
}
```

* exports targets must export default a function.
npm package: @heyoo/plugins-js-template
Description: heyoo's plugins javascript template
Author: Haolin
Latest version: 1.0.0

# @heyoo/plugins-js-template

This project is the [heyoo](https://github.com/hey-yoo/heyoo) Command line tool's plugins template with javascript.

Before go on, you must install [heyoo](https://github.com/hey-yoo/heyoo) in global.

## Usage

install:

```shell
hey install @heyoo/plugins-js-template
```

exec the plugins commands:

```shell
hey foo
# or
hey bar
```

## Develop packs template

```shell
hey create plugins
# choose plugins-js-template and follow the other prompts

# the pluginsName is what you input by prompts
cd ./pluginsName

hey link
```

### Notice

* package.json must have `exports` attribute, its value type must be string:

```json5
{
  "type": "module",
  "exports": "./src/index.js"
}
```

* exports targets must export default a command array:

```typescript
interface command {
  command: string;
  action: (...args: any[]) => void | Promise<void>;
  option?: string[][];
  requiredOption?: string[][];
  argument?: string[][];
  description?: string;
}

export default [] as command[];
```

You can read this [document](https://github.com/tj/commander.js#readme) to learn more about the interface command's attrtibute.
npm package: @heyoo/plugins-ts-template
Description: heyoo's plugins typescript template
Author: Haolin
Latest version: 1.0.0

# @heyoo/plugins-ts-template

This project is the [heyoo](https://github.com/hey-yoo/heyoo) Command line tool's plugins template with typescript.

Before go on, you must install [heyoo](https://github.com/hey-yoo/heyoo) in global.

## Usage

install:

```shell
hey install @heyoo/plugins-ts-template
```

exec the plugins commands:

```shell
hey foo
# or
hey bar
```

## Develop packs template

```shell
hey create plugins
# choose plugins-ts-template and follow the other prompts

# the pluginsName is what you input by prompts
cd ./pluginsName

hey link
```

build package code:

```shell
<packageManager> run build
```

watch directory ./src, when update will rebuild:

```shell
<packageManager> run build
```
packageManager can be one of `pnpm`, `npm`, `yarn`.

### Notice

* package.json must have `exports` attribute, its value type must be string:

```json5
{
  "type": "module",
  "exports": "./bin/index.js"
}
```

* exports targets must export default a command array:

```typescript
interface command {
  command: string;
  action: (...args: any[]) => void | Promise<void>;
  option?: string[][];
  requiredOption?: string[][];
  argument?: string[][];
  description?: string;
}

export default [] as command[];
```

You can read this [document](https://github.com/tj/commander.js#readme) to learn more about the interface command's attrtibute.
npm package: @heyooo-inc/jsonlint
Description: Ensure the validity of your JSON files
Author: Heyooo-Inc
Latest version: 0.0.2

# JSONLint

Ensure the validity of your JSON files

## Installation

Install the library with `npm install -g @heyooo-inc/jsonlint`

## Usage

```
jsonlint *.json
```

## MIT license
npm package: @heyooo-inc/reserved-subdomains
Description: A list of names that should be reserved in multitenant apps.
Author: Reza Akhavan, Heyooo-Inc
Latest version: 1.2.4

# reserved-subdomains

A list of names that should be reserved in multitenant apps.

## Install

```bash
$ npm install @heyooo-inc/reserved-subdomains
```

## API reference

- [Methods](#methods)
  - [`isNotValid(name)`](#isnotvalidname)
  - [`isValid(name)`](#isvalidname)

### Methods

#### `isNotValid(name)`

Returns `true` if the name _is not_ valid where:

- `name` - the name to test.

#### `isValid(name)`

Returns `true` if the name _is_ valid where:

- `name` - the name to test.

## Inspired by

https://github.com/nkkollaw/reserved-subdomains
https://github.com/web-mech/badwords

## License

MIT
npm package: @heypanel-ag/jest-preset-admin
Description: Jest Test preset for Shopware 6 administration unit tests
Latest version: 6.0.1

# Jest Test preset for HeyPanel 6 administration unit tests

Default [Jest](https://jestjs.io/) preset for HeyPanel 6 administration development.

```bash
npm install jest @heypanel-ag/jest-preset-sw6-admin @babel/preset-env @babel/plugin-proposal-class-properties --save-dev
```

## Setup

After installaing the necessary required packages, please create a file called `babel.config.json` right next to your own `package.json` with the following content:

```json
{
    "presets": ["@babel/preset-env"],
    "plugins": ["@babel/plugin-proposal-class-properties"]
}
```

### Via `jest.config.js`

Next up, create a file `jest.config.js` which should contain the following content:

```js
module.exports = {
    preset: '@heypanel-ag/jest-preset-admin',
    globals: {
        adminPath: '<file-path-to-sw6-administration>', // required, e.g. /www/sw6/platform/src/Administration/Resources/app/administration
    }
}
```

## Options the preset sets up for you

* `collectCoverage` - Code coverage will be generated using the reporters listed under `coverageReporters`
* `coverageReporters` - The presets uses `lcov`, `text` & `clover` as coverage reporters
* `watchPathIgnorePatterns` - Ignores the `node_modules` folder for the watch mode of Jest
* `clearMocks` - Automatically clear mock calls and instances before every test. 
* `moduleFileExtensions` - File with the extension `js` will automatically used as extensions your module use.
* `moduleNameMapper` - All `css`, `less` & `scss` files will be mocked and relative paths to `src` are getting mapped to the correct src directory
* `transform` - Transforms `js` files using [babel-jest](https://www.npmjs.com/package/babel-jest) and `twig` files are transformed using a custom twig transformer which we use in the administration as well
* `modulePathIgnorePatterns` - Ignores e2e test specs by default
* `setupFilesAfterEnv` - Provides a polyfill for Webpack' `require.context` and sets up the global HeyPanel third-party interface for every test. The object can be accessed using `global.HeyPanel` in test files.
* `testMatch` - Matches all files containing `.spec.js` in the test directory
npm package: @heyputer/dev-runner
Description: runs file watchers and local servers in an organized way
Author: Puter Technologies Inc.
Latest version: 0.1.5

# dev-runner

```
npm install -g @heyputer/dev-runner
```

This is a convenient utility to run multiple processes when something
like `supervisord` is overkill, or you can think of it as a pre-shaven
yak you just watched float by.

Simply write a configuration file in json5 format with all the commands
you'd like to run:

```javascript
{
    services: [
        {
            name: 'static-host',
            pwd: './dist',
            command: 'npx http-server -p 8080',
        },
        {
            name: 'rollup-watcher',
            pwd: '.',
            command: 'npx rollup -c rollup.config.js --watch',
        },
    ]
}
```

Then run `dev-runner` and specify your config file's name:

```
dev-runner run.json5
```

If a config filename is not specified, it will try `run.json5` by default.

## Features

### Variables

A command specified in the `run.json5` file can contain variables which
are loaded from another json5 file specified as the second argument to
`dev-runner` (`local.json5` by default).

For example, this can be your `run.json5`:

```javascript
{
    services: [
        {
            name: 'static-https',
            pwd: './dist',
            command: 'npx http-server =p 8443 -S -C "{cert} -L "{key}"'
        }
    ]
}
```

and this can be your `local.json5`:

```javascript
{
    cert: '/var/my-certs/cert.pem',
    key: '/var/my-certs/key.pem',
}
```

Then you can run either `dev-runner` or `dev-runner run.json5 local.json5`
npm package: @heyputer/multiline-ini
Description: INI file parser with support for multiline strings
Author: Puter Technologies Inc.
Latest version: 1.0.1

# Multi-Line INI Parser

<h3 align="center"><img width="300" alt="KV.JS logo"
    src="./doc/icon-with-text.svg"
></h3>
<p align="center">The first javascript INI parser supporting multiline strings.</p>
<hr>

**multiline-ini** is a fast INI parser meant to support multiline strings
and other syntax. It uses a state-machine parser which makes it possible
to support features missing from other ini parsers that use the naive
"split-by-line then regex match" approach.

The syntax of INI files is not standardized, so our approach is to treat
systemd's [config parser](https://github.com/systemd/systemd/blob/main/src/shared/conf-parser.c)
as a reference implementation.

## Installation
```bash
npm install --save @heyputer/multiline-ini
```

## Usage
```javascript
// Require the module
const ini = require('@heyputer/multiline-ini');

// Example: systemd-like input
const result = ini.parse(`
[Service]
Type=simple
ExecStart=/bin/sh -c 'exec /usr/bin/my-exe \
>>/var/log/my-app/out.log \
2>>/var/log/my-app/err.log'
Environment=NODE_ENV=production-linux
`);

console.log(JSON.stringify(result, null, '  ')); /*
{
  Service: {
    Type: 'simple',
    ExecStart: "/bin/sh -c 'exec /usr/bin/my-exe >>/var/log/my-app/out.log 2>>/var/log/my-app/err.log'",
    Environment: 'NODE_ENV=production-linux'
  }
}
*/
```

## Why `multiline-ini`?

This INI parser was created out of a need to parse systemd unit files.
INI is not a standardized file format, but there is precedent for
[escaping line feeds in INI values](https://en.wikipedia.org/wiki/INI_file#cite_note-multiline-entry-13).
This is supported by systemd.

The following INI parsers were tested and do not support multi-line values:

| module name | problem | is regex | complexity |
| ----------- | ------- | -------- | ---------- |
| ini         | subsequent lines become keys with a value of true | yes | very over-engineered |
| ini-parser  | subsequent lines ignored | yes | under 40 lines |
| iniparser   | subsequent lines ignored | yes | under 70 lines |
| node-ini    | this module contains a typo and doesn't even work | yes | moderately over-engineered |

These parsers are all implemented using regex, and are designed to process each
line individually searching for a `[section]` or `key=value` pair.
This makes it more challenging to add multiline support to an existing parser.

## Contributing

### In-Scope

The following items are in scope and contributions in these areas are
welcome.
- support for all INI syntax supported by systemd with zero configuration
  - i.e. we use systemd as a reference implementation for an INI standard
- plugin support for handling other INI conventions

## License
Distributed under the MIT License. See [./LICENSE](./LICENSE) for more information.