open-index/open-npm huggingface dataset:
npm package: @softwareforgood/sfg-react-scripts
Description: Configuration and scripts for Software for Good.
Latest version: 3.4.1

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @softwaregardeners/couche
Description: Couche loads whitelisted variables into process.env, potentially reading from _FILE
Author: Brice Carpentier
Latest version: 1.0.0

Couche
======

Couche checks required variables against your env, eventually throwing an `Error`.
if `VARIABLE_NAME` is not available in the env, Couche will check against the file pointed by `VARIABLE_NAME_FILE`.

Installation
------------

```
npm install @softwaregardeners/couche
```

Usage
-----

```
const couche = require('@softwaregardeners/couche');

# will throw an error if `SOMETHING_REQUIRED` is not defined in the env,
# or we could not find a file at `SOMETHING_REQUIRED_FILE`
couche(['SOMETHING', 'SOMETHING_REQUIRED!]);
```
npm package: @softwaregardeners/monoi
Description: A process monitor that does not take itself too seriously
Author: Brice Carpentier
Latest version: 1.0.0

Monoi
=====

Monoi is a process launcher / restarted that does not take itself too seriously.
It comes with sane default and is designed to play well with docker.

Usage
-----

Build then run once

```js
const run = require('@softwaregardeners/monoi');
run(['yarn build', 'node dist/index.js']);
```

Build then run and watch for changes in the `src` directory

```js
const run = require('@softwaregardeners/monoi');
run(['yarn build', 'node dist/index.js'], { watch: 'src/' });
```


FAQ
---

### Should I use it? Is it battle-tested?
Probably not. Nope. But we do use it on a couple of side-projects.

### What's the point? I mean there's already pm2 and nodemon?
You could probably do exactly the same with pm2/nodemon/XYZ. In fact you should probably. That being said, monoi is design as an api, not a script (to be fair nodemon is as well), and allows you to configure which signals to pass through to your commands and which signal to use in order to restart.
npm package: @softwaregardeners/serverless-eventstore
Description: serverless component that implements a dynamodb event store
Author: Brice Carpentier
Latest version: 1.0.0

Serverless Event Store
======================

Creates a dynamodb table configured to server as an event store.

## Basic configuration

```yml
myEventStore:
  component: '@softwaregardeners/serverless-eventstore'
  inputs:
    name: aneventstore
    region: eu-west-2
```
npm package: @softwaregardeners/trowel
Description: Small javascript library with a light focus on functional programming
Author: Brice Carpentier
Latest version: 0.14.0

Trowel
======

A small javascript library with a light focus on functional programming.

Disclaimer: I'm just having fun testing stuff. This is by no means production ready. Seriously: don't use it.


## Local Development

Below is a list of commands you will probably find useful.

### `npm start` or `yarn start`

Runs the project in development/watch mode. Your project will be rebuilt upon changes. TSDX has a special logger for you convenience. Error messages are pretty printed and formatted for compatibility VS Code's Problems tab.

<img src="https://user-images.githubusercontent.com/4060187/52168303-574d3a00-26f6-11e9-9f3b-71dbec9ebfcb.gif" width="600" />

Your library will be rebuilt if you make edits.

### `npm run build` or `yarn build`

Bundles the package to the `dist` folder.
The package is optimized and bundled with Rollup into multiple formats (CommonJS, UMD, and ES Module).

<img src="https://user-images.githubusercontent.com/4060187/52168322-a98e5b00-26f6-11e9-8cf6-222d716b75ef.gif" width="600" />

### `npm test` or `yarn test`

Runs the test watcher (Jest) in an interactive mode.
By default, runs tests related to files changed since the last commit.
npm package: @softwarehut/draft-js-mention-plugin
Description: Mention Plugin for DraftJS
Author: Nik Graf
Latest version: 0.0.4

# DraftJS Mention Plugin

*This is a plugin for the `draft-js-plugins-editor`.*

This plugin allows you to add mentions to your editor!

Usage:

```js
import createMentionPlugin from 'draft-js-mention-plugin';

const mentionPlugin = createMentionPlugin({ mentions });
```

## Importing the default styles

The plugin ships with a default styling available at this location in the installed package:
`node_modules/draft-js-mention-plugin/lib/plugin.css`.

### Webpack Usage
Follow the steps below to import the css file by using Webpack's `style-loader` and `css-loader`.

1. Install Webpack loaders: `npm install style-loader css-loader --save-dev`
2. Add the below section to Webpack config (if your Webpack already has loaders array, simply add the below loader object(`{test:foo, loaders:bar[]}`) as an item in the array).

    ```js
    module: {
      loaders: [{
        test: /\.css$/,
        loaders: [
          'style-loader', 'css'
        ]
      }]
    }
    ```

