open-index/open-npm huggingface dataset:
npm package: @moon-lottie/core
Description: High-performance Lottie animation player powered by MoonBit (Wasm-GC/JS)
Author: cg-zhou
Latest version: 0.1.5

# @moon-lottie/core

High-performance Lottie animation player powered by **MoonBit**.

## Features

- **Blazing Fast**: Core logic written in MoonBit, compiled to Wasm-GC for native-like performance.
- **Lightweight**: Zero external dependencies in the core runtime.
- **Cross-Platform**: Seamlessly switches between Wasm-GC and Pure JS runtimes.
- **Ready to Use**: Includes imperative API and Web Component support.

## Installation

```bash
npm install @moon-lottie/core
```

## Runtime Assets

`@moon-lottie/core` needs the runtime files generated by this repo build output:

- `moon-lottie-runtime.wasm`
- `moon-lottie-runtime.js`

In this repository they are synced into `packages/moon-lottie/runtime/`. In your own app, copy them to a public path and pass that path into the player when needed.

## Imperative Usage

```javascript
import { loadAnimation } from '@moon-lottie/core'

const player = loadAnimation({
  container: document.getElementById('lottie-container'),
  path: '/path/to/animation.json',
  autoplay: true,
  loop: true,
  wasmPath: '/runtime/moon-lottie-runtime.wasm',
  jsRuntimePath: '/runtime/moon-lottie-runtime.js',
})

await player.whenReady()
player.play()
```

Common methods:

- `loadAnimation(options)` / `load(options)`
- `play()` / `pause()` / `stop()` / `toggle()`
- `seek(frame)` / `goToAndPlay(value, isFrame)` / `goToAndStop(value, isFrame)`
- `playSegments(segments, forceFlag)`
- `switchRuntime('auto' | 'wasm' | 'js')`
- `addEventListener(type, listener)`

## Web Component Usage

```javascript
import '@moon-lottie/core/web-component'
```

```html
<moon-lottie
  src="/animation.json"
  autoplay="true"
  loop="true">
</moon-lottie>
```

Supported attributes:

- `src`
- `autoplay`
- `loop`
- `speed`
- `direction`
- `background`

The custom element also exposes player-style methods such as `loadAnimation`, `play`, `pause`, `stop`, `seek`, `switchRuntime`, and `whenReady()`.

## Events

The player emits these commonly used events:

- `load`
- `error`
- `runtimechange`
- `enterframe`
- `play`
- `pause`
- `complete`
- `loopComplete`
- `destroy`

## Notes

- The current public renderer is `canvas`.
- Runtime preference defaults to `auto`, which tries Wasm first and falls back to JS.
- For React users, use `@moon-lottie/react`.
npm package: @moon-lottie/react
Description: The official React wrapper for Moon Lottie
Author: cg-zhou
Latest version: 0.1.5

# @moon-lottie/react

