open-index/open-npm huggingface dataset:
npm package: @nadi-pro/browser
Description: Nadi JavaScript SDK for browser monitoring - Web Vitals, error tracking, and session management
Author: Cleanigue Coders
Latest version: 1.0.0

# @nadi-pro/browser

JavaScript SDK for Nadi - Real User Monitoring (RUM) for web applications.

## Features

- **Core Web Vitals** - LCP, INP, CLS, FCP, TTFB
- **Session Tracking** - Stability metrics and crash-free rate
- **Error Capture** - JavaScript errors with stack traces
- **Breadcrumbs** - User action tracking
- **Lightweight** - < 10KB gzipped

## Installation

```bash
npm install @nadi-pro/browser
```

## Quick Start

```javascript
import Nadi from '@nadi-pro/browser';

Nadi.init({
  url: 'https://your-nadi-instance.com',
  apiKey: 'your-sanctum-token',
  appKey: 'your-application-key',
});
```

## Documentation

See the full documentation at [docs/README.md](docs/README.md).

## License

MIT
npm package: @nadi.js/compiler
Description: Nadi single-file component compiler
Author: Nadi Team
Latest version: 0.1.0-alpha.1

# @nadi/compiler

> Single-file component compiler for Nadi framework

## Features

- Parse `.nadi` files into descriptor
- Compile JSX templates to vanilla JavaScript
- Scoped CSS with automatic attribute injection
- TypeScript support in `<script>` blocks
- Source map generation

## Installation

```bash
npm install @nadi/compiler
```

## Usage

### Basic Compilation

```typescript
import { compile } from '@nadi/compiler';

const source = `
<template>
  <div class="hello">
    <h1>{props.message}</h1>
  </div>
</template>

<script lang="ts">
interface Props {
  message: string;
}

export default function Hello(props: Props) {
  return {};
}
</script>

<style scoped>
.hello {
  color: blue;
}
</style>
`;

const result = compile(source, {
  filename: 'Hello.nadi',
  sourceMap: true,
});

console.log(result.code);
```

### Parse Only

```typescript
import { parse } from '@nadi/compiler';

const descriptor = parse(source, 'Hello.nadi');

console.log(descriptor.template?.content);
console.log(descriptor.script?.content);
console.log(descriptor.styles[0]?.content);
```

## API

### `compile(source: string, options?: CompileOptions): CompileResult`

Compiles a `.nadi` file to JavaScript.

### `parse(source: string, filename?: string): SFCDescriptor`

Parses a `.nadi` file into its component parts.

### Types

See [types.ts](./src/types.ts) for full type definitions.

## License

MIT
npm package: @nadi.js/core
Description: Nadi core signals runtime with SSR support
Author: Nadi Team
Latest version: 0.2.0-alpha.1

# @nadi/core

> Core signals runtime for the Nadi framework

## 🚀 Features

- **~2KB minified + gzipped** - Minimal runtime footprint
- **Fine-grained reactivity** - Only updates what changed
- **Automatic dependency tracking** - No manual subscriptions
- **TypeScript-first** - Full type safety with generics
- **Memory efficient** - Automatic cleanup and disposal

## 📦 Installation

```bash
npm install @nadi/core
```

## 🎯 Quick Start

### Creating Signals

```typescript
import { signal } from '@nadi/core';

const count = signal(0);

// Read
console.log(count()); // 0

// Write
count(5);
console.log(count()); // 5
```

### Computed Values

```typescript
import { signal, computed } from '@nadi/core';

const count = signal(2);
const doubled = computed(() => count() * 2);

console.log(doubled()); // 4

count(3);
console.log(doubled()); // 6
```

### Effects (Side Effects)

```typescript
import { signal, effect } from '@nadi/core';

const count = signal(0);

effect(() => {
  console.log('Count is:', count());
});
// Logs: "Count is: 0"

count(5);
// Logs: "Count is: 5"
```

### Batching Updates

