open-index/open-npm huggingface dataset:
npm package: @junctionjs/astro
Description: Astro v5+ integration for Junction — script injection, SSR middleware, collect endpoint
Latest version: 2.0.0

# @junctionjs/astro

Astro v5+ integration for Junction. First-class View Transitions support.

## Features

- Script injection at `before-hydration` stage (tracking ready before islands)
- View Transitions handling (`astro:page-load` deduplication, navigation timing)
- SSR middleware for server-side context (IP, geo, session)
- `/api/collect` endpoint for server-side event forwarding
- Dynamic destination resolution from npm packages

## Install

```bash
npm install @junctionjs/astro
```

## Usage

```javascript
// astro.config.mjs
import { defineConfig } from "astro/config";
import { junction } from "@junctionjs/astro";

export default defineConfig({
  integrations: [
    junction({
      config: {
        name: "my-site",
        environment: import.meta.env.MODE,
        consent: { defaultState: {}, queueTimeout: 30000, respectDNT: true, respectGPC: true },
        destinations: [
          {
            package: "@junctionjs/destination-amplitude",
            config: { apiKey: import.meta.env.AMPLITUDE_KEY, mode: "client" },
          },
        ],
      },
      debug: import.meta.env.DEV,
    }),
  ],
});
```

## Subpath exports

- `@junctionjs/astro` — the integration factory
- `@junctionjs/astro/middleware` — SSR middleware
- `@junctionjs/astro/collect-endpoint` — server-side collect route

## License

MIT
npm package: @junctionjs/client
Description: Browser runtime for Junction — anonymous IDs, sessions, auto page views, View Transitions
Latest version: 0.1.3

# @junctionjs/client

Browser runtime for Junction. Wraps `@junctionjs/core` with browser-specific functionality.

## Features

- Persistent anonymous IDs via `localStorage`
- Session management with 30-minute timeout
- Auto page view tracking (initial load, History API, Astro View Transitions)
- Browser context resolution (page URL, device, UTM params, viewport)
- Single window global (`window.jct` by default)
- `sendBeacon` support on page unload

## Install

```bash
npm install @junctionjs/client
```

## Quick start

```typescript
import { createClient } from "@junctionjs/client";

const client = createClient({
  name: "my-site",
  environment: "production",
  consent: { defaultState: {}, queueTimeout: 30000, respectDNT: true, respectGPC: true },
  destinations: [/* your destinations */],
  globalName: "jct",     // registers window.jct
  autoPageView: true,    // tracks page views automatically
  beaconUrl: "/api/collect",
});

// Available everywhere as window.jct
window.jct.track("product", "viewed", { product_id: "SKU-123" });
```

## License

MIT
npm package: @junctionjs/core
Description: Isomorphic event collector core — types, consent, validation, and runtime
Latest version: 0.3.0

# @junctionjs/core

Isomorphic event collection core for Junction. Runs in browsers, Node.js, Deno, Cloudflare Workers, and Bun.

## What's inside

- **Collector** — the runtime engine. Accepts events, validates them against Zod contracts, checks consent, buffers, and dispatches to destinations.
- **Consent manager** — reactive state machine with event queuing. Events that arrive before consent is resolved get queued and replayed when consent changes.
- **Validator** — Zod-based schema validation per `entity:action` pair. Strict mode drops invalid events; lenient mode warns and passes through.
- **Types** — the full type system: `JctEvent`, `Destination`, `Collector`, `ConsentState`, `EventContract`, `Rule`, and more.
- **Common schemas** — reusable Zod schemas for products, orders, pages, and user traits.

## Install

```bash
npm install @junctionjs/core
```

## Quick start

```typescript
import { createCollector } from "@junctionjs/core";

const collector = createCollector({
  config: {
    name: "my-app",
    environment: "production",
    consent: { defaultState: { analytics: true }, queueTimeout: 30000, respectDNT: true, respectGPC: true },
    destinations: [],
  },
  source: { type: "client", name: "browser", version: "1.0.0" },
});

collector.track("page", "viewed", { path: "/home" });
collector.track("product", "added", { product_id: "SKU-123", price: 29.99, currency: "USD" });
collector.consent({ analytics: true, marketing: false });
collector.identify("user-42", { email: "user@example.com" });
```

## License

MIT
npm package: @junctionjs/debug
Description: In-page debug panel for Junction — real-time event flow, consent state, destination status
Latest version: 2.0.0

# @junctionjs/debug

In-page debug panel for Junction. Real-time visibility into event flow, consent state, and destination status.