The **React** wrapper for [@moon-lottie/core](https://www.npmjs.com/package/@moon-lottie/core).

## Installation

```bash
npm install @moon-lottie/core @moon-lottie/react
```

## Basic Usage

```jsx
import { MoonLottiePlayer } from '@moon-lottie/react'

function App() {
  return (
    <MoonLottiePlayer
      src="/animation.json"
      autoplay
      loop
      wasmPath="/runtime/moon-lottie-runtime.wasm"
      jsRuntimePath="/runtime/moon-lottie-runtime.js"
    />
  )
}
```

## Ref API

```jsx
import { useEffect, useRef } from 'react'
import { MoonLottiePlayer } from '@moon-lottie/react'

function App() {
  const playerRef = useRef(null)

  useEffect(() => {
    playerRef.current?.whenReady()?.then(() => {
      playerRef.current?.playSegments([[0, 30], [45, 90]], true)
    })
  }, [])

  return (
    <MoonLottiePlayer
      ref={playerRef}
      src="/animation.json"
      wasmPath="/runtime/moon-lottie-runtime.wasm"
      jsRuntimePath="/runtime/moon-lottie-runtime.js"
    />
  )
}
```

Common handle methods:

- `whenReady()`
- `play()` / `pause()` / `stop()` / `toggle()`
- `seek(frame)`
- `goToAndPlay(value, isFrame)` / `goToAndStop(value, isFrame)`
- `playSegments(segments, forceFlag)`
- `switchRuntime('auto' | 'wasm' | 'js')`
- `getState()` / `getBackend()` / `getPreference()`

## Props

Common props:

- `src` / `path`
- `animationData`
- `autoplay`
- `loop`
- `speed`
- `direction`
- `background`
- `rendererSettings`
- `initialSegment`
- `wasmPath`
- `jsRuntimePath`
- `className`
- `style`

## Events

React callback props:

- `onLoad`
- `onError`
- `onRuntimeChange`
- `onEnterFrame`
- `onPlay`
- `onPause`
- `onComplete`
- `onLoopComplete`
- `onDestroy`

## Notes

- The current public renderer is `canvas`.
- Runtime preference defaults to `auto`, which tries Wasm first and falls back to JS.
- If you need direct imperative control outside React, use `loadAnimation` from `@moon-lottie/core`.
npm package: @moon250/yalogger
Description: Yep, another logger
Author: moon250
Latest version: 0.1.0

# Yep, another logger 📜

Yalogger is a simple stdout logger. I was not satisfied by logging libraries I found, so I decided to write mine !

Note : Yalogger uses [colorette](https://www.npmjs.com/package/colorette) to make the output shiny

## Features :
 - Multiple levels
 - Colors
 - Custom levels
 - Logging strings, objects and arrays

## Default levels :
| Level   | Color      |
|---------|------------|
| Success | Green      |
| Info    | Blue       |
| Warn    | Yellow     |
| Error   | Bright red |
| Fatal   | Red        |
| Debug   | Magenta    |
| Log     | Cyan       |

## Usage :

```js
import { info, debug } from "@moon250/yalogger"

// XXXX/XX/XX  XX:XX:XX.XX | INFO - Logging some infos
info("Logging some infos")

// XXXX/XX/XX  XX:XX:XX.XX | DEBUG - {"users":[{"id":1,"username":"John"},{"id":2,"username":"Jane"}]}
debug({
  users: [ { id: 1, username: "John" }, { id: 2, username: "Jane" } ]
})
```

## Creating custom levels :

```ts
import { Log, dataLog } from "@moon250/yalogger";
import { black } from "colorette"

const custom: Log = (...data) => {
  dataLog(data, {
    name: "custom",
    color: black,
    bold: false, // Default value, not needed
    time: false // Disabling time display
  })
}

// CUSTOM - I can use a custom log level !
custom("I can use a custom log level !") 
```
npm package: @moona3k/excalidraw-export
Description: Export Excalidraw diagrams to PNG and SVG from the command line
Author: moona3k
Latest version: 0.2.1

# excalidraw-export

Export Excalidraw diagrams to PNG and SVG from the command line.

No browser, no Playwright, no DOM. Pure computation using [roughjs](https://roughjs.com) for hand-drawn effects and [@resvg/resvg-js](https://github.com/nicolo-ribaudo/resvg-js) for SVG-to-PNG rendering.

## Install

```bash
npm install -g @moona3k/excalidraw-export
```

Or use directly with npx:

```bash
npx @moona3k/excalidraw-export diagram.excalidraw
```

## Usage

```bash
# Export to PNG (default, 2x scale)
excalidraw-export diagram.excalidraw

# Export to SVG
excalidraw-export diagram.excalidraw --svg

# Custom output path
excalidraw-export diagram.excalidraw -o output.png

# Higher resolution
excalidraw-export diagram.excalidraw --scale 3

# Transparent background
excalidraw-export diagram.excalidraw --no-background

# Show version
excalidraw-export --version
```

## Programmatic API

```js
import { exportDiagram, renderToSvg } from "@moona3k/excalidraw-export";

// Export to file
exportDiagram("input.excalidraw", "output.png", { scale: 2 });

// Get SVG string
const doc = JSON.parse(fs.readFileSync("input.excalidraw", "utf-8"));
const svg = renderToSvg(doc);
```

## Supported Elements

- Rectangles (with rounded corners)
- Ellipses
- Diamonds
- Lines and arrows (straight, L-shaped, and curved)
- Text (Virgil hand-drawn font embedded)
- Freedraw paths
- Images (embedded base64)
- Frames (container grouping)
- Element rotation
- Fill styles (solid, hachure, cross-hatch)
- Stroke styles (solid, dashed, dotted)
- Opacity

## How It Works

Uses `rough.generator()` from roughjs which outputs pure math (bezier curves) without needing DOM or Canvas APIs. The generator output is converted to SVG path strings, assembled into a complete SVG document with embedded Virgil font, then rasterized to PNG via resvg.

3 dependencies. Typically exports in under 100ms.
npm package: @moonage/cobi-data
Description: A data structure library
Author: Khoa Bui
Latest version: 0.0.5

# Cobi Data
[![TravisCI](https://travis-ci.com/thomasbui93/cobi-data.svg?branch=master)](https://travis-ci.com/thomasbui93/cobi-data)
[![CircleCI](https://circleci.com/gh/thomasbui93/cobi-data.svg?style=svg)](https://circleci.com/gh/thomasbui93/cobi-data)
[![codebeat badge](https://codebeat.co/badges/77ea7b4d-d28d-4ce4-88f6-dd8c4f6285cd)](https://codebeat.co/projects/github-com-thomasbui93-cobi-data-master)
[![Known Vulnerabilities](https://snyk.io/test/github/thomasbui93/cobi-data/badge.svg?targetFile=package.json)](https://snyk.io/test/github/thomasbui93/cobi-data?targetFile=package.json) [![Greenkeeper badge](https://badges.greenkeeper.io/thomasbui93/cobi-data.svg)](https://greenkeeper.io/)[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

Cobi Data is a Typescript library for data structures.