```typescript
import { signal, batch } from '@nadi/core';

const a = signal(1);
const b = signal(2);

effect(() => {
  console.log('Sum:', a() + b());
});

// Update both signals in one batch
batch(() => {
  a(5);
  b(10);
});
// Only logs once: "Sum: 15"
```

### Lifecycle Hooks

```typescript
import { onMount, onCleanup } from '@nadi/core';

function MyComponent() {
  onMount(() => {
    console.log('Component mounted');
  });

  onCleanup(() => {
    console.log('Component will unmount');
  });
}
```

### Context API

```typescript
import { createContext, useContext } from '@nadi/core';

const ThemeContext = createContext('light');

function App() {
  provideContext(ThemeContext, 'dark');
  return <Child />;
}

function Child() {
  const theme = useContext(ThemeContext);
  console.log(theme); // 'dark'
}
```

## 🛠️ API Reference

### `signal<T>(initialValue: T, options?): Signal<T>`

Creates a reactive signal.

**Options:**
- `equals`: Custom equality function or `false` to disable equality check

**Returns:** Signal getter/setter function

### `computed<T>(fn: () => T): Computed<T>`

Creates a computed signal (derived state).

### `effect(fn: EffectFunction): () => void`

Creates an effect that automatically tracks dependencies.

**Returns:** Dispose function

### `batch<T>(fn: () => T): T`

Batches multiple updates into a single update cycle.

### `untrack<T>(fn: () => T): T`

Reads signals without tracking dependencies.

### Control Flow Components

- `Show` - Conditional rendering
- `For` - List rendering
- `Portal` - Render outside component tree
- `ErrorBoundary` - Error handling

## 📖 Documentation