Zero dependencies. Vanilla DOM in a shadow root. Toggles with a keyboard shortcut.

## Features

- **Events tab** — real-time event stream with syntax-highlighted payload expansion, text filtering, color-coded badges
- **Consent tab** — visual consent state per category with click-to-toggle for testing
- **Destinations tab** — registered destinations with traffic-light status and per-destination send/error counts
- **Context tab** — live snapshot of page info, device, UTM params, session, and user identity
- Status bar with aggregate counters (valid, invalid, sent)
- Ring buffer retains the last 500 events (configurable)
- Dark theme, shadow DOM isolated, collapses to a small fab button

## Install

```bash
npm install @junctionjs/debug
```

## Usage

```typescript
import { createDebugPanel } from "@junctionjs/debug";

// Attach to your collector (e.g., window.jct)
const panel = createDebugPanel(window.jct, {
  shortcut: "ctrl+shift+j", // keyboard toggle
  position: "bottom-right",
  startOpen: false,
  maxEvents: 500,
});

// Programmatic control
panel.open();
panel.close();
panel.toggle();
panel.destroy();

// Access the event store directly
const entries = panel.store.getEntries();
const counters = panel.store.getCounters();
```

## License

MIT
npm package: @junctionjs/destination-amplitude
Description: Amplitude Analytics destination for Junction — HTTP API, client + server
Latest version: 2.0.0

# @junctionjs/destination-amplitude

Amplitude Analytics destination for Junction.

## Features

- Client-side and server-side sending via Amplitude HTTP V2 API
- Configurable event name formatting (snake_case, Title Case, entity:action, custom)
- Property mapping overrides
- User identity syncing (anonymous ID, user properties)
- Deduplication via `insert_id`

## Install

```bash
npm install @junctionjs/destination-amplitude
```

## Usage

```typescript
import { amplitude } from "@junctionjs/destination-amplitude";

// In your collector config
const config = {
  destinations: [
    {
      destination: amplitude,
      config: {
        apiKey: "YOUR_AMPLITUDE_API_KEY",
        mode: "client", // or "server"
        eventNameFormat: "snake_case",
      },
      consent: ["analytics"],
    },
  ],
};
```

## License

MIT
npm package: @junctionjs/destination-ga4
Description: Google Analytics 4 destination for Junction — gtag.js, Measurement Protocol, Consent Mode v2
Latest version: 2.0.0

# @junctionjs/destination-ga4

Google Analytics 4 destination for Junction.

## Features

- Client-side via gtag.js (loaded lazily if not present)
- Server-side via GA4 Measurement Protocol
- Google Consent Mode v2 — automatically maps Junction consent state to Google's consent signals
- GA4 recommended event mapping (view_item, add_to_cart, purchase, etc.)
- Custom event name and parameter overrides

## Install

```bash
npm install @junctionjs/destination-ga4
```

## Usage

```typescript
import { ga4 } from "@junctionjs/destination-ga4";

// In your collector config
const config = {
  destinations: [
    {
      destination: ga4,
      config: {
        measurementId: "G-XXXXXXXXXX",
        consentMode: true,
        sendPageView: false, // Junction handles page views
      },
      consent: ["analytics"],
    },
  ],
};
```

## License

MIT
npm package: @junctionjs/destination-meta
Description: Meta Pixel + Conversions API destination for Junction
Latest version: 2.0.0

# @junctionjs/destination-meta

Meta Pixel + Conversions API destination for Junction.

## Features

- Client-side via Meta Pixel (`fbq`)
- Server-side via Conversions API (CAPI)
- Both modes can run simultaneously for redundant delivery with deduplication via `event_id`
- Standard event mapping (PageView, ViewContent, Purchase, etc.)
- Advanced matching support
- Consent management via `fbq("consent", ...)`

## Install

```bash
npm install @junctionjs/destination-meta
```

## Usage

```typescript
import { meta } from "@junctionjs/destination-meta";

// In your collector config
const config = {
  destinations: [
    {
      destination: meta,
      config: {
        pixelId: "YOUR_PIXEL_ID",
        accessToken: process.env.META_CAPI_TOKEN, // server-side only
      },
      consent: ["marketing"],
    },
  ],
};
```

## License

MIT
npm package: @junctionjs/gateway
Description: WinterCG-compatible edge gateway for Junction — Cloudflare Workers, Deno, Bun, Vercel Edge
Latest version: 0.1.3

# @junctionjs/gateway

