open-index/open-npm huggingface dataset:
npm package: @prescient-devices/node-red-contrib-downloadfile
Description: Opens web browser file save dialog and saves the payload received to a file in the local filesystem
Author: Pablo Acosta-Serafini
Latest version: 1.1.1

node-red-contrib-downloadfile
=============================

> [!CAUTION]
> This package has been deprecated, for new installations please use
> [@prescient-devices-oss/node-red-contrib-downloadfile](https://flows.nodered.org/node/@prescient-devices/node-red-contrib-downloadfile)

A node to download a message's payload to the browser's local file system

### Installation

Node-RED editor's palette manager may be used to install the node.
Alternatively, the command line may also be used to install the node with the
following commands (assuming the user's Node-RED directory is
`${HOME}/.node-red`):

    $ cd "${HOME}"/.node-red
    $ npm install --production node-red-contrib-downloadfile
    [...]

### Node

 - downloadfile

### Running Tests

The development dependencies need to be installed before running the test-bench.
This can be accomplished with the following commands (assuming
`${HOME}/node-red-contrib-downloadfile` is the node's development directory
where the node's `package.json` is):

    $ cd "${HOME}"/node-red-contrib-downloadfile
    $ npm install
    [...]

Then to run the tests:

    $ cd "${HOME}"/node-red-contrib-downloadfile
    $ npm test
    [...]

### Contributing / Fixes

An issue may be raised for typos and single-line fixes. A pull request may be
opened in the node's GitHub
[repository](https://github.com/prescient-devices/PD-Nodes) for more complex
fixes and/or contributions.

### Copyright and license

Copyright Prescient Devices, Inc. under the MIT license, which is in the LICENSE
file.
npm package: @prescient-devices/node-red-contrib-fan-in-out
Description: Helps to fan in and label multiple inputs to a subflow and then fan out those inputs inside the subflow.
Author: Pablo Acosta-Serafini
Latest version: 1.0.4

@prescient-devices/node-red-contrib-fan-in-out
============================================

> [!CAUTION]
> This package has been deprecated, for new installations please use
> [@prescient-devices-oss/node-red-contrib-fan-in-out](https://flows.nodered.org/node/@prescient-devices/node-red-contrib-fan-in-out)

A pair of nodes that makes it easier and faster to have a subflow with multiple
(virtual inputs).

### Installation

Node-RED editor's palette manager may be used to install the node.
Alternatively, the command line may also be used to install the node with the
following commands (assuming the user's Node-RED directory is
`${HOME}/.node-red`):

    $ cd "${HOME}"/.node-red
    $ npm install --production node-red-contrib-faninout
    [...]

### Nodes

 - fanin
 - fanout

### Running Tests

The development dependencies need to be installed before running the test-bench.
This can be accomplished with the following commands (assuming
`${HOME}/node-red-contrib-faninout` is the node's development directory where
the node's `package.json` is):

    $ cd "${HOME}"/node-red-contrib-faninout
    $ npm install
    [...]

Then to run the tests:

    $ cd "${HOME}"/node-red-contrib-faninout
    $ npm test
    [...]

### Contributing / Fixes

An issue may be raised for typos and single-line fixes. A pull request may be
opened in the node's GitHub
[repository](https://github.com/prescient-devices/PD-Nodes) for more complex
fixes and/or contributions.

### Copyright and license

Copyright Prescient Devices, Inc. under the MIT license, which is in the LICENSE
file.
npm package: @prescient-devices/node-red-contrib-fileinput
Description: Asks user to select a file from the browser's file sytem and then emits its contents as a message or messages if the streaming option is selected
Author: Pablo Acosta-Serafini
Latest version: 1.0.4

node-red-contrib-fileinput
==========================

> [!CAUTION]
> This package has been deprecated, for new installations please use
> [@prescient-devices-oss/node-red-contrib-fileinput](https://flows.nodered.org/node/@prescient-devices/node-red-contrib-fileinput)

A node that once its buttons is pressed, prompts user to select a file from the
browser's file system and then emits its contents as a message or a series of
messages if the streaming option is selected.

### Installation

Node-RED editor's palette manager may be used to install the node.
Alternatively, the command line may also be used to install the node with the
following commands (assuming the user's Node-RED directory is
`${HOME}/.node-red`):

    $ cd "${HOME}"/.node-red
    $ npm install --production node-red-contrib-fileinput
    [...]

### Node

 - fileinput

### Running Tests

The development dependencies need to be installed before running the test-bench.
This can be accomplished with the following commands (assuming
`${HOME}/node-red-contrib-fileinput` is the node's development directory where
the node's `package.json` is):

    $ cd "${HOME}"/node-red-contrib-fileinput
    $ npm install
    [...]

Then to run the tests:

    $ cd "${HOME}"/node-red-contrib-fileinput
    $ npm test
    [...]

### Contributing / Fixes

An issue may be raised for typos and single-line fixes. A pull request may be
opened in the node's GitHub
[repository](https://github.com/prescient-devices/PD-Nodes) for more complex
fixes and/or contributions.

### Copyright and license

Copyright Prescient Devices, Inc. under the MIT license, which is in the LICENSE
file.
npm package: @prescient-devices/node-red-contrib-promptinput
Description: Emits an output message based on user input entered via browser's prompt.
Author: Pablo Acosta-Serafini
Latest version: 1.2.4

node-red-contrib-promptinput
============================

> [!CAUTION]
> This package has been deprecated, for new installations please use
> [@prescient-devices-oss/node-red-contrib-promptinput](https://flows.nodered.org/node/@prescient-devices/node-red-contrib-promptinput)

A node that once its button is pressed or it receives a message, prompts the
user for input and emits a message with that input converted to a desired data
type. An optional JSONata expression can be used to validate the input and emit
a message only when the validation succeeds.

### Installation

Node-RED editor's palette manager may be used to install the node.
Alternatively, the command line may also be used to install the node with the
following commands (assuming the user's Node-RED directory is
`${HOME}/.node-red`):

    $ cd "${HOME}"/.node-red
    $ npm install --production node-red-contrib-promptinput
    [...]

### Node

 - promptinput

### Running Tests

The development dependencies need to be installed before running the test-bench.
This can be accomplished with the following commands (assuming
`${HOME}/node-red-contrib-promptinput` is the node's development directory where
the node's `package.json` is):

    $ cd "${HOME}"/node-red-contrib-promptinput
    $ npm install
    [...]

Then to run the tests:

    $ cd "${HOME}"/node-red-contrib-promptinput
    $ npm test
    [...]

### Contributing / Fixes

An issue may be raised for typos and single-line fixes. A pull request may be
opened in the node's GitHub
[repository](https://github.com/prescient-devices/PD-Nodes) for more complex
fixes and/or contributions.

### Copyright and license

Copyright Prescient Devices, Inc. under the MIT license, which is in the LICENSE
file.
npm package: @prescott/commitlint-preset
Description: commitlint rules for personal projects.
Author: MooYeol Prescott Lee
Latest version: 1.0.9

# @prescott/commitlint-preset

A common [commitlint](https://github.com/conventional-changelog/commitlint) preset for personal TypeScript projects.

## IMPORTANT NnOTE

This preset requires global installation of `commitizen`. Make sure `commitizen` is installed globally: 

```bash
$ npm install commitizen -g
```

## Local Setup

If you want to lint commit message via Git hook to enforce commit message style in local dev environment, 
Follow these instructions.

In this setup, You have to install additional [`husky`](https://github.com/typicode/husky) dependency. 

```bash
$ npm install @prescott/commitlint-preset husky --save-dev
```

Add the following to `package.json`

```json
{
  "config": {
    "commitizen": {
      "path": "cz-conventional-changelog"
    }
  },
  "husky": {
    "hooks": {
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "commitlint": {
    "extends": [
      "@prescott/commitlint-preset"
    ]
  }
}
```

Done. There is no any additional steps to check commit message. 
commitlint will be automatically executed every commits.


## CI Setup

If you want to lint commit message via CI environment, Follow these instructions.

In this setup, `husky` is not required.

Add the following to `package.json`

```json
{
  "config": {
    "commitizen": {
      "path": "cz-conventional-changelog"
    }
  },
  "commitlint": {
    "extends": [
      "@prescott/commitlint-preset"
    ]
  }
}
```

Done. 
Please follow below steps to execute commitlint.

#### Github Actions

Add following to workflow.yml

```yaml
  steps:
    - name: CommitLint
      run: npx commitlint --from ${{ github.event.before || github.event.head || 'master' }} --verbose
```

#### Travis CI

Install additional dependency:

```bash
$ npm install @commitlint/travis-cli --save-dev
```

Add following to travis.yml

```yaml
# travis.yml
language: node_js
script:
  - commitlint-travis
```

#### Other CI Environments

Execute following to check commit message:

```bash
$ npx run commitlint --from [COMMIT_SHA1] --to [COMMIT_SHA1]
```


## Commit Helpers

![cz-cli](https://github.com/commitizen/cz-cli/raw/master/meta/screenshots/add-commit.png)

[`cz-cli`](https://github.com/commitizen/cz-cli) provides git extension to create semantic commits.

Simply use `git cz` instead of using `git commit`.
npm package: @prescott/renovate-config
Description: Renovate configurations for personal projects
Author: MooYeol Prescott Lee
Latest version: 1.0.1

# @prescott/renovate-config

A common [Renovate](https://github.com/renovatebot/renovate) configuration for personal projects.

## Setup

```bash
$ npm install @prescott/renovate-config --save-dev
```

Add the following to `renovate.json`

```json
{
  "extends": ["@prescott"]
}
```


### Node.js specific presets

#### Node.js 8

```json
{
  "extends": ["@prescott", "@prescott:nodejs8"]
}
```

#### Node.js 10

```json
{
  "extends": ["@prescott", "@prescott:nodejs10"]
}
```
#### Node.js 12

```json
{
  "extends": ["@prescott", "@prescott:nodejs12"]
}
```


### AWS Lambda specific presets

For AWS Lambda projects, Use following renovate preset:

```json
{
  "extends": ["@prescott", "@prescott:nodejs12", "@prescott:lambda"]
}
```

### Semantic Commit specific presets

For semantic-release dependent projects, Use following renovate preset:

```json
{
  "extends": ["@prescott", "@prescott:semantic-commit"]
}
```
npm package: @prescott/semantic-release-config
Description: semantic-release configuration for personal projects
Author: MooYeol Prescott Lee
Latest version: 1.0.17

# @prescott/semantic-release-config

A common [semantic-release](https://github.com/semantic-release/semantic-release) configuration for personal TypeScript projects.

## Setup

```bash
$ npm install @prescott/semantic-release-config --save-dev
```

Add the following to `.releaserc.json`

```json
{
  "extends": "@prescott/semantic-release-config"
}
```

Add the following to CI Script:

```bash
$ npx semantic-release
```


## Configurations

#### Default

This is commonly used preset.

```json
{
  "extends": "@prescott/semantic-release-config"
}
```


#### Monorepo/Embedded Packages

This is a special configuration for monorepo packages, or embedded packages where package is co-located inside service repository.

For example, Media SDK is located in Media Service repository, and non-sdk related commits are not using semantic-commits.

In this case, Follow below setup steps.

First, Add `semantic-release-commit-filter` package to `devDependencies`:

```bash
$ npm i semantic-release-commit-filter --save-dev --save-exact
```
 
Then, Use following semantic-release configuration:

```json
{
  "extends": ["semantic-release-commit-filter", "@prescott/semantic-release-config"],
  "tagFormat": "[PACKAGE_NAME]-v${version}"
}
```

That's all! Run `semantic-release` inside package directory:

For example:

```bash
$ cd media-sdk
$ npx semantic-release
```

You can also check your configuration before automated release:

```bash
$ npx semantic-release --dry-run
```
npm package: @prescott/tslint-preset
Description: A common TSLint preset for personal TypeScript projects
Author: MooYeol Prescott Lee
Latest version: 1.0.1

# @prescott/tslint-preset

A common TSLint preset for personal TypeScript projects

## Setup

```bash
$ npm install @prescott/tslint-preset --save-dev
```

Add the following to `tslint.json`

```json
{
  "extends": ["@prescott/tslint-preset"]
}
```
npm package: @prescrire/app_discovery
Description: Discovers installed applications in OS
Author: Alexander Nedosekin
Latest version: 5.0.2

# Prerequisites

## Electron

```
import AppDiscovery from '@prescrire/app_discovery/electron';

// the line below links the module with the app 
AppDiscovery.setElectronApp(app);
```

# Usage

## Desktop

```
import AppDiscovery from '@prescrire/app_discovery/desktop';
```

## Cordova

```
import AppDiscovery from '@prescrire/app_discovery/cordova';
```

# Caveats

## Android

### Permissions

Android 12 (API 30) now checks manifested application IDs. Add application IDs to `AndroidManifest.xml` file to `<queries>` section. In cordova 10.x.x `config.xml` it looks like this:
```xml
<config-file target="AndroidManifest.xml" parent="/manifest">
    <queries>
        <package android:name="org.prescrire.guide" />
        <package android:name="org.prescrire.application" />
    </queries>
</config-file>
```
npm package: @prescrire/bridge
Description: A bridge between electron main process, application main process, and iframes of application main process
Author: Alexander Nedosekin
Latest version: 5.0.1

# Embedded Bridge

This Bridge can be embedded into a BrowserView and InAppBrowser. It provides the mentioned windows with access to API methods of the Bridge marked as `external`.
An object `window.EmbeddedBridge` is created in the window scope. There is a public method `window.EmbeddedBridge.api({string}methodName, {object}params)` which returns a promise (this is an async function). It invokes API methods of the app.
In addition, `EmbeddedBridge` invokes `"get-supported-api-methods"`  method automatically on initialization and sets returned results to an attribute named `supported_api_methods` to a `body` element of the auth page:
`<body supported_api_methods="close-authentication get-supported-api-methods">`
This helps to utilize CSS rules like `[supported_api_methods~="close-authentication"] button {display:inline}` to control UI element appearance reflecting API capabilities.

## Usage

Include the script`embedded/index.js` to your page in the end of `<body>` tag:
```html
<html>
    <head>
      ...
    </head>
    <body>
      ...
      <script src="[bridge script path]"></script>
    </body>
</html>
```
npm package: @prescrire/cfg
Description: A CLI tool for running docker compositions, swarms, and managing secrets
Author: Alexander Nedosekin
Latest version: 1.0.4

# Configuration files

1. `package.json`
2. `development.env`
3. `production.env`
4. `.cfg.json`

# Secrets

Put to your `.gitignore` and (in some cases) `.gockerignore` following lines:
```
.cfg.json
.secrets/
```

# Configuration merge priority 

The cfg reads its configuration in multiple places and merges them into one in accordance to a priority below:

1. `.cfg.json` file in project root (should be added to `.gitignore`)
2. `cfg` property in `package.json`
3. `package.json` for props: `name`