open-index/open-npm huggingface dataset:
npm package: @sirbrillig/ensured-image
Description: React component to reload an image if it fails.
Author: Payton Swick
Latest version: 1.0.0

# EnsuredImage

A React component to reload an image if it fails.

When displaying images in a web app that needs to work offline, sometimes images on the page won't load. Using this component instead of a standard `img` will do two things:

1. It will display a placeholder if the image fails to load.
2. It will try to reload the image until it loads successfully.

## Installation

Using npm:

```
npm i --save @sirbrillig/ensured-image
```

or yarn:


```
yarn add @sirbrillig/ensured-image
```

## Usage

```js
import EnsuredImage from '@sirbrillig/ensured-image'

function ImageList( { imageUrls } ) {
	// (In real life you would need a `key` prop in this situation.)
	return imageUrls.map( url => <EnsuredImage src={ url } /> )
}
```

## Advanced Usage

The `EnsuredImage` component accepts many props common to `img` components, including:

- `src` (required!)
- `className`
- `onClick`
- `onError` (will be called after the placeholder is added.)
- `alt`
- `id`
- `sizes`
- `srcSet`
- `title`

It also includes a few special props:

- `PlaceholderComponent`: A custom placeholder to use instead of the default.
- `ImageComponent`: A custom `img` component to use instead of the default.
- `setTimeout`: A custom implementation of window.setTimeout.
- `retryAfter`: A number of miliseconds to wait before reloading a failed image (default: 1 minute).
npm package: @sirbrillig/getphpcscoverage
Description: A cli tool which compares a dir with a phpcs config and reports files which are not checked.
Author: Payton Swick
Latest version: 1.1.0

# getphpcscoverage

A cli tool which compares a dir with a [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) config and reports files which are not checked.

## Install

`npm install -g @sirbrillig/getphpcscoverage`

## Usage

```
Usage
    $ getphpcscoverage [directoryPath]

  Specify a directory path which contains a phpcs.xml config file. This will
  report the files which will be scanned by the config file and those that will
  not.

  Options
    --help, -h  Show this help message
    --version, -v  Show the version
    --type <type>, -t <type>  Only examine files with this type extension (php, js, etc.)
    --format <format>, -f <format>  Set output type (human, json)
```

## Example

```
$ tree testdir

testdir
├── phpcs.xml
└── src
    ├── baz
    │   ├── index-2.php
    │   └── index.php
    └── foobar
        ├── index-2.php
        ├── index-3.php
        └── index.php

$ cat testdir/phpcs.xml

<?xml version="1.0"?>
<ruleset name="TestRules">
 <description>Test library.</description>
 <rule ref="MyRuleset"/>
 <file>src/foobar</file>
 <file>src/baz/index-2.php</file>
</ruleset>

$ getphpcscoverage testdir

These files WILL be scanned by phpcs:
testdir/src/foobar/index-2.php
testdir/src/foobar/index-3.php
testdir/src/foobar/index.php
testdir/src/baz/index-2.php

These files WILL NOT be scanned by phpcs:
testdir/src/baz/index.php
```
npm package: @sirbrillig/gh-getrepo
Description: A cli tool to search for a github repository url
Author: Payton Swick
Latest version: 1.1.0

A cli tool to search for a github repository url

## Installation

```
npm install --global @sirbrillig/gh-getrepo
```


## Usage

The most common use is to search for repositories owned by a particular user or organization.

```
$ gh-getrepo --user=sirbrillig php
sirbrillig/spies https://github.com/sirbrillig/spies
sirbrillig/phpcs-variable-analysis https://github.com/sirbrillig/phpcs-variable-analysis
sirbrillig/phpunit-just-the-snaps https://github.com/sirbrillig/phpunit-just-the-snaps
```

Various output formats are available and can be activated by using the `--format` option.

