open-index/open-npm huggingface dataset:
npm package: @j3a-m3r/vuepress-plugin-pdf-export
Description: Vuepress plugin for exporting site as PDF
Latest version: 1.1.1

# @snowdog/vuepress-plugin-pdf-export
Vuepress plugin for exporting site as PDF

## Features
- Exports whole Vuepress based page as a single PDF file
- Applies styles to hide UI elements like navigation or sidebar
- Doesn't other languages like Java to run
- Designed to work well in headless environments like CI runners

## Config options
- `theme` - theme name (default `@vuepress/default`)
- `sorter` - function for changing pages order (default `false`)
- `outputFileName` - name of output file (default `site.pdf`)
- `puppeteerLaunchOptions` - [Puppeteer launch options object](https://github.com/puppeteer/puppeteer/blob/v2.1.1/docs/api.md#puppeteerlaunchoptions) (default `{}`)
- `pageOptions` - [Puppeteer page formatting options object](https://github.com/puppeteer/puppeteer/blob/v2.1.1/docs/api.md#pagepdfoptions) (default `{format: 'A4'}`)
- `excludedPages` - array of urls to exclude from output file

### Usage

Using this plugin:

``` js
// in .vuepress/config.js
module.exports = {
  plugins: ['@snowdog/vuepress-plugin-pdf-export']
}
```

Then run:

``` bash
vuepress export [path/to/your/docs]
```

### Tips
To run this plugin on Gitlab CI you may want to run Chrome with `no-sandbox` flag. [Details](https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md#setting-up-chrome-linux-sandbox)

```js
module.exports = {
  plugins: [
    ['@snowdog/vuepress-plugin-pdf-export', {
      puppeteerLaunchOptions: {
        args: ['--no-sandbox', '--disable-setuid-sandbox']
      }
    }]
  ]
}
```
npm package: @j3a/bs-cycle-dom
Description: Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).
Author: J3A Solutions Ltd.
Latest version: 0.4.2

# Basic Reason Template

Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).

# Build
```
npm run build
```

# Build + Watch

```
npm run start
```


# Editor
If you use `vscode`, Press `Windows + Shift + B` it will build automatically
npm package: @j3a/bs-cycle-restart
Description: Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).
Latest version: 0.4.1

# Basic Reason Template

Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).

# Build
```
npm run build
```

# Build + Watch

```
npm run start
```


# Editor
If you use `vscode`, Press `Windows + Shift + B` it will build automatically
npm package: @j3a/bs-cycle-run
Description: Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).
Latest version: 0.4.1

# Basic Reason Template

Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).

# Build
```
npm run build
```

# Build + Watch

```
npm run start
```


# Editor
If you use `vscode`, Press `Windows + Shift + B` it will build automatically
npm package: @j3a/bs-snabbdom-bindings
Description: Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).
Author: J3A Solutions Ltd.
Latest version: 0.3.2

# Basic Reason Template

Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`).

# Build
```
npm run build
```

# Build + Watch

```
npm run start
```


# Editor
If you use `vscode`, Press `Windows + Shift + B` it will build automatically
npm package: @j3lte/govee-lan-controller
Description: Control Govee devices over LAN
Author: Jelte Lagendijk
Latest version: 1.0.5

Govee LAN Controller
====================

[![npm](https://img.shields.io/npm/v/@j3lte/govee-lan-controller?label=NPM&logo=npm&style=flat-square)](https://www.npmjs.com/package/@j3lte/govee-lan-controller)
[![License](https://img.shields.io/github/license/j3lte/govee-lan-controller?color=%2344cc10&label=License&logo=github&style=flat-square)](https://github.com/j3lte/govee-lan-controller/blob/main/LICENSE)
[![GitHub Bugs](https://img.shields.io/github/issues-search/j3lte/govee-lan-controller?label=Bugs&logo=github&query=is%3Aopen%20label%3Abug&style=flat-square)](https://github.com/j3lte/govee-lan-controller/issues)
[![GitHub issues](https://img.shields.io/github/issues/j3lte/govee-lan-controller?label=Issues&style=flat-square)](https://github.com/j3lte/govee-lan-controller/issues)
[![GitHub last commit](https://img.shields.io/github/last-commit/j3lte/govee-lan-controller?label=Last%20Commit&logo=github&style=flat-square)](https://github.com/j3lte/govee-lan-controller/commits/main)
![npm type definitions](https://img.shields.io/npm/types/@j3lte/govee-lan-controller?style=flat-square)
[![Bundlephobia](https://img.shields.io/bundlephobia/min/@j3lte/govee-lan-controller?label=Size&style=flat-square)](https://bundlephobia.com/package/@j3lte/govee-lan-controller@latest)

This is a Node.js library for controlling Govee devices over the LAN.


## Installation

```bash
npm install @j3lte/govee-lan-controller
```

## Usage

```typescript
import { Govee } from '@j3lte/govee-lan-controller';

