open-index/open-npm huggingface dataset:
npm package: @siteping/adapter-localstorage
Description: localStorage adapter for Siteping — client-side feedback persistence without a server
Author: neosianexus
Latest version: 0.4.3

[![npm version](https://img.shields.io/npm/v/@siteping/adapter-localstorage)](https://www.npmjs.com/package/@siteping/adapter-localstorage)
[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue)](https://www.typescriptlang.org/)

# @siteping/adapter-localstorage

Client-side localStorage adapter for [Siteping](https://github.com/NeosiaNexus/SitePing) — feedback persistence without a server.

Part of the [@siteping](https://github.com/NeosiaNexus/SitePing) monorepo.

## Install

```bash
npm install @siteping/adapter-localstorage
```

## Usage

Pass the store directly to the widget — no server needed:

```ts
import { initSiteping } from '@siteping/widget'
import { LocalStorageStore } from '@siteping/adapter-localstorage'

const store = new LocalStorageStore()

initSiteping({
  store,
  projectName: 'my-project',
})
```

Feedback persists across page reloads via `localStorage`. Data is scoped to the current origin.

## API

### `new LocalStorageStore(options?)`

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `key` | `string` | `'siteping_feedbacks'` | localStorage key for data persistence |

### `store.clear()`

Remove all data from localStorage for this store key.

## Use Cases

- **Demo pages** — static pages with feedback persistence, zero server
- **Prototyping** — test the widget without setting up a database
- **Offline-first** — feedback stored locally, synced later

## Edge Cases

- **localStorage full** — writes are silently dropped (best-effort persistence)
- **Corrupted data** — returns empty array, does not throw
- **Multiple stores** — use different `key` values for isolation

## Related Packages

| Package | Description |
|---------|-------------|
| [`@siteping/widget`](https://www.npmjs.com/package/@siteping/widget) | Browser feedback widget |
| [`@siteping/adapter-prisma`](https://www.npmjs.com/package/@siteping/adapter-prisma) | Server-side Prisma adapter |
| [`@siteping/adapter-memory`](https://www.npmjs.com/package/@siteping/adapter-memory) | In-memory adapter (testing, demos) |
| [`@siteping/cli`](https://www.npmjs.com/package/@siteping/cli) | CLI for project setup |

## License

[MIT](https://github.com/NeosiaNexus/SitePing/blob/main/LICENSE)
npm package: @siteping/adapter-memory
Description: In-memory adapter for Siteping — zero dependencies, works everywhere
Author: neosianexus
Latest version: 0.4.3

[![npm version](https://img.shields.io/npm/v/@siteping/adapter-memory)](https://www.npmjs.com/package/@siteping/adapter-memory)
[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue)](https://www.typescriptlang.org/)

# @siteping/adapter-memory

In-memory adapter for [Siteping](https://github.com/NeosiaNexus/SitePing) — zero dependencies, works everywhere.

Part of the [@siteping](https://github.com/NeosiaNexus/SitePing) monorepo.

## Install

```bash
npm install @siteping/adapter-memory
```

## Usage

### With the HTTP handler (server-side)

```ts
import { createSitepingHandler } from '@siteping/adapter-prisma'
import { MemoryStore } from '@siteping/adapter-memory'

const store = new MemoryStore()

export const { GET, POST, PATCH, DELETE, OPTIONS } = createSitepingHandler({ store })
```

### With the widget directly (client-side, no server)

```ts
import { initSiteping } from '@siteping/widget'
import { MemoryStore } from '@siteping/adapter-memory'

const store = new MemoryStore()

initSiteping({
  store,
  projectName: 'my-project',
})
```

## API

### `new MemoryStore()`

Creates a new in-memory store. Data lives in a plain array — lost on process restart.

### `store.clear()`

Remove all data and reset the ID counter.

## Use Cases

- **Testing** — fast, isolated store for unit and integration tests
- **Demos** — lightweight store that needs no database or localStorage
- **Prototyping** — get started without any infrastructure
- **Reference implementation** — simplest possible adapter for contributors

## Creating Your Own Adapter

`MemoryStore` is the simplest reference implementation of the `SitepingStore` interface. To create a new adapter (e.g. Drizzle, Supabase):

1. Implement the `SitepingStore` interface (6 methods)
2. Throw `StoreNotFoundError` on missing records in `updateFeedback` / `deleteFeedback`
3. Validate with the conformance test suite:

```ts
import { testSitepingStore } from '@siteping/core/testing'
import { MyStore } from '../src/index.js'

testSitepingStore(() => new MyStore())
```

## Related Packages

| Package | Description |
|---------|-------------|
| [`@siteping/widget`](https://www.npmjs.com/package/@siteping/widget) | Browser feedback widget |
| [`@siteping/adapter-prisma`](https://www.npmjs.com/package/@siteping/adapter-prisma) | Server-side Prisma adapter |
| [`@siteping/adapter-localstorage`](https://www.npmjs.com/package/@siteping/adapter-localstorage) | Client-side localStorage adapter |
| [`@siteping/cli`](https://www.npmjs.com/package/@siteping/cli) | CLI for project setup |

## License

[MIT](https://github.com/NeosiaNexus/SitePing/blob/main/LICENSE)
npm package: @siteping/cli
Description: CLI tool to set up Siteping in your project
Author: neosianexus
Latest version: 0.4.3

[![npm version](https://img.shields.io/npm/v/@siteping/cli)](https://www.npmjs.com/package/@siteping/cli)
[![Live Demo](https://img.shields.io/badge/demo-try%20it%20live-22c55e)](https://siteping.dev/demo)
[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue)](https://www.typescriptlang.org/)

# @siteping/cli

CLI tool to set up [Siteping](https://github.com/NeosiaNexus/SitePing) in your project — scaffolds Prisma schema and API routes.

Part of the [@siteping](https://github.com/NeosiaNexus/SitePing) monorepo — **[try the live demo](https://siteping.dev/demo)**.

## Usage

```bash
npx @siteping/cli init
```

## Commands

| Command | Description |
|---------|-------------|
| `init` | Interactive setup: Prisma schema + API route generation |
| `sync` | Non-interactive Prisma schema sync (CI-friendly) |
| `status` | Diagnostic check of your Siteping integration |
| `doctor` | Test API endpoint connectivity |

### `init`

Walks you through setting up Siteping:
1. Detects your `prisma/schema.prisma`
2. Merges `SitepingFeedback` and `SitepingAnnotation` models (idempotent)
3. Generates the Next.js App Router API route

```bash
npx @siteping/cli init
npx prisma db push
```

### `sync`

Non-interactive schema sync, useful for CI:

```bash
npx @siteping/cli sync --schema prisma/schema.prisma
```

### `status`

Checks your integration:

```bash
npx @siteping/cli status
```

### `doctor`

Tests API connectivity:

```bash
npx @siteping/cli doctor --url http://localhost:3000
```

## Related Packages

| Package | Description |
|---------|-------------|
| [`@siteping/widget`](https://www.npmjs.com/package/@siteping/widget) | Browser feedback widget |
| [`@siteping/adapter-prisma`](https://www.npmjs.com/package/@siteping/adapter-prisma) | Server-side Prisma adapter |
| [`@siteping/adapter-memory`](https://www.npmjs.com/package/@siteping/adapter-memory) | In-memory adapter (testing, demos) |
| [`@siteping/adapter-localstorage`](https://www.npmjs.com/package/@siteping/adapter-localstorage) | Client-side localStorage adapter |

## License

[MIT](https://github.com/NeosiaNexus/SitePing/blob/main/LICENSE)
npm package: @siteplanet/grid-system-react
Description: A grid system for React
Author: 123city
Latest version: 0.0.2

# sp-grid-system-react-library

> A grid system for React

[![NPM](https://img.shields.io/npm/v/sp-grid-system-react-library.svg)](https://www.npmjs.com/package/sp-grid-system-react-library) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save sp-grid-system-react-library
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from 'sp-grid-system-react-library'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [123city](https://github.com/123city)
npm package: @siteplanet/planet-ng
Description: This is an example repo of building plugins.
Latest version: 0.0.138

# stencil-ds-angular-template

This is an example repo of building plugins.

## Step 1.

- Update the `package.json` to have the correct package name for this repo.
- Replace `component-library` under `dependencies` with your core stencil package name.

## Step 2.

- Build your core stencil package.

## Step 3.

- Update `src/component-library-module.ts`.
  - You will need to import all of your components from `./directives/proxies`. Currently the file states `DemoComponent` as the only import. This will be replaced with the entire list.
  -  Then update the `DECLARATIONS` const array to also list out all of the component names. It also currently contains `DemoComponent` as the only item, but this will need to be replaced with the entire list.

## Step 4.

- Run build on this package.