- `default`: A newline-separated list in the format `NAME URL`.
- `json`: A JSON array of objects. Each object is of the form `{"name":"NAME","url":"URL"}`.
- `alfred`: A JSON array of data suitable for use by [Alfred Script Filters](https://www.alfredapp.com/help/workflows/inputs/script-filter/json/).

A full list of the available options is below.

```
Usage: gh-getrepo [options] <search-term>

Options:
  --version       Show version number                                  [boolean]
  --org           A org name to restrict the search                     [string]
  --user          A user name to restrict the search                    [string]
  --save-token    Prompt for a GitHub token                            [boolean]
  --delete-token  Delete any saved token                               [boolean]
  -h, --help      Show help                                            [boolean]
  -f, --format    Output format (default, json, alfred)                 [string]
```
npm package: @sirbrillig/grepdef
Description: A command-line tool to search for symbol definitions in various programming languages
Author: Payton Swick
Latest version: 2.0.4

# grepdef

Usage: grepdef [options] &lt;symbol&gt; [path]

The symbol is the full string name of a class, function, variable, or similar construct.

The path is a relative or absolute file path to a file or a directory or a space-separated series of such paths. You can also use UNIX globs which the shell will turn into paths.

If a search path is not provided, this will search starting from the current directory.

You should use the `--type` option whenever possible, but grepdef will try to guess the type if it is not set.

The output is like using grep, but will only show places where that symbol is defined (no partial matches, variable uses, or function calls). The search uses a regular expression so it is unaware of scope and is far from fullproof, but should be easier and faster than a grep by itself.

## CLI Options

-t, --type &lt;TYPE&gt;

The type is a vim-compatible filetype. One of 'js', 'php', or an alias for those strings (eg: 'javascript.jsx'). Typescript is currently considered part of JavaScript so a type of 'typescript' is equivalent to 'js'.

If the type is not provided, grepdef will try to guess the filetype, but this may be inaccurate.

-n, --line-number

Show line numbers (1-based).

--searcher &lt;SEARCHER&gt;

Use the specified searcher. Currently only 'ripgrep' is supported.

--reporter &lt;REPORTER&gt;

Use the specified reporter. Currently only 'human' is supported.

--no-color

Disable colors in reporters that support them.

-h, --help

Print this help text.

-v, --version

Print the version information.

--verbose

Print the raw grep command being run.

## Example

```
$ grepdef --type js parseQuery
./test/fixtures/js/db.js:function parseQuery() {
```

## Installing

This tool is a node script, so you must have [node](https://nodejs.org/en/) installed.

```
npm install -g @sirbrillig/grepdef
```

## Using with editors

- vim: See [vim-grepdef](https://github.com/sirbrillig/vim-grepdef)
- VS Code: See [vscode-grepdef](https://github.com/sirbrillig/vscode-grepdef)


## Acknowledgments

This uses the amazing [ripgrep](https://github.com/BurntSushi/ripgrep) tool for searching and the [vscode-ripgrep](https://github.com/microsoft/vscode-ripgrep) library to install and access it.
npm package: @sircfenner/png-luau
Description: Luau library for working with PNG files
Author: sircfenner
Latest version: 0.1.0

# png-luau

Luau implementation of the PNG file format. Currently only decoding is supported, but encoding may be supported in future.

All valid PNG files should be successfully decoded, with support for all critical chunks, bit depths, color types, interlacing, and transparency chunks.

Extra information:

-   Attempting to decode an invalid PNG file will throw an error
-   All ancillary chunks other than tRNS are currently skipped (other than CRC32 checks) when decoding
-   Images are transformed into 32-bit RGBA pixel data when decoding, regardless of original bit depth and color type
-   Files greater than 1GB in size or yielding greater than 1GB of image data after decompression (equivalent to ~16k x 16k resolution) cannot be decoded as they do not fit in a single Luau buffer

## Installation

This library is built for Roblox, [Lune](https://lune-org.github.io/docs), and standalone Luau.

### Wally

Add `png-luau` to your `wally.toml`:

```toml
png-luau = "sircfenner/png-luau@0.1.0"
```

### NPM & yarn

Add `@sircfenner/png-luau` to your dependencies:

```bash
npm install @sircfenner/png-luau
```

```bash
yarn add @sircfenner/png-luau
```

### Releases

Pre-built versions are available in [GitHub releases](https://github.com/sircfenner/png-luau/releases):

-   `png.rbxm` is a Roblox model file
-   `png.luau` is a single-file version of the library (suitable for standalone Luau)

## Usage

To decode a PNG image, call the `decode` function with a buffer containing the file contents:

```Luau
local PNG = require("@pkg/@sircfenner/png-luau")

local png = PNG.decode(image)
```

This returns a table with the following type:

```Luau
{
  width: number,
  height: number,
  pixels: buffer,
  readPixel: (x: number, y: number) -> Color
}
```

The `pixels` buffer contains the decoded pixels in 32-bit RGBA format, top-to-bottom and left-to-right.

The `readPixel` function takes a pixel coordinate starting from (1, 1) in the top-left corner and returns the color information for that pixel.

The type of a `Color` is:

```Luau
{
  r: number,
  g: number,
  b: number,
  a: number,
}
```

Each component of a `Color` is an integer between 0 and 255. The `a` component represents alpha, where 0 is fully transparent and 255 is fully opaque.

The `decode` function takes an optional second parameter, which is a table specifying decoding options. Currently, the only valid option is `allowIncorrectCRC`, a boolean which defaults to false. It exists only for testing purposes and may be removed in future versions.

## License

This project is available under the MIT license. See [LICENSE](LICENSE) for details.

Some tests are derived from:

-   [pngsuite](http://www.schaik.com/pngsuite/pngsuite.html)
-   [imagetestsuite](https://code.google.com/archive/p/imagetestsuite/wikis/PNGTestSuite.wiki)
-   [javapng](https://github.com/kerner1000/javapng/tree/master)
npm package: @sircfenner/studiocomponents
Description: React components for building Roblox Studio plugins
Author: sircfenner
Latest version: 1.2.0

# StudioComponents

## [Read the documentation here!](https://sircfenner.github.io/StudioComponents/)

A collection of React implementations of Roblox Studio components such as Checkboxes, Buttons, and Dropdowns. This is intended for building plugins for Roblox Studio.

<p align="center">
  <img src=".moonwave/static/components/dropdown/dark.png" />
  <img src=".moonwave/static/components/dropdown/light.png" /> 
</p>
<p align="center">An example Dropdown</p>

This project is built for [react-lua](https://github.com/jsdotlua/react-lua), Roblox's translation
of upstream ReactJS 17.x into Luau.

## Installation

### Wally

Add `studiocomponents` to your `wally.toml`:

```toml
studiocomponents = "sircfenner/studiocomponents@1.0.0"
```

### NPM & yarn

Add `studiocomponents` to your dependencies:

```bash
npm install @sircfenner/studiocomponents
```

```bash
yarn add @sircfenner/studiocomponents
```

Run `npmluau`.

## License

This project is available under the MIT license. See [LICENSE](LICENSE) for details.
npm package: @sirclo/nexus
Description: SIRCLO TDK
Author: SIRCLO
Latest version: 2.19.34

# @sirclo/nexus

> A collection of
> Sirclo Nexus TDK components
> implemented using nextjs

### Getting Started

Run the following command using [npm](https://www.npmjs.com/):

```
npm install -S @sirclo/nexus
```

1. These components require the use of WithApollo HOC in your project

2. WithApollo HOC class will be added soon in this package

## Usage

### List of available components

To be added soon

## Run Development local

https://docs.google.com/document/d/1JQy1dHiaB5-MhK-_jz0wqEce4OHm-dn1Q5xn1VNNDSM/edit#
npm package: @sirctseb/bolt-typegen
Description: Generate TypeScript types from bolt security rules
Author: Christopher Best
Latest version: 2.0.1

# Bolt Type Generator :zap:

[![Build Status](https://app.travis-ci.com/sirctseb/bolt-typegen.svg?branch=main)](https://app.travis-ci.com/sirctseb/bolt-typegen)

Generate TypesScript types from types declared in Bolt security rules.

This tool is useful if you use [Bolt Compiler](https://github.com/FirebaseExtended/bolt) to author your security rules and you use typescript to write client code.

Consider some trivial security rules like:

```bolt
path / is ToySchema {
  read() { true }
}

type ToySchema {
  stringChild: String;
  nullableChild: Number | Null;
}
```

You can use this tool to generate types that reflect what the rules enforce:

```ts
export interface ToySchema {
  stringChild: string;
  nullableChild?: number;
}
```

Then you can use the emitted types to gain static typing of the values retrieved from firebase:

```ts
firebase.database().ref('/').once('value').then(snapshot => {
  // 🎉
  const x: ToySchema = snapshot.val();
})
```

## Features

### Optional properties

In the Firebase realtime database, a field cannot hold null as a value. Assigning null to a field removes the field from the object entirely. Therefore, given a bolt type like:

```bolt
type MyObject {
  nonNullableField: String;
  nullableField: String | Null;
}
```

a naive translation to `nullableField: string | null;` is incorrect, and we make the property optional instead:

```ts
export interface MyObject {
  nonNullableField: string;
  nullableField?: string;
}
```

Fields in the realtime database also cannot hold an empty object as a value. When all the fields on an object are assigned null (are deleted), the field that held the object is also removed entirely. Consider the type:

```bolt
type MyObject {
  nullableField: String | null;
}

type MyOtherObject {
  myObject: MyObject;
}
```

The field `myObject` does not explicitly include `Null` in a union like in the first example, but the field must still be optional because if `nullableField` is set to null, the value would be an empty object, and the `myObject` field is removed.

See the [basic nullable](samples/basic-nullable.bolt), [implicit nullability](samples/implicit-nullability.bolt), and [implicity nullability via type params](samples/implicit-nullability-via-type-param.bolt) tests for more cases and examples.

## Usage

```ts
    import { generateTypes } from 'bolt-typegen';

    generateTypes('type Person { name: String }')
    // => 'export interface Person { name: string; }'
```
npm package: @siren-js/server
Description: Siren API server library
Author: Siren.js
Latest version: 0.1.0

# Siren.js Server

[![Node Package](https://img.shields.io/npm/v/@siren-js/server?style=flat-square)](https://npmjs.org/@siren-js/server)
[![Build Workflow](https://img.shields.io/github/actions/workflow/status/siren-js/server/build.yaml?style=flat-square)]()
[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
[![License](https://img.shields.io/github/license/siren-js/server?style=flat-square)](LICENSE)
[![Contributing](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat-square)](https://github.com/siren-js/.github/blob/main/profile/CONTRIBUTING.md)

[Siren](https://github.com/kevinswiber/siren) API server library for JavaScript

## Table of Contents <!-- omit in toc -->

- [Background](#background)
- [Install](#install)
- [Usage](#usage)
- [API](#api)
- [Maintainer](#maintainer)
- [Contributing](#contributing)
- [License](#license)

## Background

<!-- TODO -->

## Install

```bash
npm install @siren-js/server
```

## Usage

## API

See our [docs](https://siren-js.github.io/server).

## Maintainer

[@dillonredding](https://github.com/dillonredding)

## Contributing

See our [contribution guidelines](https://github.com/siren-js/.github/blob/main/profile/CONTRIBUTING.md).

PRs accepted.

If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.

## License

[MIT](./LICENSE) &copy; 2023 Dillon Redding