const run = async () => {
    const govee = new Govee();
    const device = await govee.getDevice();

    if (device) {
        await device.turnOn();
        await device.setBrightness(50);
        await device.setColor('red');
    }
}

run();
```

## API

API documentation is available [here](https://j3lte.github.io/govee-lan-controller/).

## License

MIT
npm package: @j3lte/mementoweb
Description: A client for the Memento Protocol.
Author: Jelte Lagendijk
Latest version: 0.3.0

# @j3lte/mementoweb

[![JSR](https://jsr.io/badges/@j3lte/mementoweb)](https://jsr.io/@j3lte/mementoweb)
[![GitHub Release](https://img.shields.io/github/v/release/j3lte/mementoweb)](https://github.com/j3lte/mementoweb/releases/latest)
[![NPM Version](https://img.shields.io/npm/v/@j3lte/mementoweb)](https://www.npmjs.com/package/@j3lte/mementoweb)
[![NPM Downloads](https://img.shields.io/npm/dm/@j3lte/mementoweb)](https://www.npmjs.com/package/@j3lte/mementoweb)
[![License](https://img.shields.io/github/license/j3lte/mementoweb)](https://github.com/j3lte/mementoweb/blob/main/LICENSE)

A client for the Memento Protocol.

## ✨ Features

- Create clients for the archive and wayback domains. (e.g. archive.today and web.archive.org)
- Check the archives for the given URL

## 🚀 Installation

### Deno (Recommended)

```bash
deno add @j3lte/mementoweb
```

### NPM

```bash
npm install @j3lte/mementoweb
```

## 📦 Documentation

- [Deno Docs](https://jsr.io/@j3lte/mementoweb/doc)
- [NPM Package](https://www.npmjs.com/package/@j3lte/mementoweb)

## 📖 Usage

```ts
import { checkArchives, createArchiveClient } from "@j3lte/mementoweb";

// Check the archives for the given URL
const result = await checkArchives("https://www.thisnewswebsite.com/newsitem/article/234585");
console.log(result);

// Create a client for Archive.today
const archiveClient = createArchiveClient();
const archiveTimeMap = await archiveClient.getTimeMap("https://www.thisnewswebsite.com/newsitem/article/234585");
console.log(archiveTimeMap);
```

## ⚠️ Notes

> 1.) Somehow `checkArchives` is very slow

When using `checkArchives`, this is best used on a specific webpage, NOT a domain. If you do this for a domain (like `https://google.com`), it tries to fetch all archive urls from both, which can take a while.

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
npm package: @j3lte/pluggable-widget-utils
Description: Missing things for Mendix Pluggable Widgets
Author: Jelte Lagendijk
Latest version: 0.2.2

# The Missing Pluggable Widget Utils for Mendix Widgets

Building pluggable widgets can be tedious when you have to copy/paste certain patterns over again.

Use at your own risk...

## License

The MIT License (MIT)

Copyright © CaffCode 2022-2024. All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
npm package: @j4ckofalltrades/steam-webapi-ts
Description: Isomorphic Steam WebAPI wrapper in TypeScript
Author: Jordan Duabe
Latest version: 1.2.2