3. Add the below import line to your component to tell Webpack to inject style to your component.

    ```js
    import 'draft-js-mention-plugin/lib/plugin.css';
    ```
4. Restart Webpack.
npm package: @softwareimaging/backstage-azure-config
Description: A provider for [Backstage]() that adds support for the [Azure App Configuration]() service.
Latest version: 1.3.2

# Backstage Azure App Configuration Provider

A provider for [Backstage]() that adds support for the [Azure App Configuration]() service.

Backstage is a headless environment & feature flag library that isn't tied to any specific service or format. It's a React based library that focuses on being easy to use and simple to integrate with any (and multiple) feature providers.

## Usage

If you haven't added Backstage to your project yet, install the main package.

```
npm i @softwareimaging/backstage --save
```

To get started with this provider, add it to your project also.

```
npm i @softwareimaging/backstage-azure-config --save
```

## Additional conditions

```js
const BackstageProvider = ({ children }) => {
  const providers = [
    BackstageAzureConfig(0, {
      connectionString,
      label: 'production', // environments, etc
      groups: ['customer-a'], // organisations, groups, tenants, etc.
      user: 'dc994182-d8d6-477e-a1bf-b7307c0bb051' /* to identify
      a single user, please don't use emails or names. */
    })
  ]

  return <Backstage providers={providers}>{children}</Backstage>
}
```

You can supply a `user` & an array of `groups` to the provider to be compared against in Azure App Configuration's ["Targeting" feature filter]().

If a flag is disabled, it will be false in Backstage regardless of the following additional conditions.

If the `user` string matches what's supplied in the filter then it will be turned on. This bypasses any group condition or rollout percentage.

**As is stands this list of users is exposed to all clients**. Ensure you use a anonymous, random value like a hash or an ID and not an email or name to ensure you don't leak personal information.

In Azure App Configuration, when you enable a Targeting filter you get a "rollout percentage" as both a default and for each specific group. 0 means off for everyone, 100 means on for everyone. If it's in the middle, that will be used as a probability when setting the flags on the client side.

In both cases, the results of the probability evaluation is saved to local storage to keep it sticky. This is designed for short term experiments like [A/B testing]() or [canary deployments](), not for robust, reliable long-term uses.

If the groups provided match a group in Azure App Configuration, the rollout probability will be calculated and the result saved.

If you change the "rollout percentage", either default or in a group, the saved probability will be discarded and a new one will be calculated and saved.

### Some features are not supported

Please note, currently both ["Time window"]() and custom filters are not supported in Backstage and will throw an error at runtime.
npm package: @softwareinfocus/next-og-image
Description: Reusable Open Graph image toolkit for Next.js App Router with an optional Software InFocus preset
Latest version: 0.1.0

# @softwareinfocus/next-og-image

Reusable Open Graph image helpers for Next.js App Router metadata image routes, with an optional Software InFocus preset template.

## Features

- `next/og` image response wrapper with standard `1200x630` PNG defaults
- Helpers for static and dynamic `opengraph-image.tsx` routes
- Typed OG payload contract (`OgImageData`)
- SIF preset renderer + fallback data builders
- Works with Next.js 15+ App Router route metadata image files

## Install

```bash
npm install @softwareinfocus/next-og-image
```

Peer dependencies:

- `next@15`
- `react@19`

## Basic usage (static route)

```tsx
import {
  OG_IMAGE_CONTENT_TYPE_PNG,
  OG_IMAGE_SIZE_1200x630,
  createStaticOgImageHandler,
} from '@softwareinfocus/next-og-image'
import { createSifFallbacks, createSifOgRenderer } from '@softwareinfocus/next-og-image/presets/sif'

export const alt = 'Site social preview image'
export const size = OG_IMAGE_SIZE_1200x630
export const contentType = OG_IMAGE_CONTENT_TYPE_PNG
export const runtime = 'edge'
export const revalidate = 3600

const render = createSifOgRenderer({
  brandName: 'Software InFocus',
  domainLabel: 'softwareinfocus.com',
})

const fallbacks = createSifFallbacks({ brandName: 'Software InFocus' })

export default createStaticOgImageHandler({
  fallbackData: fallbacks.global,
  render,
})
```

## Basic usage (dynamic route)

```tsx
import { createDynamicOgImageHandler } from '@softwareinfocus/next-og-image'
import { createSifFallbacks, createSifOgRenderer } from '@softwareinfocus/next-og-image/presets/sif'

const render = createSifOgRenderer()
const fallbacks = createSifFallbacks()

export default createDynamicOgImageHandler<{ slug: string }, 'blog'>({
  resolveData: async ({ slug }) => {
    const post = await getPostBySlug(slug)
    if (!post) return null

    return {
      type: 'blog',
      title: post.title,
      subtitle: post.description,
      chips: post.tags,
    }
  },
  fallbackData: fallbacks.section.blog,
  render,
})
```