WinterCG-compatible edge gateway for Junction. Receives events from clients and routes them to server-side destinations.

Runs on Cloudflare Workers, Deno Deploy, Vercel Edge, Bun, and Node.js 18+.

## Features

- CORS configuration with origin allowlisting
- Bearer token or API key authentication
- Server-side context enrichment (IP, geo, user agent)
- Immediate flush after response (edge functions are short-lived)
- Rate limiting support (requires KV adapter)

## Install

```bash
npm install @junctionjs/gateway
```

## Usage

```typescript
// Cloudflare Workers
import { createGateway } from "@junctionjs/gateway";
import { amplitude } from "@junctionjs/destination-amplitude";

const gateway = createGateway({
  destinations: [
    { destination: amplitude, config: { apiKey: "...", mode: "server", secretKey: "..." } },
  ],
  collector: {
    name: "my-gateway",
    environment: "production",
    consent: { defaultState: { analytics: true }, queueTimeout: 0, respectDNT: false, respectGPC: false },
  },
  cors: { allowedOrigins: ["https://mysite.com"] },
  auth: { type: "bearer", key: "my-secret" },
});

export default { fetch: gateway.handleRequest };
```

## License

MIT
npm package: @junderw/rustup
Description: A simple rustup installer
Latest version: 1.0.2

# Rustup

Unofficial rustup installer

```
$ npx rustup
```

```
yarn add --dev @junderw/rustup

cat <<EOF > rust-toolchain
[toolchain]
channel = "nightly"
components = [ "rustfmt", "clippy" ]
targets = [ "wasm32-wasi", "wasm32-unknown-unknown" ]
profile = "minimal"
EOF

yarn cargo build
```
npm package: @junduck/trading-core-serdes
Description: Zod validation and JSON serdes for trading-core types
Author: Jun
Latest version: 0.5.0

# @junduck/trading-core-types

TypeScript library providing Zod validation and serialization/deserialization for `@junduck/trading-core` types.

## Features

- **Type-safe validation**: Zod schemas for all trading-core types
- **JSON serdes**: Standard JSON serialization/deserialization for wire transport
- **Date handling**: Automatic conversion between `Date` objects and epoch timestamps
- **Consistent transport**: Ensures trading-core types are transmitted reliably and consistently

## Implementation

- All interfaces are kept up-to-date with current trading-core version
- All interfaces are declared directly in `index.ts` for easier discovery by coding agents
- Uses standard JSON format for maximum compatibility
- Non-trivial types (e.g., `Date` fields) are automatically converted to/from epoch timestamps during serdes
npm package: @june-in-exile/vercel-env-push
Description: Push local .env files to Vercel environment variables across all environments
Author: June
Latest version: 1.0.0

# vercel-env-push

Push local `.env` files to Vercel environment variables across all environments (production, preview, development) in one command.

## Install

```bash
npm install -g vercel-env-push
```

## Prerequisites

- [Vercel CLI](https://vercel.com/docs/cli) installed and linked to your project

## Usage

```bash
# Push .env to all environments
vercel-env-push

# Sync a custom file
vercel-env-push .env.local

# Target a specific environment
vercel-env-push --env prod
vercel-env-push --env preview
vercel-env-push --env dev

# Remove all vars without uploading
vercel-env-push --remove
vercel-env-push --env dev --remove
```

### `--env` options

| Value              | Target       |
| ------------------ | ------------ |
| `prod`, `production`  | Production   |
| `pre`, `preview`      | Preview      |
| `dev`, `development`  | Development  |
| _(omit)_              | All three    |

## Programmatic Usage

```js
const { sync } = require("vercel-env-push");

sync({ envFile: ".env.local", envFilter: "prod" });
```

## How it works

1. Reads existing Vercel env vars via `vercel env ls`
2. Removes them from the target environment(s)
3. Parses your local `.env` file
4. Uploads each variable to the target environment(s)

## License

MIT
npm package: @june-native/native-hybrid-sdk-core
Description: ⚒️ An SDK for building applications on top of Uniswap V3 nnnn
Latest version: 5.0.1

# @uniswap/sdk-core - Now at `Uniswap/sdks`

All versions after 4.2.0 of this SDK can be found in the [SDK monorepo](https://github.com/Uniswap/sdks/tree/main/sdks/sdk-core)! Please file all future issues, PR’s, and discussions there.

### Old Issues and PR’s

If you have an issue or open PR that is still active on this SDK in this repository, please recreate it in the new repository. Some existing issues and PR’s may be automatically migrated by the Uniswap Labs team.