open-index/open-npm huggingface dataset:
npm package: @rpapeters/paper-autocomplete
Description: Material Design autocomplete component.
Author: S. Francis
Latest version: 4.0.1

# paper-autocomplete

> Autocomplete component compatible with Polymer 3.x

[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/ellipticaljs/paper-autocomplete)

[![Build Status](https://github.com/Neovici/paper-autocomplete/workflows/Github%20CI/badge.svg)](https://github.com/Neovici/paper-autocomplete/actions?workflow=Github+CI)

[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

`paper-autocomplete` extends earlier efforts such as this
[https://github.com/rodo1111/paper-input-autocomplete](https://github.com/rodo1111/paper-input-autocomplete) to provide
keyboard support, remote binding and results scrolling.

# Installation

``` bash

bower install paper-autocomplete

```

# Usage

```html

<link rel="import" href="bower_components/paper-autocomplete/paper-autocomplete.html">

<paper-autocomplete id="my-id" label="Select" ></paper-autocomplete>

```

# Demo and Docs

http://ellipticaljs.github.io/paper-autocomplete/

**Important: The demos only work with browers which are ES2015/ES6 compatible.**. This component is compatible with older
browsers as well, but the code need to be transpiled to ES5. `polymer build` and `polymer serve` can do that for you.
This code from this page is not transpiled.

# Want to contribute?

Check out our [Contributing guide](./CONTRIBUTING.md)!

# For Developers

## Getting Started

Clone the repository and run:

`npm install`

## How to run the project

You just need

## How to run the project with Polymer 1.x and Polymer 2
This component runs in Polymer hybrid mode, that means it can run in a Polymer 1.x or Polymer 2.x app.
```
npm run variants
```
After running this command, it will open two different ports  in the dev browser with Polymer 1.x and Polymer 2.x

## How to run the tests

### Localy

In order to run the tests you have two option. You can either run:

```
npm run test
```

### Remote (in Saucelabs)

```
npm run test:remote
```
> You must set these two environment variables: `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` before running remote tests.


## How to *lint* the project

```
npm run lint
```
npm package: @rpappa/create
Description: Personalized TypeScript project template, includes the following:
Author: rpappa
Latest version: 0.3.2

# @rpappa/create

Personalized TypeScript project template, includes the following:

-   TypeScript
-   Opinionated linting / formatting
-   Testing, with vitest
-   Monorepo support with [npm workspaces](https://docs.npmjs.com/cli/v10/using-npm/workspaces)

## Usage

From the directory where you want `package.json` to be, run `npm init @rpappa`

To pass arguments use `npx @rpappa/create [args]` or `npm init @rpappa -- [args]`

If an arugment is not specified the CLI will prompt for it. Allowed arguments:

- `--yes` or `-y` will pass through to initial `npm init` if ran
- `--monorepo` or `-m` will create a monorepo
- `--scope=` (ex `--scope=@foo`) will use the specified scope when creating packages
- `--workspace=[package]` (ex `--workspace=packages/foo`) or `-w [package]` will define a new workspace
  at the specified path. This allows for re-running the script after project creation to initialize a new
  workspace.

For example:

```
npx @rpappa/create -y -m --scope=@foo
```

This will produce a monorepo with scope `@foo` without any intervention.

Or

```
npx @rpappa/create -w packages/newLib
```

To create a new workspace after the first `npm init`.

You may even want to `npm i -D @rpappa/create` after setting up a project, so further uses via npx have their
version controlled by the root package.json.

## Goals

Goals for this project:

1. Reduce setup time for personal TypeScript projects
2. Get more in the habit of using linting and testing for personal projects

Long term I'd like to migrate the TypeScript and eslint configs to their own packages, but this will do for now.
npm package: @rpappa/env
Description: Tagged template literals for environment variables
Author: rpappa
Latest version: 1.1.0

# env

## What is this?

Uses
[Tagged Templates](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates)
to get environment variables, instead of `process.env`.

## Usage

```
import { env, envStr } from '@rpappa/env';

console.log({
    envResult: env`TEST`,
    envStrResult: envStr`TEST`,
});
```

The subtle difference is that envStr returns the empty string when the environment variable isn't set.

```
> node test.js
{ envResult: undefined, envStrResult: '' }
```

```
> TEST=hello node test.js
{ envResult: 'hello', envStrResult: 'hello' }
```

If a variable is required, you can also use `envRequired` or `envRequiredNonEmpty`:

```
import { envRequired, envRequiredNonEmpty } from '@rpappa/env';

try {
    const TEST_A = envRequired`TEST`;
} catch (e) {
    console.error("envRequired threw an error")
    console.log(e);
}

try {
    const TEST_B = envRequiredNonEmpty`TEST`;
} catch (e) {
    console.error("envRequiredNonEmpty threw an error")
    console.log(e);
}
```

In this case, `envRequired` will throw an error if the variable is not set, and `envRequiredNonEmpty` will throw an
error if the variable is not set or is set to the empty string.

### Note on escaping

Under the hood both `env` and `envStr` call
[String.raw](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw), so
substitutions are processed, but escape sequences are not. This is likely an edge case for environment variables, but
nonetheless this gives the following test case:

```js
process.env[String.raw`TEST\ENV`] = 'test';

expect(env`TEST\ENV`).toBe('test');
expect(env`TESTENV`).toBe(undefined);
expect(env`TEST\\ENV`).toBe(undefined);
```
npm package: @rpappa/hushagent
Description: WIP
Latest version: 0.0.1

# hushagent

WIP

As information is becoming more and more valuable, it's important to protect it. This is a simple technique that will
mask the destination of your requests.

To illustrate, let's say you're using a proxy to make requests to `httpbin.org`, `www.wikipedia.org`, and
`www.cloudflare.com`.

Instead of your proxy provider seeing:

```
1701633972.803   1003 $SERVER_IP TCP_TUNNEL/200 6186 CONNECT httpbin.org:443 $USER HIER_DIRECT/54.83.155.149 -
1701633973.092    211 $SERVER_IP TCP_TUNNEL/200 28332 CONNECT www.wikipedia.org:443 $USER HIER_DIRECT/208.80.154.224 -
1701633973.346    161 $SERVER_IP TCP_TUNNEL/200 71077 CONNECT www.cloudflare.com:443 $USER HIER_DIRECT/104.16.124.96 -
```

Why not have them see this instead:

```
1701633974.303    817 $SERVER_IP TCP_TUNNEL/200 6215 CONNECT 75.101.131.185:443 $USER HIER_DIRECT/75.101.131.185 -
1701633975.058    490 $SERVER_IP TCP_TUNNEL/200 28331 CONNECT 208.80.154.224:443 $USER HIER_DIRECT/208.80.154.224 -
1701633975.849    284 $SERVER_IP TCP_TUNNEL/200 71134 CONNECT 104.16.124.96:443 $USER HIER_DIRECT/104.16.124.96 -
```

## Usage

```typescript
import { hush } from "@rpappa/hushagent";

const hushedAgent = hush(YOUR_AGENT_HERE);
```

## Performance

```
 BENCH  Summary

  without hush - test/index.bench.ts > requests to localhost
    1.09x faster than with hush

  without hush - test/index.bench.ts > requests to httpbin with proxy
    1.05x faster than with hush
```

Likely some improvements to be made, haven't tested "in the real world"

## Limitations

The assumed threat model for this is you have a malicious proxy provider. If you have a malicious proxy provider that is
trying to figure out what you might be doing, this will help mask the destination of your requests.

However, if you easily determine the destination of your request based on the IP address, this will not help you. For
example, if you are directly hitting origin servers, or if reverse DNS is possible. But, if the domain name resolves to
a large CDN, this may provide some protection.
npm package: @rpascene/core
Description: RPA Automate browser actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML.
Latest version: 0.30.18

## Documentation

Automate browser actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML.

 
## License

Rpascene is MIT licensed.
npm package: @rpascene/web
Description: RPA Automate browser actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML.
Latest version: 0.30.18

## Documentation

Automate UI actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML.

 
## License

Rpascene is MIT licensed.
npm package: @rpavlenko.sinova/prettier-config
Description: Sinova Development repos configs
Latest version: 1.0.38

# Sinova Prettier Config

Configuration for Sinova Development projects.

## Installation

```bash
npm install @rpavlenko.sinova/prettier-config
```

or

```bash
pnpm add @rpavlenko.sinova/prettier-config
```

## Quick Setup

For basic setup of all tools, run:

```bash
npx sinova-general-config-init
```

## Configurations

### Prettier Configuration

**Main settings:**

```javascript
{
  printWidth: 120,
  trailingComma: 'all',
  singleQuote: true,
  singleAttributePerLine: true
}
```

**Required plugins:**

- `prettier-plugin-tailwindcss` - Automatic Tailwind CSS class sorting

**Install Prettier only:**

```bash
npx sinova-prettier-init
```

### Husky Configuration

**Pre-commit hooks:**

```bash
pnpm run pre-commit
```

**Install Husky only:**

```bash
npx sinova-husky-init
```

### Lint-staged Configuration

**Default settings:**

```json
{
  "lint-staged": {
    "**/*": "prettier --write --ignore-unknown"
  }
}
```

## Scripts

After installation, the following scripts are added to `package.json`:

```json
{
  "scripts": {
    "format": "prettier . --write --log-level=warn",
    "format:check": "prettier . --check --log-level=warn",
    "pre-commit": "pnpm install && git add pnpm-lock.yaml && pnpm lint-staged --allow-empty && tsc --noEmit"
  }
}
```