## Notes

- Keep `export const runtime = 'edge'` in your route file for predictable `next/og` behavior.
- Keep `export const revalidate = 3600` (or your preferred cache interval) in each route.
- `twitter-image.tsx` can re-export from `./opengraph-image` in most projects.
- Fonts are optional. Provide `loadFonts` in `createSifOgRenderer()` if you want custom typography.

## Development

```bash
pnpm install
pnpm build
pnpm test
```

## License

MIT
npm package: @softwarenatives/transferlua
Description: Wrapper for Indel's TransferLua C-library
Author: Raphael Zulliger
Latest version: 2.0.1

# Node wrapper for Indel's TransferLua C-Library

[Indel AG's](https://indel.ch) TransferLua is a dynamic library (`.dll`, `.so`) with a C-API that allows downloading Lua scripts to it's real-time contolling systems. This project is a wrapper around that C-API for Node.

## State

I took the "lean approach": The basic functionality is in place, but less commonly used features may not yet be. Extending it should be farely easy and everyone's invited to do so.

## Motivation

The main motivation for this project was to have Node wrapper suitable to be used by VSCode extensions.

## Installation

```sh
npm i @softwarenatives/transferlua
```

## Basic usage

Assuming there is a `helloworld.js` in the current working dir, create something like this:

```js
const transferLua = require("@softwarenatives/transferlua");
 
const indelTargetName = 'IndelTargetName'; // E.g. "Net251"
const luaStateName = 'Machine';
const options = transferLua.combineOptions(
    transferLua.OPTION_EXECUTE);
 
const transfer = new transferLua.TransferLua(indelTargetName, { force: true });
transfer.sendFile('./helloworld.lua', luaStateName, { options: options });
transfer.close()
```

## Supported platforms

This wrapper should support all platforms on which Indel's library is available. At the time of this writing, these are

- Windows
- Linux

## TODO

As mentioned, only the "thus far required" functionality is in place. Namely, the following is missing:

- "Error writer" callback not yet implemented (thus, the ability to get 'good error reporting' not given yet)
- Convertion from error codes (uint64) into human readable text is yet missing
- Test coverage for various options of `sendFile` and `sendChunk` not yet given (and also not manually tested yet)
- TS types could be improved for the various optional arguments

## Why not in TS?

This module is so small that I felt to write it in JavaScript rather than TypeScript, although I like the latter more. I feel like the overhead is smaller for JS, since no transpiling, etc. is required.

Note that if someone would convert it to TS, such a contribution would be welcome.
npm package: @softwareone/spi-sv5-library
Description: Svelte components
Author: Frederik Lefevre
Latest version: 1.12.5

# SoftwareOne SPI Component Library for Svelte

This library provides a set of reusable components to help you build modern web applications with Svelte 5 (Runes) and SvelteKit 2. Each component is designed to be easily customizable and integrate seamlessly with your Svelte projects.

## Installation

To install the library, use the following command:

```bash
npm install @softwareone/swo-spi-svelte5-library
```

## Usage

Import the components you need into your Svelte application:

```javascript
import {
	Avatar,
	Breadcrumbs,
	Button,
	Card,
	Chips,
	ErrorPage,
	Footer,
	Header,
	HeaderAccount,
	HeaderLoader,
	HeaderLogo,
	HighlightPanel,
	Input,
	Menu,
	Modal,
	ProgressWizard,
	Sidebar,
	Tabs,
	TextArea,
	Toaster,
	Toggle,
	Tooltip
} from '@softwareone/swo-spi-svelte5-library';
```

Import the types you need into your Svelte application:

```javascript
import {
	type BreadcrumbsNameMap,
	type HighlightPanelColumn,
	type MenuItem,
	type ModalProps,
	type ProgressWizardStep,
	type Tab,
	type Toast
} from '@softwareone/swo-spi-svelte5-library';
```

# List of components

- Avatar
- Breadcrumbs
- Button
- Card
- Chips
- ErrorPage
- Footer
- Form
    - Input
    - TextArea
    - Toggle
- Header (including a loader)
    - HeaderAccount
    - HeaderLoader
    - HeaderLogo
- HighlightPanel
- Menu
    - Sidebar
- Modal
- ProgressWizard
- Spinner
- Tabs
- Toaster
- Tooltip

# List of types per component

- Breadcrumbs
    - BreadcrumbsNameMap
- Chips
    - ChipType
- HighlightPanel
    - ColumnType
    - HighlightPanelColumn
    - ImageType
- Menu
    - MenuItem
- Modal
    - ModalProps
- ProgressWizard
    - ProgressWizardStep
- Tab
- Toast