![steam-webapi-ts_image](https://res.cloudinary.com/j4ckofalltrades/image/upload/v1697278937/foss/gh-social-icons/steam-webapi-ts_airt7u.png)

[![npm](https://img.shields.io/npm/v/@j4ckofalltrades\/steam-webapi-ts)](https://npmjs.com/package/@j4ckofalltrades/steam-webapi-ts)
[![Docs](https://img.shields.io/badge/docs-v1.2.1-green?link=j4ckofalltrades.github.io%2Fsteam--webapi--ts)](https://j4ckofalltrades.github.io/steam-webapi-ts)
[![codecov](https://codecov.io/gh/j4ckofalltrades/steam-webapi-ts/branch/main/graph/badge.svg?token=LA1XCLYEP3)](https://codecov.io/gh/j4ckofalltrades/steam-webapi-ts)

Isomorphic Steam WebAPI wrapper in TypeScript.

## Installation

[![npm](https://nodei.co/npm/@j4ckofalltrades/steam-webapi-ts.png?compact=true)](https://npmjs.com/package/@j4ckofalltrades/steam-webapi-ts)

### Using npm

`$ npm install @j4ckofalltrades/steam-webapi-ts`

### Using yarn

`$ yarn add @j4ckofalltrades/steam-webapi-ts`

### Using GitHub Packages

This step requires [authenticating to GitHub Packages](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-to-github-packages),
then installing the package using `npm`.

`$ npm install @j4ckofalltrades/steam-webapi-ts`

### via CDN

- jsDelivr [cdn.jsdelivr.net/npm/@j4ckofalltrades/steam-webapi-ts/](https://cdn.jsdelivr.net/npm/@j4ckofalltrades/steam-webapi-ts/)
- unpkg [unpkg.com/browse/@j4ckofalltrades/steam-webapi-ts/](https://unpkg.com/browse/@j4ckofalltrades/steam-webapi-ts/)

## Usage

**This requires a Steam WebAPI Key, you can get one at https://steamcommunity.com/dev/apikey**

You can use either the provided `SteamWebApi` wrapper

```typescript
import { SteamWebApi } from "@j4ckofalltrades/steam-webapi-ts"

const steamWebApi = new SteamWebApi("api_key")
await steamWebApi.usersApi.getPlayerSummaries(["steam_ids"])
```

or with a specific interface e.g. `ISteamUser`

```typescript
import { ISteamUser } from "@j4ckofalltrades/steam-webapi-ts"

const usersApi = new ISteamUser("api_key")
await usersApi.getPlayerSummaries(["steam_ids"])
```

## Stats

![Alt](https://repobeats.axiom.co/api/embed/bdef9b1141ca9a44c3596ead68fa815e0c7857f6.svg "Repobeats analytics image")
npm package: @j4cobi/eslint-plugin-sort-imports
Description: An ESLint rule that can auto fix import sorting issues.
Author: marudor
Latest version: 1.0.2

# @j4cobi/eslint-plugin-sort-imports

An updated fork of [eslint-plugin-sort-imports-es6-autofix](https://github.com/marudor/eslint-plugin-sort-imports-es6-autofix).

An ESLint rule that can auto fix ES6 import sorting issues. It accepts the same options as the [original rule](http://eslint.org/docs/rules/sort-imports), but the `multiple` type corresponds to all named imports (regardless of how many are imported), while the `single` type corresponds only to default imports.

This rule respects whitespace and comments between imports by only looking at the order of (and sorting) consecutive import statements (those without newlines/comments in between them).

This fork also fixes the import order on eslint --fix.
To avoid problems, it will only switch out the import statements, not comments on the same line, etc.

## Invalid Code
```ts
import fastify from "fastify";
import { useState } from "react";
import * as lodash from "lodash";
import { join } from "node:path";
import "./do-something";
```
## Correct Code
```ts
import * as lodash from "lodash";
import fastify from "fastify";
import { join } from "node:path";
import { useState } from "react";
import "./do-something";
```

# Compatibility
- ESLint v9
- TypeScript ESlint v8

## Usage

Install the package  with
`npm i --save-dev @j4cobi/eslint-plugin-sort-imports`

Then add `@j4cobi/eslint-plugin-sort-imports` to the plugins section of your `eslint.config.js` config.
```js
import  sortImports from "@j4cobi/eslint-plugin-sort-imports";

export default [
  {
    plugins: { "sort-imports": sortImports },
    rules: {
      "sort-imports/sort-imports": [
        "error",
        {
          ignoreCase: false,
          ignoreMemberSort: false,
          memberSyntaxSortOrder: ["all", "single", "multiple", "none"],
        },
      ]
    }
  }
];
```
npm package: @j4hangir/vue-tagged-input
Description: A tags input component for Vue 3 with autocompletion, custom validation, templating and much more
Author: j4hangir
Latest version: 3.0.3

# vue-tagged-input

A tags input component for Vue 3 with autocompletion, custom validation, templating and much more

Forked from [@sipec/vue3-tags-input](https://www.npmjs.com/package/@sipec/vue3-tags-input)

[//]: # ([Demo & Docs]&#40;http://www.vue-tags-input.com&#41; &#40;for the original version&#41;)

## Features

* No dependencies
* Custom validation rules
* Hooks: Before adding, Before deleting ...
* Edit tags after creation
* Fast setup
* Works with Vuex
* Small size: 34kb minified (css included) | gzipped 9kb
* Autocompletion
* Many customization options
* Own templates
* Delete tags on backspace
* Add tags on paste
* Examples & Docs

## Install

NPM
```
npm install @j4hangir/vue-tagged-input
```

CDN
```
<script src="https://unpkg.com/@j4hangir/vue-tagged-input/dist/vue-tagged-input.js"></script>
```

## Usage

```html
<template>
  <div>
      <vue-tagged-input
      v-model="tag"
      :tags="tags"
      @tags-changed="newTags => tags = newTags"
    />
  </div>
</template>
```

```html

<script lang="ts">
    import {VueTaggedInput} from "@j4hangir/vue-tagged-input";

export default {
  components: {
    VueTaggedInput,
  },
  data() {
    return {
      tag: '',
      tags: [],
    };
  },
};
</script>
```
Import the css

```html

<style>
    @import "@j4hangir/vue-tagged-input/dist/assets/vue-tagged-input.css";
</style>
```

## License

[MIT](https://opensource.org/licenses/MIT)

Copyright (c) 2023 j4hangir
npm package: @j4mie/react-email
Description: This package allows you to easily send [React email](https://react.email/) emails with Laravel.
Latest version: 0.2.0

# React email for Laravel

This package allows you to easily send [React email](https://react.email/) emails with Laravel.

## Install

``` bash
composer require maantje/react-email
yarn add @j4mie/react-email
```

## Usage

Install React email ([automatic](https://react.email/docs/getting-started/automatic-setup), [manual](https://react.email/docs/getting-started/manual-setup)).

Create an email in the emails directory e.g. new-user.tsx, make sure the component is the default export.

``` tsx
import { Html } from '@react-email/html';
import { Text } from '@react-email/text';
import * as React from 'react';

export default function Email({ user }) {
    return (
        <Html>
            <Text>Hello, {user.name}</Text>
        </Html>
    );
}
```

Set up the email directory in your Laravel .env.
``` env
REACT_EMAIL_DIRECTORY="/my/absolute/path/to/react-email-starter/emails/"
```

Create a Laravel mailable.

``` bash
php artisan make:mail NewUser
```

Extend from ReactMailable instead of Mailable.

``` php
use App\Models\User;
use Maantje\ReactEmail\ReactMailable;

class NewUser extends ReactMailable
{
    public function __construct(public User $user) 
    {
        // public properties will be passed as props to the React email component
        // Alternatively use the with property of content
    }
    
    public function envelope()
    {
        return new Envelope(
            subject: 'New User',
        );
    }

    public function content()
    {
        return new Content(
            view: 'new-user', // name of the component file without extension
        );
    }
}
```

## Testing

``` bash
./vendor/bin/pest
```

## Security

If you discover any security related issues, please email author email instead of using the issue tracker.

## License

The MIT License (MIT). Please see [License File](/LICENSE) for more information.
npm package: @j4ndrw/defer
Description: A package that allows you to defer the execution of a particular instruction at the end of the function's execution.
Author: j4ndrw
Latest version: 1.0.3

# Defer

A package that allows you to defer the execution of a particular instruction at the end of the function's execution.

# Example usage

```ts
import { deferred } from '@j4ndrw/defer';

const file = ...; // imagine this is a file object with read, write, open and close methods

async function main() {
    const content = await deferred(async ({ defer }) => {
        await file.open();
        defer(async () => file.close());

        file.write("This is some text");
        return file.read();
    })
}

main();
```
npm package: @j4ndrw/lightweight-signals
Description: A lightweight signal-based state management library. Heavily inspired by SolidJS.
Author: j4ndrw
Latest version: 0.0.4

# Lightweight Signals

## Core functionality

You can use the `signal`, `computed` and `effect` primitives to make your program reactive. Think of this being a way to use React's `useState`, `useMemo` and `useEffect` in non-React / non-frontend applications.

I mostly implemented those to learn more about ways of implementing reactivity. It works well enough as a PoC, but I wouldn't recommend using it in production.

## React bindings

React already comes with reactive primitives, but I wanted to add a simple way to create a store. The `useSignalStore` binding is heavily inspired by [Valtio](https://github.com/pmndrs/valtio).

## Usage

### Node

```ts
import { signal, computed, effect } from "@j4ndrw/lightweight-signals";

// Create a signal:
const count = signal(0);

// Create a computed signal:
const doubledCount = computed(() => count.unwrap() * 2, [count]);
// Will update when `count` updates.

// Create an effect:
effect(() => {
    console.log(`The value of the doubled count is ${doubledCount.unwrap()}`);
}, [doubledCount]);
// Will run every type `doubledCount` is updated.

// Update a signal
count.set(7);
// Will cause `doubledCount` to update to `count * 2` (7 * 2 = 14). It will also trigger the effect.

// Update a signal based on its previous value
count.setFrom((prev) => prev - 3);
// Will cause `doubledCount` to update to `count * 2` ((7 - 3) * 2 = 8). It will also trigger the effect.
```

## React

```tsx
// useStore.tsx
import { useSignalStore } from "@j4ndrw/lightweight-signals/dist/react";

interface Store {
    realName: string;
    heroName: string;
}

const store: Store = {
    realName: "Peter Parker",
    heroName: "Spider-Man",
};

export const useStore = () => useSignalStore(store);

// App.tsx
import { useStore } from "./useStore";

export const App = () => {
    const { store } = useStore();
    const { realName, heroName } = store.unwrap();

    useEffect(() => {
        store.set("realName", "Bruce Wayne");
        store.set("heroName", "Batman");
    }, []);

    return (
        <div>
            <p>
                {heroName}'s real name is {realName}
            </p>
        </div>
    );
};
```
npm package: @j4numbers/eslint-base-config
Description: An eslint collection
Author: J4Numbers
Latest version: 1.2.6

# @j4numbers/eslint-base-config

This project contains the base configuration that I, J4Numbers, personally
use when developing in NodeJS. This means that a lot of this is very
opinionated towards my personal development style and towards what I think
looks nice within code.

However, it also means that I don't have to set up something like this
every time I start a new project so... yeah.

## Installation

To use this project, perform the following command:

```bash
npm i --save-dev @j4numbers/eslint-base-config
```

Then create a file called `.eslintrc.js` and fill it with the following:

```js
module.exports = require('@j4numbers/eslint-base-config');
```
npm package: @j4numbers/eslint-typescript-config
Description: An eslint collection for Typescript
Author: J4Numbers
Latest version: 1.0.6

# @j4numbers/eslint-typescript-config

This project contains the base configuration that I, J4Numbers, personally
use when developing in TypeScript. This means that a lot of this is very
opinionated towards my personal development style and towards what I think
looks nice within code.

However, it also means that I don't have to set up something like this
every time I start a new project so... yeah.

## Installation

To use this project, perform the following command:

```bash
npm i --save-dev @j4numbers/eslint-typescript-config
```

Then create a file called `.eslintrc.js` and fill it with the following:

```js
module.exports = require('@j4numbers/eslint-typescript-config');
```