open-index/open-npm huggingface dataset:
npm package: @lacework/react-widgets-fork
Description: An à la carte set of polished, extensible, and accessible inputs built for React
Author: Jason
Latest version: 3.4.6-2

Lacework fork of react-widgets@3.4.5
=============

# Releasing
This could be a single script in package.json, but I figured being explicit is better to catch issues. And we will 
probably never release another version.

Build for production
```
npm run build
```

Bump the version number. This uses the preid format so we have an obvious link to the source docs and code if neede
```
npm version prerelease --no-git-tag-version
```

Publish 
```
npm publish --access public --tag latest
```

Commit and push changes to package-lock.json and package.json


[![NPM version][npm-image]][npm-url]
[![Downloads][downloads-image]][downloads-url]
[![#react-widgets channel on reactiflux discord](https://img.shields.io/badge/discord-%23react--widgets-blue.svg?style=flat-square)](https://discord.gg/0ZcbPKXt5bY4znh9)

An à la carte set of polished, extensible, and accessible form inputs built for React, based on the excellent Kendo UI Core and jQuery UI.

Pick and choose one, or more of the following Components
- DropdownList
- ComboBox
- Multiselect
- SelectList (checkbox and radio group)
- DateTimePicker
- Calendar
- NumberPicker

__Demos and Documentation [here](http://jquense.github.io/react-widgets/docs/)__

### Install

`npm install react-widgets`

### Building local docs

The docs are a simple React app hosted on gh-pages, you build and run locally with the command `npm run docs` and open up `http://localhost:8080/docs/index.htm#/`

### Contributing

Patches welcome! Please try to match the style of the repo (comma first, 2 spaces, etc), squash large pull requests (a few commits is fine), and provide tests if relevant. It is also a good idea to open an issue and start a conversation before implementing new features or widgets.

### Old Browser Support

The goal is to support IE8+, but currently it is difficult for me to test a wide variety of browsers so there is no guarantee it will work (patches welcome!).

[npm-image]: https://img.shields.io/npm/v/react-widgets.svg?style=flat-square
[npm-url]: https://npmjs.org/package/react-widgets
[downloads-image]: http://img.shields.io/npm/dm/react-widgets.svg?style=flat-square
[downloads-url]: https://npmjs.org/package/react-widgets
npm package: @lacework/storybook-themes
Description: A storybook addon to switch between css resources at runtime for your story
Latest version: 1.1.1

# storybook-lacework-themes

Storybook Addon that lets you register and pick themes for your Storybook stories.

## Building

```
npm i
npm run build
```

## Including in Iris
This could be a single script in package.json, but I figured being explicit is better to catch issues

1. Bump the version number using `npm version` and following [Semantic Versioning](https://semver.org/)
1. Publish with `npm publish`
1. Commit and push changes to package-lock.json and package.json
1. In iris, `npm i @lacework/storybook-themes@latest`
npm package: @lachenmayer/object-without
Description: Returns a new object with the given key(s) removed.
Author: harry lachenmayer
Latest version: 1.0.0

# object-without

Returns a new object with the given key(s) removed. Does not mutate the input object.

```
npm install @lachenmayer/object-without
```

```js
var without = require('@lachenmayer/object-without')

without({ a: 1, b: 2, c: 3 }, 'c') // { a: 1, b: 2 }
without({ a: 1, b: 2, c: 3 }, ['b', 'c']) // { a: 1 }
without({ a: 1, b: 2, c: 3 }, 'unchanged - no such key') // { a: 1, b: 2, c: 3 }
without([1, 2, 3], 1) // [1, undefined, 3]
without(null, 'anything') // null
```
npm package: @lachero/node-curl
Description: curl NodeJS wrapper
Author: LacheRo`
Latest version: 0.0.6

## Installation

```bash
npm i @lachero/node-curl
```

## Usage

```typescript
import curl from '@lachero/node-curl';

const response = await curl('https://jsonplaceholder.typicode.com/posts', {
	method: 'POST',
	data: {
		userId: 1,
	},
});

// or using instance
const curlInstance = curl.createInstance({
	baseUrl: 'https://jsonplaceholder.typicode.com',
	headers: {
		'Content-Type': 'application/json',
		Authorization: 'Bearer token',
	},
	proxy: 'localhost:8080',
});

const response = await curlInstance('/posts', {
	method: 'POST',
	data: {
		userId: 1,
	},
});
```
npm package: @lachero/safe-try
Description: Simplifies error handling with wrappers for sync and async operations, returning a result-error tuple
Author: LacheRo`
Latest version: 1.0.2

# `safe-try`

`safe-try` is a lightweight utility library for JavaScript that simplifies error handling by providing easy-to-use wrappers for both synchronous and asynchronous operations, returning a tuple of the result and error.

## Usage

```ts
import { safeAsync, safeSync } from '@lachero/safe-try';

// async example
const [result, err] = await safeAsync(mightFailAsync());
if (!err) {
	// handle error
	return;
}

result;
// ^? 'success'

// sync example
const [result, err] = safeSync(() => mightFailSync());
if (!err) {
	// handle error
	return;
}

result;
// ^? 'success'

async function mightFailAsync() {
	if (Math.random() > 0.5) throw new Error('Failed');

	return 'success';
}

function mightFailSync() {
	if (Math.random() > 0.5) throw new Error('Failed');

	return 'success';
}
```

Inspired by [Go Error Handling](https://go.dev/blog/error-handling-and-go)

```go
f, err := os.Open("filename.ext")
if err != nil {
    log.Fatal(err)
}
// do something with the open *File f
```

Inspired by [ECMAScript Safe Assignment Operator Proposal](https://github.com/arthurfiorette/proposal-safe-assignment-operator)
npm package: @lachie-pdf/fns
Description: React-pdf helper functions
Author: Diego Muracciole
Latest version: 2.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/fns

> React-pdf helper functions

## How to install
```sh
yarn add @lachie-pdf/fns
```
npm package: @lachie-pdf/font
Description: Register font and emoji source for react-pdf document
Author: Diego Muracciole
Latest version: 2.3.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/font
npm package: @lachie-pdf/image
Description: Parses the images in png or jpeg format for react-pdf document
Author: Diego Muracciole
Latest version: 2.2.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/image
npm package: @lachie-pdf/layout
Description: Resolve overall document component's layout
Author: Diego Muracciole
Latest version: 3.2.1

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/layout
npm package: @lachie-pdf/pdfkit
Description: A PDF generation library for Node.js
Author: Devon Govett
Latest version: 3.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/pdfkit

A JavaScript PDF generation library for Node and the browser.

## Acknowledges

This project is a fork of [pdfkit](https://github.com/foliojs/pdfkit) by @devongovett and continued under the scope of this project since it has react-pdf specific features. Any recongnition should go to him and the original project mantainers.

## Description

PDFKit is a PDF document generation library for Node and the browser that makes creating complex, multi-page, printable documents easy.
It's written in CoffeeScript, but you can choose to use the API in plain 'ol JavaScript if you like. The API embraces
chainability, and includes both low level functions as well as abstractions for higher level functionality. The PDFKit API
is designed to be simple, so generating complex documents is often as simple as a few function calls.

Check out some of the [documentation and examples](http://pdfkit.org/docs/getting_started.html) to see for yourself!
You can also read the guide as a [self-generated PDF](http://pdfkit.org/docs/guide.pdf) with example output displayed inline.
If you'd like to see how it was generated, check out the README in the [docs](https://github.com/devongovett/pdfkit/tree/master/docs)
folder.

You can also try out an interactive in-browser demo of PDFKit [here](http://pdfkit.org/demo/browser.html).

## Installation

Installation uses the [npm](http://npmjs.org/) package manager.  Just type the following command after installing npm.

    npm install @lachie-pdf/pdfkit

## Features

* Vector graphics
  * HTML5 canvas-like API
  * Path operations
  * SVG path parser for easy path creation
  * Transformations
  * Linear and radial gradients
* Text
  * Line wrapping
  * Text alignments
  * Bulleted lists
* Font embedding
  * Supports TrueType (.ttf), OpenType (.otf), WOFF, WOFF2, TrueType Collections (.ttc), and Datafork TrueType (.dfont) fonts
  * Font subsetting
  * See [fontkit](http://github.com/devongovett/fontkit) for more details on advanced glyph layout support.
* Image embedding
  * Supports JPEG and PNG files (including indexed PNGs, and PNGs with transparency)
* Annotations
  * Links
  * Notes
  * Highlights
  * Underlines
  * etc.

## Coming soon!

* Patterns fills
* Outlines
* PDF Security
* Higher level APIs for creating tables and laying out content
* More performance optimizations
* Even more awesomeness, perhaps written by you! Please fork this repository and send me pull requests.

## Documentation

For complete API documentation and more examples, see the [PDFKit website](http://pdfkit.org/).

## License

PDFKit is available under the MIT license.
npm package: @lachie-pdf/png-js
Description: A PNG decoder in JS
Author: Devon Govett
Latest version: 2.2.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/png-js

A PNG decoder in JS for the canvas element or Node.js.

## Acknowledges

This project is a fork of [png.js](https://github.com/foliojs/png.js) by @devongovett and continued under the scope of this project since it has react-pdf specific features. Any recongnition should go to him and the original project mantainers.

## About this fork

> Updated to 977b857a11676c1e720e79ed8d9178a005a9abd6

- Build node and browser specific bundles
- Uses rollup for build
## Browser Usage

Simply include png.js and zlib.js on your HTML page, create a canvas element, and call PNG.load to load an image.

    <canvas></canvas>
    <script src="zlib.js"></script>
    <script src="png.js"></script>
    <script>
        var canvas = document.getElementsByTagName('canvas')[0];
        PNG.load('some.png', canvas);
    </script>

The source code for the browser version resides in `png.js` and also supports loading and displaying animated PNGs.

## Node.js Usage

Install the module using npm

    sudo npm install png-js

Require the module and decode a PNG

    var PNG = require('png-js');
    PNG.decode('some.png', function(pixels) {
        // pixels is a 1d array (in rgba order) of decoded pixel data
    });

You can also call `PNG.load` if you want to load the PNG (but not decode the pixels) synchronously.  If you already
have the PNG data in a buffer, simply use `new PNG(buffer)`.  In both of these cases, you need to call `png.decode`
yourself which passes your callback the decoded pixels as a buffer.  If you already have a buffer you want the pixels
copied to, call `copyToImageData` with your buffer and the decoded pixels as returned from `decodePixels`.
npm package: @lachie-pdf/primitives
Description: Define uninitialized elements
Author: Diego Muracciole
Latest version: 3.0.1

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/primitives
npm package: @lachie-pdf/stylesheet
Description: A styles engine for Node and the browser
Author: Diego Muracciole
Latest version: 4.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/stylesheet

> React-pdf styles engine

## How to install

```sh
yarn add @lachie-pdf/stylesheet
```

## How it works

```js
const stylesheet = require('@lachie-pdf/stylesheet');

const container = {
  width: 400,
  height: 600,
  orientation: 'portrait',
};

const style = {
  margin: 20,
  width: '50vw',
  height: '20vh',
  borderRadius: 5,
  fontWeight: 'semibold',
  borderBottom: '2 solid yellow',
  '@media max-width: 500': {
    backgroundColor: 'rgb(255, 0, 0)',
  },
};

const computed = stylesheet(container, style);

// Computed
// {
//   width: 200,
//   height: 120,
//   marginTop: 20,
//   marginLeft: 20,
//   marginRight: 20,
//   marginBottom: 20,
//   marginBottom: 20,
//   borderTopLeftRadius: 5,
//   borderTopRightRadius: 5,
//   borderBottomLeftRadius: 5,
//   borderBottomRightRadius: 5,
//   fontWeight: 600,
//   borderBottomWidth: 2,
//   borderBottomStyle: 'solid',
//   borderBottomColor: 'yellow',
//   backgroundColor: '#FF0000'
// }
```

This library exports a `stylesheet` function that takes two arguments:

- _container_: Container where the styles are being computed into. It specifies the `width` and `height` in points (needed for media queries and unit conversions), and optionally the container `orientation` (needed for certain media queries).
- _style_: Style to be computed. JS object with raw styles that you would like to get in a normalized format.

## License

MIT © [Diego Muracciole](http://github.com/diegomura)
npm package: @lachie-pdf/svgkit
Description: A SVG generation library for Node.js and browser
Latest version: 2.2.1

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/svgkit

A SVG generation library for Node.js and browser.

Has a `pdfkit` compatible API

## TODOs:

- Gradients
- Default fonts
- Embeded fonts (in progress)
npm package: @lachie-pdf/textkit
Description: An advanced text layout framework
Latest version: 4.1.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/textkit

## Acknowledges

This project is a fork of [textkit](https://github.com/foliojs/textkit) by @devongovett and continued under the scope of this project since it has react-pdf specific features. Any recongnition should go to him and the original project mantainers.

## Layout process

1. split into paragraphs
2. get bidi runs and paragraph direction
3. font substitution - map to resolved font runs
4. script itemization
5. font shaping - text to glyphs
6. line breaking
7. bidi reordering
8. justification
9. get a list of rectangles by intersecting path, line, and exclusion paths
10. perform line breaking to get acceptable break points for each fragment
11. ellipsize line if necessary
12. bidi reordering
13. justification
npm package: @lachie-pdf/types
Description: React-pdf TypeScript definitions
Author: Diego Muracciole
Latest version: 2.1.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/types

> React-pdf TypeScript definitions

## How to install

```sh
yarn add @lachie-pdf/types
```

## License

MIT © [Diego Muracciole](http://github.com/diegomura)
npm package: @lachie-pdf/yoga
Description: Prebuilt yoga-layout package
Author: Diego Muracciole
Latest version: 3.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @lachie-pdf/yoga

> Prebuilt [yoga-layout](https://github.com/facebook/yoga) package with memory heap increase

## Acknowledges

This project is forked from the great [yoga-layout-prebuilt](https://github.com/vadimdemedes/yoga-layout-prebuilt) from @vadimdemedes.

Also thanks to @Skywalker13 for providing the post-processing script for increasing build original memory heap.

## Install

```
$ npm install @lachie-pdf/yoga
```

## Usage

```js
import Yoga from '@lachie-pdf/yoga';
// Same as if imported from yoga-layout
```
npm package: @lachiejames/ea-coding-test
Description: My attempt at the EnergyAustralia coding test
Author: Lachie James
Latest version: 1.5.2

# @lachiejames/ea-coding-test

[![Build Status](https://dev.azure.com/lachiejames/ea-coding-test/_apis/build/status/lachiejames.ea-coding-test?branchName=main)](https://dev.azure.com/lachiejames/ea-coding-test/_build/latest?definitionId=16&branchName=main) [![codecov](https://codecov.io/gh/lachiejames/ea-coding-test/branch/main/graph/badge.svg?token=E206VOJW0J)](https://codecov.io/gh/lachiejames/ea-coding-test) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

## Running from the command line

### Installing

Install `@lachiejames/ea-coding-test` globally using npm:

```
npm install -g @lachiejames/ea-coding-test
```

### Running locally

Run locally:

```
ea-coding-test
```

### Demo

![Video demo](https://github.com/lachiejames/media-host/blob/main/ea-coding-test/demo.gif?raw=true)

## Running in TypeScript

### Installing

Install the project using:

```
git clone https://github.com/lachiejames/ea-coding-test.git
```

### Running locally

Installing dependencies:

```
yarn
```

Compiling to JavaScript:

```
yarn build
```

Running with Node:

```
yarn start
```

Running tests:

```
yarn test
```
npm package: @lachiejames/generate-project
Description: CLI tool for generating projects with predefined templates
Author: Lachie James
Latest version: 1.2.1

# @lachiejames/generate-project

[![npm version](https://badge.fury.io/js/@lachiejames%2Fgenerate-project.svg)](https://badge.fury.io/js/@lachiejames%2Fgenerate-project)
[![test pipeline](https://github.com/lachiejames/generate-project/actions/workflows/test.yml/badge.svg)](https://github.com/lachiejames/generate-project/actions/workflows/test.yml)
[![codecov](https://codecov.io/gh/lachiejames/generate-project/branch/main/graph/badge.svg?token=L039OS3ULI)](https://codecov.io/gh/lachiejames/generate-project)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

An interactive command-line tool to quickly setup new TypeScript projects. This includes installing the required dependencies and adding configuration files.

## Requirements

This tool requires the following to be installed:

- Node (v18+ to ensure compatibility with the latest versions of the installed packages)
- Yarn
- Git

## Usage

1. Install this package globally:

```
npm install -g @lachiejames/generate-project
```

2. Navigate to the directory in which you want to create the new project (e.g. ~/Desktop):

3. Then start the interactive setup:

```
generate-project
```

## Demo

TODO: add demo

## Development

Clone this project and open a terminal in the root directory.

Install dependencies:

```
yarn install
```

Build the project:

```
yarn build
```

Run unit tests:

```
yarn test
```

Run the project:

```
yarn start
```

This command both installs the package globally and then executes E2E tests:

```
yarn e2etest;
```
npm package: @lachiejames/semantic-release-example
Description: Demo project for setting up `semantic-release`.
Author: Lachie James
Latest version: 2.1.2

# @lachiejames/semantic-release-example

Demo project for setting up `semantic-release`.

More info in the article: [Automate Your Release Workflow With semantic-release](https://lachiejames.com/semantic-release)
npm package: @lachlanmcdonald/eslint-config-eslint
Description: [![npm version](https://badge.fury.io/js/%40lachlanmcdonald%2Feslint-config-eslint.svg)](https://badge.fury.io/js/%40lachlanmcdonald%2Feslint-config-eslint) [![License](https://img.shields.io/npm/l/@lachlanmcdonald/eslint-config-eslint)](https://github.co
Latest version: 0.4.2

# @lachlanmcdonald/eslint-config-eslint

[![npm version](https://badge.fury.io/js/%40lachlanmcdonald%2Feslint-config-eslint.svg)](https://badge.fury.io/js/%40lachlanmcdonald%2Feslint-config-eslint)
[![License](https://img.shields.io/npm/l/@lachlanmcdonald/eslint-config-eslint)](https://github.com/lachlanmcdonald/eslint-config-eslint/blob/master/LICENSE)

Opinionated [ESLint](https://eslint.org/) configuration.
npm package: @lachlanmcdonald/stylelint-config
Description: [![npm version](https://badge.fury.io/js/%40lachlanmcdonald%2Fstylelint-config.svg)](https://badge.fury.io/js/%40lachlanmcdonald%2Fstylelint-config) ![License](https://img.shields.io/github/license/lachlanmcdonald/stylelint-config.svg)
Latest version: 0.1.3

# @lachlanmcdonald/stylelint-config

[![npm version](https://badge.fury.io/js/%40lachlanmcdonald%2Fstylelint-config.svg)](https://badge.fury.io/js/%40lachlanmcdonald%2Fstylelint-config)
![License](https://img.shields.io/github/license/lachlanmcdonald/stylelint-config.svg)

Opinionated [Stylelint](https://github.com/stylelint/stylelint) configuration.
npm package: @lachlanshoesmith/mazemap-react
Description: React components for MazeMap.
Author: Lachlan Shoesmith
Latest version: 1.0.22

# mazemap-react

[mazemap](https://api.mazemap.com/js/v2.1.2/docs/) but as a react component featuring types

![1.0.21](https://img.shields.io/npm/v/@lachlanshoesmith/mazemap-react) | [npm](https://www.npmjs.com/package/@lachlanshoesmith/mazemap-react)

## example usage

```tsx
<MazeMap
  campuses={123}
  center={{ lng: 123, lat: -123 }}
  center={[123, -123]} // this also works - take your pick!
  zoom={3}
  width={'500px'}
  height={'30vh'}
  hideWatermark={false}
  marker={{
    // marker that locks on to and highlights POI if one is clicked on
    // Marker.Marker does not do this and just draws a marker exactly
    // where the user clicked
    type: Marker.POIMarker,
    colour: '#ff0000',
    innerColour: '#0000ff',
    size: 32
  }}
  // coordinates passed to onMapClick will be in the tuple [] format
  onMapClick={(coordinates, zLevel) => ...}
  maxBounds={
    // again, you can use either syntax:
    [[151.217893555, -33.9242064802],
    { lng: 151.244924424, lat: -33.9126716815 }]
  }
  line={{
    colour: '#ff0000',
    coordinates: [
      [151.217893555, -33.9242064802],
      [151.244924424, -33.9126716815]
    ],
    width: 3
  }}
  highlighter={{
    fill: true,
    outline: true,
    colour: '#ff0000',
    outlineColour: '#00ffff',
    poiOnLoad: {
      // highlight a POI at the given coordinates
      // when the map is mounted
      // as usual, you can enter the coordinates in either
      // the {lng: lat: } format or as a tuple
      coordinates: [151.244924424, -33.9126716815],
      zLevel: 0
    }
  }}
  zoomTo={{
    // a point on the map will be zoomed in on when
    // this prop is updated
    center: [151.244924424, -33.9126716815],
    zoom: 10,
    speed: 3 // optional
  }}
/>
```

## installation

`npm install @lachlanshoesmith/mazemap-react`

## building

`npm run build` generates both an esm and cjs export in `dist/`.

## credits

not affiliated with the mazemap project whatsoever. but shoutout to them.
npm package: @lachuuuk/rn-sheet
Description: Standalone lightweight bottom sheet for React Native
Latest version: 1.0.1

# @lachuuuk/rn-sheet

A lightweight, standalone bottom sheet for React Native with auto height and stacked sheet support.

No providers.  
No native dependencies.  
Works out of the box.

---

## Features

- Auto height (content-based)
- Multiple bottom sheets stacked one above another
- Drag down to close
- Tap backdrop to close
- Imperative API (`open`, `close`)
- No context / provider required
- Works on iOS and Android
- TypeScript friendly

---

## Installation

```bash
npm install @lachuuuk/rn-sheet



## Setup (Required)

Wrap your app once with `PortalHost`:

```tsx
import { PortalHost } from '@lachuuuk/rn-sheet';

export default function App() {
  return (
    <PortalHost>
      <YourApp />
    </PortalHost>
  );
}
npm package: @laciferin/hedera-mirror-mcp
Description: an MCP (model-context-protocol) server for Hedera powered by mirror nodes
Author: bguiz
Latest version: 0.2.0

# Hedera Mirror Node MCP Server

An MCP (Model-Context-Protocol) server for Hedera powered by mirror nodes. This package provides a TypeScript implementation for interacting with Hedera's testnet mirror node API.

## Installation

```bash
npm install @laciferin/hedera-mirror-mcp
```

## Features

- TypeScript support with full type definitions
- Zod schema validation for API requests and responses
- SSE (Server-Sent Events) transport support
- Built-in Hedera testnet mirror node API integration

## Usage

```typescript
import { mcpServer } from '@laciferin/hedera-mirror-mcp';

// The server is pre-configured to connect to Hedera's testnet mirror node
// It will start listening on port 3333 by default

// To start the server:
mcpServer.start({
  transportType: 'sse',
  sse: {
    endpoint: '/hedera-testnet-mirror-node-api/sse',
    port: '3333',
  },
});
```

## Development

### Prerequisites

- Node.js >= 16.0.0
- npm or yarn

### Setup

1. Clone the repository:
```bash
git clone https://github.com/hedera-dev/hedera-mcp-server.git
cd hedera-mcp-server
```

2. Install dependencies:
```bash
npm install
```

3. Build the project:
```bash
npm run build
```

### Scripts

- `npm run build` - Compiles the TypeScript code
- `npm run clean` - Removes the dist directory
- `npm run prepare` - Cleans and builds the project (runs automatically before publish)

## License

MIT
npm package: @lack-org/koa-logger
Description: koa-logger
Author: Sea
Latest version: 0.0.3

# koa-logger

## 安装

```bash
$ npm i @lack-org/koa-logger
```

## 基本用法

```js
import Koa from 'koa';
import { koaLogger } from '@lack-org/koa-logger';

const app = new Koa();

app.use(koaLogger(options));
```

## 参数

| 参数        | 说明           | 类型       | 默认值        |
| :---------- | :------------- | :--------- | :------------ |
| transporter | 自定义打印工具 | `Function` | `console.log` |

## CHANGELOG

[CHANGELOG.md](https://github.com/LackZero/koa-logger/blob/main/CHANGELOG.md)

## TODOLIST

[TODO](https://github.com/LackZero/koa-logger/projects/1)

## Contributing

如何贡献代码查看 [CONTRIBUTING](https://github.com/LackZero/koa-logger/blob/main/CONTRIBUTING.md)
npm package: @lacolaco/gh-commits-changelog
Description: Generate conventional-changelog from GitHub commits instead of raw git data
Author: Suguru Inatomi
Latest version: 1.0.4

# gh-commits-changelog

Util for GitHub API + conventional-changelog.

**Experimental and unstable**

```js
const ghCommitsChangelog = require('@lacolaco/gh-commits-changelog');
const octokit = require('@octokit/rest')();

const { data } = await octokit.pulls.listCommits(params);
const changelog = await ghCommitsChangelog(data, {
  host: 'https://github.com',
  owner,
  repository,
  currentTag: 'xxxx', // base hash
  previousTag: 'xxxx', // head hash
  version: 'version name'
});
```

LICENSE: MIT
npm package: @lacolaco/mdtranslator
Description: Semantic markdown translation tool that translates technical documents from English to Japanese using LLM with intelligent chunking and automated proofreading
Author: lacolaco
Latest version: 1.1.0

# mdtranslator

Semantic markdown translation tool that translates technical documents from English to Japanese using LLM with intelligent chunking and automated proofreading.

## Installation

```bash
npm install -g @lacolaco/mdtranslator
```

## Usage

### Basic Usage

```bash
mdtranslator input.md output.md
```

### With Options

```bash
# Enable debug output
mdtranslator input.md output.md --debug

# Specify debug output directory
mdtranslator input.md output.md --debug --debug-dir debug-output

# Use custom translation instructions
mdtranslator input.md output.md --instruction-file custom-instructions.md
```

### Using npx (without installation)

```bash
npx @lacolaco/mdtranslator input.md output.md
```

## Prerequisites

- Node.js 18 or higher
- Google API key for Gemini API

## Setup

1. Set your Google API key as an environment variable:

   ```bash
   export GOOGLE_API_KEY=your_api_key_here
   ```

2. Run the translation command:
   ```bash
   mdtranslator document.md document_ja.md
   ```

## Options

- `-d, --debug`: Enable debug file output (default: false)
- `--debug-dir <directory>`: Debug output directory (default: tmp)
- `--instruction-file <file>`: Translation instruction file (default: translator-instructions.md)
- `-h, --help`: Show help message

## Features

- **Semantic Chunking**: Intelligently splits documents at heading boundaries
- **Context-Aware Translation**: Maintains context across document sections
- **Automated Proofreading**: Integrates textlint for Japanese grammar checking
- **Debug Output**: Detailed debug files for troubleshooting
- **Retry Logic**: Automatic retry with failure context

## License

MIT
npm package: @lacolaco/ngx-grid-layout
Description: An Angular module to construct layout with CSS Grid Layout
Latest version: 0.2.7

# ngx-grid-layout

# THIS PROJECT IS NOT MAINTAINED.

An Angular module to construct layout with CSS Grid Layout

https://yarn.pm/@lacolaco/ngx-grid-layout

[![@lacolaco/ngx-grid-layout Dev Token](https://badge.devtoken.rocks/@lacolaco/ngx-grid-layout)](https://devtoken.rocks/package/@lacolaco/ngx-grid-layout)

## Install

```
$ npm i @lacolaco/ngx-grid-layout
```

## Demo

Demo is available at https://lacolaco.github.io/grid-layout/ .

## How to Use

 1. Import `GridLayoutModule` into your NgModule

```ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { GridLayoutModule } from '@lacolaco/ngx-grid-layout';


@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    GridLayoutModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
```

 2. Use directives

```html
<grid-layout id="container" 
    [areas]="[['a', 'a', 'b'],['c', 'd', 'e']]" 
    [columns]="['100px', '1fr', '200px']" 
    [rows]="['100px', 'auto']">
    <div gridArea="a" [style.background]="'red'">1</div>
    <div gridArea="b" [style.background]="'blue'">2</div>
    <div gridArea="c" [style.background]="'green'">3</div>
    <div gridArea="d" [style.background]="'purple'">4</div>
    <div gridArea="e" [style.background]="'orange'">5</div>
</grid-layout>
```
npm package: @lacolaco/ngx-web-bundles
Description: Angular CLI builder for generate Web Bundle file (.wbn) 
Author: Suguru Inatomi
Latest version: 0.2.1

# @lacolaco/ngx-web-bundles

# VERY EXPERIMENTAL! BE CAREFUL TO USE!

Angular CLI builder for generate Web Bundle file (.wbn).
To learn about Web Bundles, read https://web.dev/web-bundles.

This tool is created for just trying new (experimental) web proposal with Angular CLI, and investigating the design for integration.

**PLEASE DON'T RELY ON THIS ANYWAY!!**

## Usage

See the `testapp` directory for example.

### 1. Install the builder

```
$ ng add @lacolaco/ngx-web-bundles
```

### 2. Run it

Execute the command;

```
$ ng run <project name>:gen-bundle
```

## Configuration

After `ng-add`, You can see the architect options in your `angular.json`.

- `options.browserTarget`: Identify target configuration for building app.
- `options.primaryURL`: Tell the primary URL to the Web Bundle. (used by browser)

```
...
      "architect": {
        "gen-bundle": {
          "builder": "@lacolaco/ngx-web-bundles:generate",
          "options": {
            "browserTarget": "testapp:build:production",
            "primaryURL": "https://ngx-web.bundles" // <= dummy URL
          }
        },
...
```
npm package: @lacolaco/observable-state
Description: A minimal implementation of state management with RxJS
Latest version: 1.0.0
Deprecated: use @lacolaco/reactive-store

# @lacolaco/observable-state

A store implementation for state management with RxJS

https://yarn.pm/@lacolaco/observable-state

## Install

```
$ npm i @lacolaco/observable-state rxjs
```

## Concept

- RxJS-based: Use the ecosystem
- TypeScript: Type-safe state management
- Simple: Easy to understand what the library does and doesn't

## Adapters

- Angular: [@lacolaco/ngx-store](https://github.com/lacolaco/ngx/tree/master/libs/ngx-store)

## How to Use

### Create a store

```ts
import { Store } from '@lacolaco/observable-state';

const store: Store<string> = new Store('initialState');
assert.ok(store.getValue() === 'initialState');

store.dispatch(state => 'updated!');
assert.ok(store.getValue() === 'updated!');
```

### Subscribe state's observable

```ts
import { Store } from '@lacolaco/observable-state';

const store: Store<string> = new Store('initialState');

store.subscribe(state => {
    console.log(state);
});

store.dispatch(state => 'updated!');
```

### Select a scoped state

```ts
import { Store } from '@lacolaco/observable-state';

const store: Store<{count: number}> = new Store({count: 0});

const count$: Observable<number> = store.select(state => state.count);
count$.subscribe(count => {
    console.log(count);
});

store.dispatch(state => {
    return {
        count: state.count + 1
    };
});
```

### Middleware: Intercept dispatching

```ts
import { Store, StateHandler, Middleware } from '@lacolaco/observable-state';

const loggingMiddleware: Middleware = (next: StateHandler): StateHandler => {
    return (state: any) => {
        const newState = next(state);
        console.log(`[State]`, newState);
        return newState;
    };
}

const store = new Store(0, [
    loggingMiddleware,
]);
```
npm package: @lacolaco/store
Description: A minimal implementation of state management
Latest version: 2.0.4
Deprecated: Use @lacolaco/reactive-store

# @lacolaco/store

A store implementation for state management with RxJS

https://yarn.pm/@lacolaco/store

## Install

```
$ npm i @lacolaco/store rxjs
```

## Concept

- RxJS-based: Use the ecosystem
- TypeScript: Type-safe state management
- Simple: Easy to understand what the library does and doesn't

## Adapters

- Angular: [@lacolaco/ngx-store](https://github.com/lacolaco/ngx/tree/master/libs/ngx-store)

## How to Use

### Create a store

```ts
import { Store } from '@lacolaco/store';

const store: Store<string> = new Store('initialState');
assert.ok(store.getValue() === 'initialState');

store.dispatch(state => 'updated!');
assert.ok(store.getValue() === 'updated!');
```

### Subscribe state's observable

```ts
import { Store } from '@lacolaco/store';

const store: Store<string> = new Store('initialState');

store.subscribe(state => {
    console.log(state);
});

store.dispatch(state => 'updated!');
```

### Select a scoped state

```ts
import { Store } from '@lacolaco/store';

const store: Store<{count: number}> = new Store({count: 0});

const count$: Observable<number> = store.select(state => state.count);
count$.subscribe(count => {
    console.log(count);
});

store.dispatch(state => {
    return {
        count: state.count + 1
    };
});
```

### Middleware: Intercept dispatching

```ts
import { Store, StateHandler, Middleware } from '@lacolaco/store';

const loggingMiddleware: Middleware = (next: StateHandler): StateHandler => {
    return (state: any) => {
        const newState = next(state);
        console.log(`[State]`, newState);
        return newState;
    };
}

const store = new Store(0, [
    loggingMiddleware,
]);
```