open-index/open-npm huggingface dataset:
npm package: @kryter/barnstorm
Description: Organize end to end test code
Author: Kori Ryter
Latest version: 4.2.0

# Barnstorm ![Barnstorm Icon](./favicon.png "Let's go storm some barns!")

Barnstorm provides organization and generic methods for end to end tests that make tests faster to write and more robust to changes from the application or the test tools.

 1. [Barnstorm Metaphor](/docs/barnstorm-metaphor.md)
 2. [Project Setup](/docs/project-setup.md)
 3. [Test Setup](/docs/test-setup.md)
 4. [Instrument Guide](/docs/instrument-guide.md)
 5. [Instrument State Guide](/docs/instrument-state-guide.md)

## Overview

Barnstorm provides `instruments` to make it easier to interact with UI components and track their expected state.  Instruments know how to interact with specific UI components (textboxes, buttons, tables, etc.) and how to verify their state.  Barnstorm automatically verifies instrument state at the end of each test step so tests no longer need to perform explicit verifications, rather they only update the expected state when it changes.  Barnstorm will verify the state of every instrument after any test step when a part of that instrument state changes.

Barnstorm provides a `flight plan` mechanism to make it easier to organize and reuse test actions.  With Barnstorm, test code becomes less imperative and more declarative so that the developer can focus more on the intent of the test and less on the implementation details of the test framework.  With Barnstorm, the test developer will rarely (if ever) need to write imperative DOM walking code to manipulate a UI element or verify its state because the location of the UI element and its state is described declaratively.

Barnstorm puts all test framework specific logic into `mechanics` which are plugged into Barnstorm, helping prevent library and vendor lock in.  This makes switching to a new test framework simple because only the mechanics need to be changed.  With Barnstorm, it is practical to transition to a different test framework even if there are hundreds of tests in the project and it is not practical to refactor every test.

## Examples

To see and run some tests that use Barnstorm, see these sample projects:

