open-index/open-npm huggingface dataset:
npm package: @inradius/solid-wc-hass-mixin
Description: A Solid.js Home Assistant web component mixin.
Author: Travis Stroud
Latest version: 1.0.3

# @inradius/solid-wc-hass-mixin
![npm version](https://img.shields.io/npm/v/@inradius/solid-wc-hass-mixin) ![CI Action](https://github.com/inradius/solid-wc-utils-monorepo/actions/workflows/ci.yml/badge.svg) ![license](https://img.shields.io/npm/l/@inradius/solid-wc-hass-mixin)

A lightweight mixin for [component-register](https://www.npmjs.com/package/component-register) that streamlines the creation of Home Assistant Custom Cards using Solid.js.

This mixin automatically handles the boilerplate required by Home Assistant, including `setConfig`, card registration in the global window object, and the `getCardSize` method.

## Features
- **Automatic Registration:** Automatically pushes your card configuration to the Home Assistant `customCards` registry.
- **Config Handling:** Implements `setConfig` and merges your `defaultConfig` with user-provided settings.
- **TypeScript Ready:** Full type safety for Home Assistant card configurations.
- **Clean Integration:** Designed to work seamlessly with `compose` and `register`.

```bash
npm install @inradius/solid-wc-hass-mixin component-register
# or
pnpm add @inradius/solid-wc-hass-mixin component-register
```

## Usage
Use `withHomeAssistant` within your `compose` pipeline. It should wrap your final component ***before*** registration.

```typescript
import { register, compose, withSolid } from 'component-register';
import withHomeAssistant from '@inradius/solid-wc-hass-mixin';
import { MyApp } from './MyApp';

compose(
  withHomeAssistant({
    defaultConfig: {
      name: 'My Card',
      layout: 'vertical',
    },
    customCard: {
      type: 'my-custom-card',
      name: 'My Custom Card',
      description: 'A beautiful Solid.js card for Home Assistant.',
      preview: true
    },
    cardSize: 3
  }),
  register('my-custom-card'),
  withSolid
)(MyApp);
```

### Options
The `withHomeAssistant` function accepts an options object:

| Property | Type | Default | Description |
| --- | --- | --- | --- |
| customCard | CustomCardEntry | Required | The metadata used by the Home Assistant UI picker. |
| defaultConfig | Record<string, unknown> | {} | Default values for your card's YAML configuration. |
| cardSize | number | 3 | The height of the card in the Home Assistant grid. |

## How it works
1. `setConfig(config)`: Home Assistant calls this when the UI editor changes. This mixin ensures a valid config is provided and attaches it to `this.config`.
2. `getCardSize()`: Returns the specified grid height for the Home Assistant dashboard.
3. Global Registry: Adds your card to `window.customCards` so it appears in the "Add Card" dialog in the Lovelace UI.

## License
MIT
npm package: @inradius/solid-wc-utils-config
Description: Shared ESLint, Prettier, and Vitest configuration for Solid.js web component applications.
Author: Travis Stroud
Latest version: 0.1.4

# @inradius/solid-wc-utils-config
![npm version](https://img.shields.io/npm/v/@inradius/solid-wc-utils-config) ![CI Action](https://github.com/inradius/solid-wc-utils-monorepo/actions/workflows/ci.yml/badge.svg) ![license](https://img.shields.io/npm/l/@inradius/solid-wc-utils-config)

A shared base configuration for Solid.js Web Component applications.

## Installation
```bash
npm install -D @inradius/solid-wc-utils-config eslint prettier typescript
# or
pnpm add -D @inradius/solid-wc-utils-config eslint prettier typescript
```

## Usage
In your applications root eslint and prettier configuration files, import the shared configurations.

```typescript
// eslint.config.ts
export { default } from '@inradius/solid-wc-utils-config/eslint';
```

```typescript
// prettier.config.ts
export { default } from '@inradius/solid-wc-utils-config/prettier';
```

## Extending the configurations
You can extend the shared configurations by importing and spreading them, as the configurations are TypeScript exported default objects.

```typescript
// prettier.config.ts
import type { Config } from 'prettier';
import * as tailwindPlugin from 'prettier-plugin-tailwindcss';
import sharedConfig from '@inradius/solid-wc-utils-config/prettier';

const config: Config = {
  ...sharedConfig,
  plugins: [tailwindPlugin],
};

export default config;
```

### Vitest
A shared Vitest base configuration is also available:

```typescript
// vitest.config.ts
import { defineConfig, mergeConfig } from 'vitest/config';
import baseConfig from '@inradius/solid-wc-utils-config/vitest.base';

export default mergeConfig(baseConfig, defineConfig({
  // your overrides here
}));
```

## What's included

All ESLint plugins are bundled as dependencies — consumers do not need to install them individually:

- `@eslint/js`
- `eslint-config-prettier`
- `eslint-import-resolver-typescript`
- `eslint-plugin-import-x`
- `eslint-plugin-perfectionist`
- `eslint-plugin-solid`
- `globals`
- `typescript-eslint`

> **Note:** The ESLint config includes `eslint-plugin-solid`, making it opinionated toward Solid.js projects.

> **⚠️ ESLint 10 compatibility:** `eslint-plugin-solid` depends on `@typescript-eslint/utils@8.x`,
> which does not yet support ESLint 10. This package pins its ESLint peer dependency to **^9.20.0**
> until upstream support lands. Track progress in
> [eslint-plugin-solid](https://github.com/solidjs-community/eslint-plugin-solid) and
> [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint).

## Requirements

- **Node.js** `^20.19.0 || >=22`
- **ESLint** `^9.20.0`
- **Prettier** `^3.0.0`
- **TypeScript** `^5.0.0`

## License
MIT
npm package: @inrange/amqp-message-bus
Description: Message bus based on amqplib
Latest version: 0.3.0

# amqp-message-bus

Fast track services communications via the RabbitMQ Message Broker.

[![0v3rst33r - amqp-message-bus](https://img.shields.io/static/v1?label=0v3rst33r&message=amqp-message-bus&color=blue&logo=github)](https://github.com/0v3rst33r/amqp-message-bus)
[![stars - amqp-message-bus](https://img.shields.io/github/stars/0v3rst33r/amqp-message-bus?style=social)](https://github.com/0v3rst33r/amqp-message-bus)
[![forks - amqp-message-bus](https://img.shields.io/github/forks/0v3rst33r/amqp-message-bus?style=social)](https://github.com/0v3rst33r/amqp-message-bus)

[![GitHub tag](https://img.shields.io/github/tag/0v3rst33r/amqp-message-bus?include_prereleases=&sort=semver)](https://github.com/0v3rst33r/amqp-message-bus/releases/) ![Contributors](https://img.shields.io/github/contributors/0v3rst33r/amqp-message-bus?color=dark-green) ![Issues](https://img.shields.io/github/issues/0v3rst33r/amqp-message-bus) [![License](https://img.shields.io/github/license/0v3rst33r/amqp-message-bus)](#license)



## Table Of Contents

* [Setup](#setup)
* [Build](#build)
* [Test](#test)
* [Publish](#publish)
* [Contributing](#contributing)
* [License](#license)

## Setup

Install `nvm` if you have not done so yet, then:

```sh
nvm use
```

## Build

```sh
npm run build
```

## Test

Start `rabbitmq` on your local machine:

```sh
docker run --rm -it --hostname rabbitmq-amqp-message-bus -p 15672:15672 -p 5672:5672 rabbitmq:3-management
```

Then exeucte the tests:

```sh
npm run test
```

Expected output:

```
  IntegrationCommands
    when subscribing and publishing
      ✔ then the message is received (55ms)

  IntegrationEvents
    2 queues with different names against the same exchange
      when subscribing and publishing
        ✔ then the message is consumed twice by both queues (2056ms)
    2 queues with identical names against the same exchange
      when subscribing and publishing
        ✔ then the message is consumed only once by one of the queues (2047ms)


  3 passing (4s)
```

## Publish

You need to be an `@inrange` organisation team member in order to publish.

Use the `--dry-run` flag if you first want to test/confirm what will be published.

```sh
npm publish --access public
```

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
* If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/0v3rst33r/amqp-message-bus/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes.
* Please make sure you check your spelling and grammar.
* Create individual PR for each suggestion.

## License

See [LICENSE](https://github.com/0v3rst33r/amqp-message-bus/blob/develop/LICENSE) for more information.
npm package: @inrange/express-express-cassandra
Description: A wrapper for using `express-cassandra`, with `AWS Keyspaces` support.
Latest version: 0.10.0

# express-express-cassandra

A wrapper for using `express-cassandra`, with `AWS Keyspaces` support.

[![0v3rst33r - express-cassandra](https://img.shields.io/static/v1?label=0v3rst33r&message=express-cassandra&color=blue&logo=github)](https://github.com/0v3rst33r/express-cassandra)
[![stars - express-cassandra](https://img.shields.io/github/stars/0v3rst33r/express-cassandra?style=social)](https://github.com/0v3rst33r/express-cassandra)
[![forks - express-cassandra](https://img.shields.io/github/forks/0v3rst33r/express-cassandra?style=social)](https://github.com/0v3rst33r/express-cassandra)

[![GitHub tag](https://img.shields.io/github/tag/0v3rst33r/express-cassandra?include_prereleases=&sort=semver)](https://github.com/0v3rst33r/express-cassandra/releases/) ![Contributors](https://img.shields.io/github/contributors/0v3rst33r/express-cassandra?color=dark-green) ![Issues](https://img.shields.io/github/issues/0v3rst33r/express-cassandra) [![License](https://img.shields.io/github/license/0v3rst33r/express-cassandra)](#license)


## Table Of Contents

* [Setup](#setup)
* [Build](#build)
* [Publish](#publish)
* [Usage examples](#usage-examples)
* [Contributing](#contributing)
* [License](#license)

## Setup

Install `nvm` if you have not done so yet, then:

```sh
nvm use
```

## Build

```sh
npm run build
```

## Publish

You need to be an `@inrange` organisation team member in order to publish.

Use the `--dry-run` flag if you first want to test/confirm what will be published.

```sh
npm publish --access public
```

## Usage examples

### Create instances

To create 2 independent instances:

```
import modelzzz = require('@inrange/express-express-cassandra');

export const keyspacesOrm = modelzzz.get('keyspaces');
export const cassandraOrm = modelzzz.get('cassandra');
```

Under the hood this just makes 2 separate non-cached calls to:

```
require('express-cassandra')
```

### AWS Keyspaces

Using the `AWS Keyspaces` compatible methods:

```
import { keyspaces } from '@inrange/express-express-cassandra';

keyspaces.saveAsync(model).then(...)
```

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
* If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/0v3rst33r/express-cassandra/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes.
* Please make sure you check your spelling and grammar.
* Create individual PR for each suggestion.

## License

See [LICENSE](https://github.com/0v3rst33r/express-cassandra/blob/develop/LICENSE) for more information.

## Acknowledgements

The creators of the `express-cassandra` project.
npm package: @inrupt/base-rollup-config
Description: This package provides a shared rollup config for our packages
Author: Inrupt
Latest version: 4.1.0

# @inrupt/base-rollup-config

This package contains the base configuration for rollup across our packages

## Installation

1. `npm install --save-dev @inrupt/base-rollup-config`

## Usage:

Can be used in rollup.config.mjs as follows:

```mjs
import { createRequire } from "node:module";
import createConfig from "@inrupt/base-rollup-config";
const require = createRequire(import.meta.url);

export default createConfig(require("./package.json"));
```

Make sure to specify `main` (cjs), `module` (esm) and `types` entrypoints in the package.json as rollup uses
these entries to determine where to write the output.
npm package: @inrupt/eslint-config-base
Description: Shared eslint config for Javascript at @inrupt
Author: Inrupt
Latest version: 4.1.0

# eslint-config-inrupt-base

ESlint config which is the base for all inrupt projects.

This ruleset is applicable to library code and applications. It should be extended with framework-specific rulesets where applicable (e.g. NextJS).

## Usage

In order to use this style configuration, you'll need to import it in your ESLint `eslint.config.js`: 

```js
import inruptCfg from "@inrupt/eslint-config-base"

import { defineConfig } from "eslint/config";

export default defineConfig([
  inruptCfg, 
  // ...
]);

```
npm package: @inrupt/eslint-config-react-ts
Description: Shared eslint config for Javascript at @inrupt
Author: Inrupt
Latest version: 0.1.2

# eslint-config-inrupt-react
Eslint and prettier configs


## Installation

1. `npm install --save-dev @inrupt/eslint-config-react`
2. `npx install-peerdeps @inrupt/eslint-config-react`
2. `npx install-peerdeps @inrupt/eslint-config-base`
3. Add `extends: ['@inrupt/eslint-config-react']` to your .eslintrc.js file.

## Rules

Exhaustive documentation forthcoming. For now, the general principles are:

* Load a stylistic base set - in this case,
  [airbnb](https://www.npmjs.com/package/eslint-config-airbnb) and 
  [airbnb/hooks](https://www.npmjs.com/package/eslint-config-airbnb-hooks)
* Load inrupt-base, which loads recommended configs for common libraries: eslint, jest, typescript,
  and prettier
* Do very little else- as few custom rules or overrides as possible.
* Some rules are updated to work with nextjs.
npm package: @inrupt/generator-solid-angular
Description: Yeoman generator for Solid using Angular
Author: James Martin
Latest version: 0.1.8
Deprecated: Package no longer supported. Use at your own risk.

# Solid Angular Yeoman Generator

A yeoman generator to help you get up and running quickly using Solid and Angular. Running the generator will create a sample Angular profile editor application using Solid.

## Getting Started

The below instructions will get you up and running with a Solid app in a matter of minutes.

### Prerequisites

You will need a few things to get started. The first is npm, as you will need to install the app using npm. You will also likely need angular-cli installed globally. 

You can do this by running the following command

```
npm install -g @angular/cli
```

Another thing you will need to install manually is yeoman itself, if you don't already have it. You can install yeoman using the following command:
```
npm install -g yo
```

### Installing

The easiest way to install the yeoman generator is using npm. To install, you can run the command
```
npm install -g @inrupt/generator-solid-angular
```

## Using the Generator

Once it's installed, you can run the generator using a command line interface. First, navigate to the parent folder you wish to create the new project. Next, run the command
```
yo @inrupt/solid-angular
```
This will open a prompt with a few questions, such as the project name. Note the project name will also be your root folder name.

The generator will then install the angular and solid project files, then run npm install for you.

Once the generator has finished running, you can navigate into the newly created project folder and run the command
``` 
ng serve
```
That command is the regular angular-cli serve, and will launch the web app on your localhost, port 4200.

With this running, you'll see a login page.
npm package: @inrupt/internal-playwright-helpers
Description: This package provides page models for known common elements of the sdk testable UIs
Author: Inrupt
Latest version: 4.1.0

# @inrupt/internal-playwright-helpers

This package contains utilities to help setup automated testing environments.

## Installation

1. `npm install --save-dev @inrupt/internal-playwright-helpers`

## Usage:

Add the function import as needed.

```js
import { loginAndAllow } from "@inrupt/internal-playwright-helpers"
```

Then add in calls to the functions such as `loginAndAllow` to your test files.

For these helpers to work, your app should use predefined testids defined in
`@@inrupt/internal-playwright-testids`. The following testids are expected in the
exposed helpers:

- The OpenID provider should be specified in a text input identified with
  `TESTID_OPENID_PROVIDER_INPUT`.
- The login should be initiated by clicking a button identified with
  `TESTID_LOGIN_BUTTON`.
- When the login process is complete, an element identified with
  `TESTID_SESSION_STATUS` should appear in the DOM.
- When an error occurs, an element identified with `TESTID_ERROR_MESSAGE` should
  appear in the DOM.
npm package: @inrupt/internal-test-env
Description: This package provides various test environment utilities needed for jest when using the Inrupt SDKs
Author: Inrupt
Latest version: 4.1.0

# @inrupt/internal-test-env

This package contains utilities to help setup automated testing environments.

## Installation

1. `npm install --save-dev @inrupt/internal-test-env`

## Usage:

Add the function import as needed.

```js
import "@inrupt/internal-test-env"
```

## Features

This helper exposes the following:

- `getNodeTestingEnvironment`
- `getBrowserTestingEnvironment`

These two functions will load from the environment variables as follows:

- Some variables will always be loaded and validated if applicable
  - `E2E_TEST_ENVIRONMENT`: name of the target environment, used for information purpose.
    E.g., `ESS Dev-Next`
  - `E2E_TEST_IDP`: IRI of the OpenID Provider where the test session will be retrieved.
  - Any environment variable starting with the pattern `E2E_TEST_FEATURE_*` will be
    made available in a feature flags dictionary keyed by `*`. E.g., `E2E_TEST_FEATURE_NOTIFICATIONS`
    being defined will result in `features["NOTIFICATIONS"]` to capture the associated
    value.
- Some variables will only be loaded and validated if explicitly requested as part
  of the `get*TestingEnvironment` call:
  - `E2E_TEST_NOTIFICATION_GATEWAY`
  - `E2E_TEST_NOTIFICATION_PROTOCOL`
  - `E2E_TEST_VC_PROVIDER`
  - `E2E_TEST_OWNER_CLIENT_ID`
  - `E2E_TEST_OWNER_CLIENT_SECRET`
  - `E2E_TEST_REQUESTOR_CLIENT_ID`
  - `E2E_TEST_REQUESTOR_CLIENT_SECRET`
  - `E2E_TEST_USER`
  - `E2E_TEST_PASSWORD`
npm package: @inrupt/jest-jsdom-polyfills
Description: This package provides various polyfills needed on jest/jsdom when using the Inrupt SDKs
Author: Inrupt
Latest version: 4.1.0

# @inrupt/jest-jsdom-polyfills

This package contains polyfills for Web APIs that we use from the Inrupt SDKs that don't currently exist in jsdom which is used by Jest.

## Installation

1. `npm install --save-dev @inrupt/jest-jsdom-polyfills`

## Usage:

Add the following line to your [Jest Test Setup file](https://jestjs.io/docs/configuration#setupfilesafterenv-array), usually you'll have this configured as `jest.setup.ts` or something similar.

```js
import "@inrupt/jest-jsdom-polyfills"
```

Done, the SDKs should now have everything they need to be tested via jest / jsdom.

## ESM / CJS Compatibility

The Inrupt SDKs currently rely on some modules that require ESM, in order to load those with Jest, you need to opt into using ESM and configure your environment appropriately.
npm package: @inrupt/jose-legacy-modules
Description: This package is automatically published whenever a new release of `jose` is pushed to npm.
Latest version: 0.0.3-3.17.0
Deprecated: Please use the jose module instead

This package is automatically published whenever a new release of `jose` is pushed to npm.

It only re-exports the `jose` API's from the top-level.
This is useful for environments that do not (yet) support [package exports](https://nodejs.org/api/packages.html#packages_package_entry_points).

It was created by [Inrupt](https://inrupt.com/) for use in its own libraries.
While it may work for you too, keep in mind that depending on this package makes you dependent on another third party (Inrupt).

For more information about the background of this package, see:
https://github.com/panva/jose/discussions/201