open-index/open-npm huggingface dataset:
npm package: @liquid-labs/playground-monitor
Description: A file-watching utility to track changes to a developers "playground".
Author: Zane Rockenbaugh
Latest version: 1.0.0-beta.4

# playground-monitor
[![coverage: 97%](./.readme-assets/coverage.svg)](https://github.com/liquid-labs/playground-monitor/pulls?q=is%3Apr+is%3Aclosed) [![Unit tests](https://github.com/liquid-labs/playground-monitor/actions/workflows/unit-tests-node.yaml/badge.svg)](https://github.com/liquid-labs/playground-monitor/actions/workflows/unit-tests-node.yaml)

A file-watching utility to track changes to a developers "playground". Specifically, creates a manifest of projects and watches for the introduction, removal, or changes in project directories and `package.json` files and updates the project manifest accordingly. Built on top of [chokidar](https://github.com/paulmillr/chokidar).

## Installation

```bash
npm i @liquid-labs/playground-monitor
```

## Usage

```javascript
import * as path from 'node:path'

import { PlaygroundMonitor } from '@liquid-labs/playground-monitor' // ESM
// const { PlaygroundMonitor } = require('@liquid-labs/playground-monitor') // CJS

const playgroundPath = fsPath.join(process.env.HOME, 'playground')
const playground = new PlaygroundMonitor({ root: playgroundPath})
try {
  await playground.refreshProjects() // must be called to initalize the PlaygroundMonitor

  const { pkgJSON, projectPath } = playground.getProjectData('@liquid-labs/playground-monitor')
}
finally {
  playground.close() // must call to stop watchers and end process
}
```

## Reference

- `PlaygroundMonitor.constructor({ depth = 2, root })`\
  Creates a new `PlaygroundMonitor` watching the playground at `root` which will look for projects (directories with `package.json` files) `depth` levels down.
  - `depth`: _(opt, int, default: 2)_ how many levels of directories under root to watch
  - `root`: _(req, string)_ the path to the playground root
- `PlaygroundMonitor.close()`:\
  Stops the underlying watchers and frees resources. The node process will hang unlesss the `Playground` instance is closed.
- `PlaygroundMonitor.getProjectData(projectName)`\
  Retrieves the `{ pkgJSON, /*and*/ projectPath }` for the project where `pkgJSON` is the contents of the projects `package.json` file as a JSON data object and `projectPath` is the absolute path to the project root (the directory where `package.json` lives).
  - `projectName`: _(req, string)_ the name (from `package.json`) of the project/package.
- `getWatched()`\
  Returns an object representing all the paths on the file system being watched. The object's keys are all the directories (using absolute paths unless the cwd option was used), and the values are arrays of the names of the items contained in each directory.
- `PlaygroundMonitor.listProjects()`\
  Lists the known project names alphabetically as an array of strings.
- `async PlaygroundMonitor.refreshProjects()`\
  Asynchronously initializes the playground. This method _must_ be called for the `PlaygroundMonitor` to function.
npm package: @liquid-labs/regex-repo
Description: Collection of JS regular expressions.
Author: Zane Rockenbaugh
Latest version: 1.1.2

# regex-repo
[![coverage: 100%](./.readme-assets/coverage.svg)](https://google.com) [![Unit tests](https://github.com/liquid-labs/regex-repo/actions/workflows/unit-tests-node.yaml/badge.svg)](https://github.com/liquid-labs/regex-repo/actions/workflows/unit-tests-node.yaml)

regex-repo is a collection of regular expressions. Refer to the [regex reference](#regex-reference) below for a list of the provided REs.

## Installation

```bash
npm i @liquid-labs/regex-repo
```

## Usage

```javascript
import { emailRE } from '@liquid-labs/regex-repo'
// import * as regex from '@liquid-labs/regex-repo'

const verified = emailRE.test(userInput)
```

## Regex reference

### CSS numbers

- __zeroTo100FloatPercentRE__: Matches a 0 to 100% float as used in CSS color specifications.
- __zeroTo100PercentRE__: Matches a 0 to 100% integer as used in CSS color specifications.
- __zeroTo1FloatRE__: Matches a 0 to 1 float as used in CSS color specifications.
- __zeroTo255FloatRE__: Matches a 0 to 255 float as used in CSS color specifications.
- __zeroTo255RE__: Matches a 0 to 255 integer as used in CSS color specifications.
- __zeroTo360FloatRE__: Matches a 0 to 360 float as used in CSS color specifications.
- __zeroTo360RE__: Matches a 0 to 360 integer as used in CSS color specifications.

### Colors/CSS

- __cssColor3RE__: Matches CSS3 'hex, rgb, rgba, hsl, and predefined colors.
- __cssColorRE__: Matches CSS4 'hex, rgb, rgba, hsl, and predefined colors.
- __cssPreColors1RE__: Matches CSS1 predefined color names.
- __cssPreColors2RE__: Matches CSS2 predefined color names.
- __cssPreColors3RE__: Matches CSS3 predefined color names.
- __cssPreColorsRE__: Matches CSS4 predefined color names.
- __hexColorAlphaRE__: Matches hex specified RGBA colors with an alpha channel.
- __hexColorNoAlphaRE__: Matches hex specified RGB colors with no alpha channel.
- __hsl3RE__: Matches CSS3 'hsl(...) and hsla(...) deg and percent notation.
- __hslRE__: Matches CSS4 'hsl(...) and hsla(...) deg, grad, rad, turn and percent notation.
- __rgbaFuncRE__: Matches CSS3 'rgba(...) using '0...255 and percent (integer) notation.
- __rgbFuncRE__: Matches CSS1 'rgb(...) using '0...255 and percent (integer) notation.
- __rgbRE__: Matches CSS4 'rgb(...) and rgba(...) functios  using '0...255 and percent (float) notation.

### Contact info

- __emailEncodedOrNotRE__: Matche a valid email, URL encoded or not.
- __emailRE__: Matche a valid email.
- __usPhoneRE__: Matches US phone numbers with optional country code and area code.
- __zipCodeRE__: Matches 5 or 9 digit US zip codes.

### Identifiers

- __uuidRE__: Matches a UUID.

### NPM

- __npmPackageNameRE__: Matches an NPM package name. Provides matching groups 1 (org name, if any) and 2 (package basename).

### Numbers

- __floatRE__: Matches a float in either plan or scientific format.
- __plainFloatRE__: Matches a plain (non-scientific notation) float.
- __scientificFloatRE__: Matches a scientific notation float.

### Web

- __urlRE__: Matches a valid URL.
npm package: @liquid-labs/sdlc-resource-babel-and-rollup
Description: Configures Babel and Rollup to support modern syntax and proposals in source code while producing optimized, backwards compatible output code.
Author: Zane Rockenbaugh
Latest version: 1.0.0-alpha.15
Deprecated: This package has been moved to <sdlcforge/packjs.

# @liquid-labs/sdlc-resource-babel-and-rollup

Configures Babel and Rollup to support modern syntax and proposals in source code while producing optimized, backwards compatible output code.

## Install

```bash
npm i @liquid-labs/sdlc-resource-babel-and-rollup
```

## Running

```bash
npx rollup $(npm explore @liquid-labs/sdlc-resource-babel-and-rollup -- pwd)/dist/rollup/rollup.config.mjs
```

## Usage

### Polyfills

Unfortunately, it is currently necessary to include necessary polyfills for target engines manually. This is the only way to get optimized output.

After extensive experimentation with different settings, it appears that Babel cannot really produce optimized polyfills. Even with 'usage' based configurations, it may include polyfills that are in fact not used and the polyfill logic also seems to ignore the `targets` setting (e.g., even when the target platform supports a function natively, Babel will still include the polyfill for it). See the [polyfill configuration notes in DEVELOPER_NOTES.md](./DEVELOPER_NOTES#polyfill-configuration-notes) for further details.
npm package: @liquid-labs/shellspec
Description: NPM installation wrapper for 'shellspec' shell based unit testing.
Author: Zane Rockenbaugh
Latest version: 1.0.0

# @liquid-labs/shellspec

NPM installation wrapper for [shellspec](https://github.com/shellspec/shellspec), a full-featured BDD unit testing framework for shell scripts.

## Install

### npm

```bash
npm install @liquid-labs/shellspec
```

### bun

Bun does not run `postinstall` scripts by default. You must first whitelist the package in your `package.json`:

```json
{
  "trustedDependencies": ["@liquid-labs/shellspec"]
}
```

Then install:

```bash
bun add @liquid-labs/shellspec
```

## Usage

Once installed, run shellspec via npx or bunx:

```bash
npx shellspec
bunx shellspec
```

All arguments are forwarded directly to the shellspec binary:

```bash
npx shellspec --format documentation
npx shellspec spec/my_spec.sh

bunx shellspec --format documentation
bunx shellspec spec/my_spec.sh
```

## How it works

1. During `npm install`, the `postinstall` script fetches the latest shellspec release version from the GitHub API and downloads the corresponding tarball.
2. The tarball is extracted into `dist/shellspec/` within the package directory.
3. The `bin/shellspec` wrapper resolves its own location (through symlinks) and delegates all arguments to `dist/shellspec/shellspec`.

## Requirements

The `postinstall` script requires `curl` and `jq` to be available on the system.

## Further reading

For documentation on writing shell unit tests, see the [shellspec project on GitHub](https://github.com/shellspec/shellspec).

## License

Apache-2.0