[Barnstorm Samples](https://github.com/kryter/barnstorm-samples) contains Barnstorm tests that target the [Cypress Todo App](https://example.cypress.io/todo).  This example shows how to use a number of different instruments, including a list instrument that can easily access a "hidden" checkbox or the text associated with any item in the todo list.

[Barnstorm Nonsense App](https://github.com/kryter/barnstorm-nonsense-app) contains a "nonsense app" and includes tests written in Barnstorm to test the "nonsense app" so you can see what the test code looks like when it is alongside the product code.  This example demonstrates testing a login page, a modal dialog, a form, and a table.
npm package: @kryter/barnstorm-cypress
Description: Cypress specific implementation for end to end tests organized with Barnstorm
Author: Kori Ryter
Latest version: 4.3.0

# Barnstorm Cypress

`barnstorm-cypress` provides an implementation of Barnstorm `mechanics` for the [Cypress](<https://www.cypress.io/>) test framework.

## Learn More About Barnstorm

For more information on how to use Barnstorm, see the [Barnstorm](<https://github.com/kryter/barnstorm>) core project.
npm package: @krytis/eslint-config
Description: ESLint configuration from @krytis based on pkmn/Pokémon Showdown's style
Latest version: 0.2.1

# `@krytis/eslint-config`

![License](https://img.shields.io/badge/License-MIT-blue.svg)
[![npm version](https://img.shields.io/npm/v/@krytis/eslint-config.svg)](https://www.npmjs.com/package/@krytis/eslint-config)&nbsp;

ESLint configuration used by [`@krytis`](https://github.com/krytis) projects
based off of [Pokémon Showdown's][0] and [Google’s][1] style guidelines.

```json
{
  "extends": "@krytis"
}
```

**NOTE:** [Due to how ESLint plugins work](https://github.com/eslint/eslint/issues/3458) you must
depend on **all** of the peer dependencies for this package (even if you don't use Typescript or
Jest etc).

## License

This package is distributed under the terms of the [MIT License](LICENSE).

  [0]: https://github.com/smogon/pokemon-showdown/blob/master/CONTRIBUTING.md#code-standards
  [1]: https://google.github.io/styleguide/jsguide.html
npm package: @krzemir/id-generator
Description: Random ID Generator is the package that creates random IDs mad with numbers and letters (lower and uppercase);
Latest version: 1.0.5

# Random ID Generator

Random ID Generator is the package that creates random IDs mad with numbers and letters (lower and uppercase);

## Installation 

USE npm or yarn installer:
```bash
yarn add @krzemir/id-generator
```
```bash
npm install @krzemir/id-generator
```

## Usage
```javascript
const randomID = require('@krzemir/id-generator');

console.log(randomID(10));
```
npm package: @krzkaczor/hyperterm-theme-material-oceanic
Description: HyperTerm Theme Material Oceanic
Author: Italo A. Casas
Latest version: 1.0.3

# HyperTerm Theme Oceanic Material

> Material Oceanic [HyperTerm](https://hyperterm.org) theme
![](assets/screenshot.png)


## Install

Add `hyperterm-theme-material-oceanic` to your plugins list on `~/.hyperterm.js`

## License

See [LICENSE.md](./LICENSE.md)
npm package: @krzyhan/custom-protocol-check
Description: Detect whether a custom protocol is available in browser (Chrome, Firefox, Safari, iOS, IE8-IE11 and Edge). Fork from 
Latest version: 1.0.0

# Custom Protocol Check in Browser

[![npm version](https://badge.fury.io/js/%40krzyhan%2Fcustom-protocol-check.svg)](https://badge.fury.io/js/%40krzyhan%2Fcustom-protocol-check) [![Pull requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://www.npmjs.com/package/@krzyhan/custom-protocol-check) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/krzyhan/custom-protocol-check/blob/master/LICENSE)

Detect whether a custom protocol is available in browser (Chrome, Firefox, Safari, iOS, IE8-IE11 and Edge)

The implementation is different from one browser to another, sometimes depend on which OS you are. Most of them are hacks, meaning that the solution is not the prettiest.

_**Important feature:** If current tab is not active when it's trying to detect focus then it would attempt to open protocol as soon as focus is back on current tab. It is more useful when there is a long running process and at the end of that process we need to detect whether that file can be opened using custom protocol. User might be doing his work on different tabs or applications so in such cases library would try to detect custom protocol as soon as current tab gets focus._

- Chrome and iOS: using window onBlur to detect whether the focus is stolen from the browser. When the focus is stolen, it assumes that the custom protocol launches external app and therefore it exists.
- Firefox (Version >= 64): using hidden iframe onBlur to detect whether the focus is stolen. When the focus is stolen, it assumes that the custom protocol launches external app and therefore it exists.
- Firefox (Version < 64): try to open the handler in a hidden iframe and catch exception if the custom protocol is not available.
- Safari: using hidden iframe onBlur to detect whether the focus is stolen. When the focus is stolen, it assumes that the custom protocol launches external app and therefore it exists.
- IEs and Edge in Win 8/Win 10: the cleanest solution. IEs and Edge in Windows 8 and Windows 10 does provide an API to check the existence of custom protocol handlers. Other older IE versions are not supported.

# Examples

```js
import customProtocolCheck from 'custom-protocol-check';

customProtocolCheck(
  'mycustomprotocol://params',
  () => {
    console.log('Custom protocol not found.');
  },
  () => {
    console.log('Custom protocol found and opened the file successfully.');
  }
);
```

# Known Issues

- In some protocol such as "mailto:", IE seems to trigger the fail callback while continuing on opening the protocol just fine (tested in IE11/Win 10). This issue doesn't occur with a custom protocol.

# Special Thanks

custom-protocol-check is forked from https://github.com/vireshshah/custom-protocol-check. Many thanks to Ismail Habib Muhammad and Viresh Shah

##### Happy Coding!
npm package: @krzyhan/types-jspdf
Description: TypeScript definitions for jsPDF based on @types/jspdf
Latest version: 1.0.0

# Installation

> `npm install --save @krzyhan/types-jspdf`

# Summary

This package contains type definitions for jsPDF (https://github.com/MrRio/jsPDF), for `1.5.3` version

# Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jspdf.

# Credits

These definitions were written by Amber Schühmacher (https://github.com/amberjs), Kevin Gonnord (https://github.com/lleios), Jackie Weng (https://github.com/jemerald), Frank Brullo (https://github.com/frankbrullo), and Leon Montealegre (https://github.com/leonmontealegre).
npm package: @krzysieq/randomid
Description: Simple tool for generating random IDs.
Author: KrzysieQ
Latest version: 1.0.1

# RandomID generator
Simple tool for generating random IDs.

## Installation
To use the generator, install package by running the following command.
```
npm i npm i @krzysieq/randomid
```

## Usage
```javascript
const randomId = require('@krzysieq/randomid');
const id = randomId(10);

console.log(id); // KjmILIqHbn
```

## License
This project is licensed under the MIT License.
npm package: @krzysztof.piatkowski/id-generator
Description: Prosty generator unikalnych identyfikatorów losowych w postaci 10 losowych znaków.
Latest version: 1.0.2

# @krzysztof.piatkowski/id-generator

Prosty generator unikalnych identyfikatorów losowych w postaci 10 losowych znaków.

## Instalacja

```bash
npm install @krzysztof.piatkowski/id-generator
# lub
yarn add @krzysztof.piatkowski/id-generator

Funkcja zwraca ciąg składający się z losowych liter (małych i wielkich) oraz cyfr.

Licencja
MIT – możesz swobodnie używać, modyfikować i rozpowszechniać paczkę.

Autor
Krzysztof Piątkowski