open-index/open-npm huggingface dataset:
npm package: @nanoporetech-digital/components-nuxt
Description: A Nuxt module for nano-components. SSR. Vue Binding. Assets.
Latest version: 8.23.2

<!--
Get your module up and running quickly.

Find and replace all on all files (CMD+SHIFT+F):
- Name: My Module
- Package name: my-module
- Description: My new Nuxt module
-->

# My Module

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![License][license-src]][license-href]

> My new Nuxt module

- [✨ &nbsp;Release Notes](/CHANGELOG.md)
<!-- - [📖 &nbsp;Documentation](https://example.com) -->

## Features

<!-- Highlight some of the features your module provide here -->
- ⛰ &nbsp;Foo
- 🚠 &nbsp;Bar
- 🌲 &nbsp;Baz

## Quick Setup

1. Add `my-module` dependency to your project

```bash
# Using pnpm
pnpm add -D my-module

# Using yarn
yarn add --dev my-module

# Using npm
npm install --save-dev my-module
```

2. Add `my-module` to the `modules` section of `nuxt.config.ts`

```js
export default defineNuxtConfig({
  modules: [
    'my-module'
  ]
})
```

That's it! You can now use My Module in your Nuxt app ✨

## Development

```bash
# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release
```

<!-- Badges -->
[npm-version-src]: https://img.shields.io/npm/v/my-module/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
[npm-version-href]: https://npmjs.com/package/my-module

[npm-downloads-src]: https://img.shields.io/npm/dm/my-module.svg?style=flat&colorA=18181B&colorB=28CF8D
[npm-downloads-href]: https://npmjs.com/package/my-module

[license-src]: https://img.shields.io/npm/l/my-module.svg?style=flat&colorA=18181B&colorB=28CF8D
[license-href]: https://npmjs.com/package/my-module
npm package: @nanoporetech-digital/components-react
Description: React wrapper for Nano Components
Latest version: 8.23.2

[![npm version](https://badge.fury.io/js/%40nanoporetech-digital%2Fcomponents-react.svg)](https://badge.fury.io/js/%40nanoporetech-digital%2Fcomponents-react)

# Nano Components React

React has a difficult story with web components. Their documentation shows the simplest possible example but more than likely you will want to pass more than strings to your component. If you want to know what the story is without the bindings go here: [https://stenciljs.com/docs/react].

With bindings the web components get wrapped in a React component and then immediately become available as React Components. Some of the advantages of doing this are that you get types for your components. One of the main issues with React is that react does not propertly pass properties to web components. Out of the box React can only pass strings and numbers to components and it cannot listen to custom events. With the bindings the components appear as though they are React components and all properties get passed correctly including functions, objects, and arrays. The bindings also account for custom events by creating a prop called ‘on’. These allow React developers to interact with the web components as though they are React components.

## Usage 

In your project:
```npm i @nanoporetech-digital/components-react``` 
OR
```npm add @nanoporetech-digital/components-react```
Then:
```import { Input } from '@nanoporetech-digital/components-react';```

## Run a demo - a useful visual sanity check

```npm run demo```

## Publishing this package (this should be done automatically via lerna)

### Step 1.

- Build the Nano Components package.

### Step 2.

- Run build on this package. ```npm build```
- Run publish on this package. ```npm publish```
npm package: @nanoporetech-digital/components-vue
Description: Vue 3 wrapper for Nano Components
Latest version: 8.23.2

[![npm version](https://badge.fury.io/js/%40nanoporetech-digital%2Fcomponents-vue.svg)](https://badge.fury.io/js/%40nanoporetech-digital%2Fcomponents-vue)

# Nano Components Vue 3

Vue 3 can have some issues with camelCase event names and lazy-loaded components (https://github.com/vuejs/vue-next/issues/2343).

Bindings to the rescue!
With vue bindings the web components get wrapped in a Vue proxy. Additionally, vue model binding on all `nano-` form components should also work.

## Usage 

In your project:
```$ npm i @nanoporetech-digital/components-vue```
OR
```$ yarn add @nanoporetech-digital/components-vue```
Then:
```js
import { NanoInput } from '@nanoporetech-digital/components-vue';
```

## Publishing this package 

### Step 1.

- Build the Nano Components package.

### Step 2.

- Run build on this package.
- Run publish on this package.
npm package: @nanopub/sign
Description: JavaScript bindings for the Nanopub rust toolkit
Latest version: 0.2.0

<h1 align="center">
  ✍️ Nanopub cross-platform toolkit ⚔️
</h1>

<p align="center">
    <a href="https://crates.io/crates/nanopub">
        <img alt="crates.io" src="https://img.shields.io/crates/v/nanopub.svg" />
    </a>
    <a href="https://www.npmjs.com/package/@nanopub/sign">
        <img alt="npm" src="https://img.shields.io/npm/v/@nanopub/sign" />
    </a>
    <a href="https://pypi.org/project/nanopub-sign">
        <img alt="PyPI" src="https://img.shields.io/pypi/v/nanopub-sign" />
    </a>
</p>

<p align="center">
    <a href="https://github.com/vemonet/nanopub-rs/actions/workflows/test.yml">
        <img alt="Test" src="https://github.com/vemonet/nanopub-rs/actions/workflows/test.yml/badge.svg" />
    </a>
    <a href="https://github.com/vemonet/nanopub-rs/actions/workflows/build.yml">
        <img alt="Build" src="https://github.com/vemonet/nanopub-rs/actions/workflows/build.yml/badge.svg" />
    </a>
    <a href="https://docs.rs/nanopub">
        <img alt="crates" src="https://docs.rs/nanopub/badge.svg" />
    </a>
    <a href="https://deps.rs/repo/github/vemonet/nanopub-rs">
        <img src="https://deps.rs/repo/github/vemonet/nanopub-rs/status.svg" alt="Dependency status" />
    </a>
    <a href="https://github.com/vemonet/nanopub-rs/blob/main/LICENSE">
        <img alt="MIT license" src="https://img.shields.io/badge/License-MIT-brightgreen.svg" />
    </a>
    <a href="https://codecov.io/gh/vemonet/nanopub-rs/branch/main">
        <img src="https://codecov.io/gh/vemonet/nanopub-rs/branch/main/graph/badge.svg" alt="Codecov status" />
    </a>
</p>

This project aims to provide a comprehensive cross-platform toolkit to sign, publish, and check **[Nanopublications](https://nanopub.net)**.

It is packaged to be used easily through various popular interfaces:

- ⌨️ Binary with a CLI for use in the terminal
- 🦀 Crate `nanopub` for Rust
- 🐍 Pip package `nanopub-sign` for Python
- 📦️ NPM package `@nanopub/sign` for JavaScript (compiled to WebAssembly) in the browser, or with NodeJS

On all platforms:

- 🐧 Linux
- 🍎 MacOS
- 🪟 Windows
- 🦊 Web browsers

## 📖 Documentation

Checkout the **[documentation website](https://vemonet.github.io/nanopub-rs)** for more details on how to install and use it.

## 🏔️ Changelog

Version history is recorded in the [CHANGELOG.md](https://github.com/vemonet/nanopub-rs/blob/main/CHANGELOG.md).
npm package: @nanorpc/client
Description: ## Installation
Latest version: 0.0.23

# `@nanorpc/client`

## Installation

```bash
# npm
npm install @nanorpc/client

# yarn
yarn add @nanorpc/client

# pnpm
pnpm add @nanorpc/client
```

## Basic setup

This setup imports the type of your router to get end-to-end typesafety. See [@nanorpc/server](https://github.com/mrvase/nanorpc/tree/main/packages/server) to learn more.

```ts
import { createClient, withMiddleware } from "@nanorpc/client";
import { createSWRMiddleware } from "@nanorpc/client/swr";
import type { Router } from "./server";

let fetcher = async (key, options) => {
  return await fetch(key, options).then((res) => res.json());
};

// Optionally use the SWR cache middleware
// to store and retrieve data from the cache
fetcher = withMiddleware(fetcher, [createSWRMiddleware()]);

export const { query, mutate } = createClient<Router>("/api")(fetcher);
```

### Call your remote procedure

```ts
import { isError } from "@nanorpc/client";
import { query, mutate } from "./client";

async function getPost(id: string) {
  // Get the fully typed post
  const response = await query.getPost(id);

  // If it responds with an error, log it and return undefined
  if (isError(response)) {
    console.error(response.error);
    return;
  }

  return response;
}
```

## Example with `React` and `swr`

```tsx
import { useQuery, useMutation } from "@nanorpc/client/swr";
import { query, mutate } from "./client";

const errors = {
  NOT_FOUND: "This post does not exist",
  SERVER_ERROR: "Something unexpected happened. Please try again later",
};

export default function Post({ id }: { id: string }) {
  const post = useQuery(query.posts.getPost(id));

  if (post.error === "NOT_FOUND") {
    const createPost = async () => {
      await mutate.posts.createPost({ id });
      post.update();
    };

    return <button onClick={createPost}>Create post</button>;
  }

  if (post.error) {
    return <>Error: {errors[post.error]}</>;
  }

  if (!post.data) {
    return <>Loading...</>;
  }

  return <h1>{post.data.title}</h1>;
}
```
npm package: @nanoseil/a2a-server-edge
Description: A2A Server for Edge Runtime
Author: Nanoseil
Latest version: 0.1.3

# A2A Server for Edge Runtime

This project provides an A2A (Application to Application) server designed for edge runtime environments. It leverages the @a2a-js/sdk to facilitate communication between applications in a decentralized manner.

Currently only Cloudflare Workers is supported.

## Usage

Install the package via npm:

```bash
npm install @nanoseil/a2a-server-edge @a2a-js/sdk
```

Then, you can import and use the server in your edge runtime environment:

```typescript
import { createServer } from '@nanoseil/a2a-server-edge';
import { DefaultRequestHandler, InMemoryTaskStore, type AgentCard } from '@a2a-js/sdk';

const agentCard: AgentCard = { ... }
const taskStore = new InMemoryTaskStore();

const agentExecutor = new YourAgentExecutor();

const requestHandler = new DefaultRequestHandler(
    agentCard,
    taskStore,
    agentExecutor
);

const server = createServer(requestHandler);

export default server;
```