Visit [nadi.dev](https://nadi.dev) for full documentation.

## 📄 License

MIT
npm package: @nadi.js/vite-plugin
Description: Vite plugin for Nadi framework
Author: Nadi Team
Latest version: 0.1.0

# @nadi.js/vite-plugin

> Vite plugin for Nadi framework - compiles `.nadi` single-file components

## Installation

```bash
npm install -D @nadi.js/vite-plugin
```

## Usage

```typescript
// vite.config.ts
import { defineConfig } from 'vite';
import { nadiPlugin } from '@nadi.js/vite-plugin';

export default defineConfig({
  plugins: [nadiPlugin()],
});
```

## Options

```typescript
interface NadiPluginOptions {
  // Files to include (default: /\.nadi$/)
  include?: string | RegExp | Array<string | RegExp>;

  // Files to exclude
  exclude?: string | RegExp | Array<string | RegExp>;

  // Generate source maps (default: true)
  sourceMap?: boolean;
}
```

## Features

- ✅ Compiles `.nadi` files to JavaScript
- ✅ Hot Module Replacement (HMR)
- ✅ Source map support
- ✅ TypeScript support

## License

MIT
npm package: @nadim.pro/logstamp
Description: Tiny colorful logger with timestamps for Node.js
Author: Nadim Alzoubi
Latest version: 1.0.0

# logstamp

**logstamp** is a lightweight Node.js logger that adds **timestamps** and **colored output** to your console logs.  
It helps you easily see information, warnings, and errors with clear colors.

---

## 🚀 Installation
```bash
npm install logstamp
```

---

## 🧩 Usage

```js
import { log } from "logstamp";

// basic logs
log.info("Server started on port", 8080);
log.warn("Memory usage is high");
log.error("Database connection failed");

// custom color log
log.custom("debug", "36", "This is cyan text");
```

---

## 🖥️ Example Output

```
[12:04:51] INFO  Server started on port 8080
[12:04:52] WARN  Memory usage is high
[12:04:53] ERROR Database connection failed
[12:04:54] DEBUG This is cyan text
```

---

## 🎨 Color Levels

| Level | Description            | Color     | ANSI Code |
| ----- | ---------------------- | --------- | --------- |
| INFO  | General information    | 🟢 Green  | `32`      |
| WARN  | Warnings or risks      | 🟡 Yellow | `33`      |
| ERROR | Errors and exceptions  | 🔴 Red    | `31`      |
| DEBUG | Custom or debug output | 🔵 Cyan   | `36`      |

---

## 🧠 Notes

* Works in **Node.js** (ESM or CommonJS).
* Automatically adds a timestamp in format `HH:MM:SS`.
* You can log **strings, numbers, or objects**.
* Supports **custom colors** using `log.custom(level, colorCode, message)`.

---

## License

MIT License © 2025 Nadim Alzoubi
npm package: @nadir2k/google-maps-input
Description: Sanity plugin providing input handlers for geo-related input types using Google Maps
Author: Sanity.io
Latest version: 3.1.0

# @sanity/google-maps-input

>T his is a **Sanity Studio v3** plugin.
> For the v2 version, please refer to the [v2-branch](https://github.com/sanity-io/google-maps-input/tree/studio-v2).

## What is it? 
Plugin for [Sanity Studio](https://www.sanity.io) providing input handlers for geo-related input types using Google Maps.

This plugin will replace the default `geopoint` input component.

![Google maps input](assets/google-maps-input.png)

## Know issues in Studio V3

* Diff-preview is not implemented.

These will be re-added well before Studio V3 GA.

## Installation

In your studio folder, run:

```
npm install --save @sanity/google-maps-input
```

or

```
yarn add @sanity/google-maps-input
```

## Usage

Add it as a plugin in sanity.config.ts (or .js), with a valid [Google Maps API key](https://developers.google.com/maps/documentation/javascript/get-api-key):

```js
import { googleMapsInput } from "@sanity/google-maps-input";

export default defineConfig({
  // ...
  plugins: [
      googleMapsInput({
          apiKey: "my-api-key"
     })
  ] 
})
```
Ensure that the key has access to:
* Google Maps JavaScript API
* Google Places API Web Service
* Google Static Maps API

And that the key allows web-access from the Studio URL(s) you are using the plugin in. 

Note: This plugin will replace the default `geopoint` input component.

## Stuck? Get help

[![Slack Community Button](https://slack.sanity.io/badge.svg)](https://slack.sanity.io/)

Join [Sanity’s developer community](https://slack.sanity.io) or ping us [on twitter](https://twitter.com/sanity_io).

## License

MIT-licensed. See LICENSE.

## Develop & test

This plugin uses [@sanity/plugin-kit](https://github.com/sanity-io/plugin-kit)
with default configuration for build & watch scripts.

See [Testing a plugin in Sanity Studio](https://github.com/sanity-io/plugin-kit#testing-a-plugin-in-sanity-studio)
on how to run this plugin with hotreload in the studio.

### Release new version

Run ["CI & Release" workflow](https://github.com/sanity-io/google-maps-input/actions/workflows/main.yml).
Make sure to select the main branch and check "Release new version".
npm package: @nadir2k/manual-scroll-detector
Description: Detects user-initiated manual scrolling (mouse, touch, keyboard, wheel) on a scrollable element.
Author: Nadir Abbas
Latest version: 1.0.8

# Manual scroll detector

Detect user-initiated manual scrolling (mouse, touch, keyboard, wheel) for HTML elements.

---

## Installation

```bash
npm install @nadir2k/manual-scroll-detector
```

---

## Usage

### Basic Usage

```ts
import { attachManualScrollDetector } from "@nadir2k/manual-scroll-detector";

const el = document.getElementById("scrollBox")!;
const detatch = attachManualScrollDetector(el, (manual, element) => {
  console.log(`Manual scroll on ${element.id}:`, manual);
});

// detach listeners when needed
detach()
```

---

### Multiple Elements

```ts
const boxes: HTMLElement[] = [
  document.getElementById("box1")!,
  document.getElementById("box2")!,
];

attachManualScrollDetector(boxes, (manual, element) => {
  console.log(`Manual scroll on ${element.id}:`, manual);
});
```

---

### Programmatic Scroll Example

```ts
const el = document.getElementById("scrollBox")!;

// Attach manual scroll detector
attachManualScrollDetector(el, (manual, element) => {
  if (manual) {
    console.log("User scrolled manually!");
  } else {
    console.log("Programmatic scroll!");
  }
});

// Programmatically scroll 500px down smoothly
document.getElementById("scrollButton")!.addEventListener("click", () => {
  el.scrollBy({ top: 500, behavior: "smooth" });
});
```

---

### Example HTML

```html
<div
  id="scrollBox"
  style="width:300px; height:250px; overflow:auto; border:1px solid blue;"
>
  <div
    style="height:2000px; background:linear-gradient(to bottom, #f0f8ff, #4682b4);"
  ></div>
</div>
<button id="scrollButton">Scroll Programmatically</button>
```

---

## License

MIT
npm package: @nadir2k/nuxt-simple-sitemap-youtube
Description: Powerfully flexible XML Sitemaps that integrate seamlessly, for Nuxt.
Latest version: 3.0.11

<h1 align='center'>nuxt-simple-sitemap</h1>

<p align="center">
<a href='https://github.com/harlan-zw/nuxt-simple-sitemap/actions/workflows/test.yml'>
</a>
<a href="https://www.npmjs.com/package/nuxt-simple-sitemap" target="__blank"><img src="https://img.shields.io/npm/v/nuxt-simple-sitemap?style=flat&colorA=002438&colorB=28CF8D" alt="NPM version"></a>
<a href="https://www.npmjs.com/package/nuxt-simple-sitemap" target="__blank"><img alt="NPM Downloads" src="https://img.shields.io/npm/dm/nuxt-simple-sitemap?flat&colorA=002438&colorB=28CF8D"></a>
<a href="https://github.com/harlan-zw/nuxt-simple-sitemap" target="__blank"><img alt="GitHub stars" src="https://img.shields.io/github/stars/harlan-zw/nuxt-simple-sitemap?flat&colorA=002438&colorB=28CF8D"></a>
</p>


<p align="center">
Powerfully flexible XML Sitemaps that integrate seamlessly, for Nuxt.
</p>

<p align="center">
<table>
<tbody>
<td align="center">
<img width="800" height="0" /><br>
<i>Status:</i> <a href="https://github.com/harlan-zw/nuxt-simple-sitemap/releases/tag/v3.0.0">v3 Released 🎉</a></b> <br>
<sup> Please report any issues 🐛</sup><br>
<sub>Made possible by my <a href="https://github.com/sponsors/harlan-zw">Sponsor Program 💖</a><br> Follow me <a href="https://twitter.com/harlan_zw">@harlan_zw</a> 🐦 • Join <a href="https://discord.gg/275MBUBvgP">Discord</a> for help</sub><br>
<img width="800" height="0" />
</td>
</tbody>
</table>
</p>

## Features

- 📦 Single and Multi Sitemap support
- 🤝 Integrates seamlessly with Nuxt I18n and Nuxt Content
- 🤖 Dynamic runtime URL support with caching by default
- 🎨 Styled XML for easier debugging
- 😌 Automatic `lastmod`, image discovery and best practice URLS
- 🔄 Route config using route rules

## Installation

1. Install `nuxt-simple-sitemap` dependency to your project:

```bash
#
yarn add -D nuxt-simple-sitemap
#
npm install -D nuxt-simple-sitemap
#
pnpm i -D nuxt-simple-sitemap
```


2. Add it to your `modules` section in your `nuxt.config`:

```ts
export default defineNuxtConfig({
  modules: ['nuxt-simple-sitemap']
})
```

# Documentation

[📖 Read the full documentation](https://nuxtseo.com/sitemap) for more information.


### Demos

-  [Dynamic URLs - StackBlitz](https://stackblitz.com/edit/nuxt-starter-dyraxc?file=server%2Fapi%2F_sitemap-urls.ts)

## Sponsors

<p align="center">
  <a href="https://raw.githubusercontent.com/harlan-zw/static/main/sponsors.svg">
    <img src='https://raw.githubusercontent.com/harlan-zw/static/main/sponsors.svg'/>
  </a>
</p>


## License

MIT License © 2022-PRESENT [Harlan Wilton](https://github.com/harlan-zw)