open-index/open-npm huggingface dataset:
npm package: @programic/eslint-config-base
Description: Programic's base JS ESLint config, following our styleguide.
Author: Thimon Wentink
Latest version: 8.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @programic/eslint-config-base

[![npm version](https://badge.fury.io/js/@programic%2Feslint-config-base.svg)](https://badge.fury.io/js/@programic%2Feslint-config-base)

This package provides Programic's EcmaScript .eslintrc (without Vue/TypeScript plugins) as an extensible shared config.

## Usage

Our default export contains all of our EcmaScript rules, including ECMAScript 6+.

1. Install `@programic/eslint-config-base` as a dev dependency in your project with npm or yarn:

  ```sh
  npm install @programic/eslint-config-base --save-dev
  ```
  ```sh
  yarn add @programic/eslint-config-base --dev
  ```

2. Install the correct versions of each peer dependency, which are listed by the command:

  ```sh
  npm info "@programic/eslint-config-base@latest" peerDependencies
  ```

<details>
  <summary>Want to see shortcuts on how to do this? Click here!</summary>

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @programic/eslint-config-base
  ```

  If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
  Otherwise, run `npm info "@programic/eslint-config-base@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.


  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG=@programic/eslint-config-base;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
    npm install --save-dev @programic/eslint-config-base eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev @programic/eslint-config-base
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-base eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```
</details>

3. Add `"@programic/eslint-config-base"` to `extends` in your .eslintrc.

4. Add a lint script to your package.json: `eslint . --ext .js,.jsx` so you can run `npm run lint` or `yarn lint`. The `.` can be replaced with the path to your files. Replace the lint script if it already exists.
npm package: @programic/eslint-config-typescript
Description: Programic's Typescript ESLint config, following our styleguide.
Author: Thimon Wentink
Latest version: 12.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @programic/eslint-config-typescript

[![npm version](https://badge.fury.io/js/@programic%2Feslint-config-typescript.svg)](https://badge.fury.io/js/@programic%2Feslint-config-typescript)

This package provides Programic's EcmaScript + TypeScript .eslintrc as an extensible shared config.

## Usage

Our default export contains all of our EcmaScript and TypeScript rules.

1. Install `@programic/eslint-config-typescript` as a dev dependency in your project with npm or yarn:

  ```sh
  npm install @programic/eslint-config-typescript --save-dev
  ```
  ```sh
  yarn add @programic/eslint-config-typescript --dev
  ```

2. Install the correct versions of each peer dependency, which are listed by the command:
  ```sh
  npm info "@programic/eslint-config-typescript@latest" peerDependencies
  ```

<details>
  <summary>Want to see shortcuts on how to do this? Click here!</summary>

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @programic/eslint-config-typescript
  ```

  If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
  Otherwise, run `npm info "@programic/eslint-config-typescript@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.

  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG=@programic/eslint-config-typescript;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-typescript eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev @programic/eslint-config-typescript
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-typescript eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```
</details>

3. Add `"@programic/eslint-config-typescript"` to `extends` in your .eslintrc.

4. Add a lint script to your package.json: `eslint . --ext .js,.jsx,.ts,.tsx` so you can run `npm run lint` or `yarn lint`. The `.` can be replaced with the path to your files. Replace the lint script if it already exists.
npm package: @programic/eslint-config-vue
Description: Programic's Vue 2 ESLint config, following our styleguide.
Author: Thimon Wentink
Latest version: 8.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @programic/eslint-config-vue

[![npm version](https://badge.fury.io/js/@programic%2Feslint-config-vue.svg)](https://badge.fury.io/js/@programic%2Feslint-config-vue)

This package provides Programic's EcmaScript + Vue 2 .eslintrc as an extensible shared config.

## Usage

Our default export contains all of our EcmaScript and Vue 2 rules.

1. Install `@programic/eslint-config-vue` as a dev dependency in your project with npm or yarn:

  ```sh
  npm install @programic/eslint-config-vue --save-dev
  ```
  ```sh
  yarn add @programic/eslint-config-vue --dev
  ```

2. Install the correct versions of each peer dependency, which are listed by the command:

  ```sh
  npm info "@programic/eslint-config-vue@latest" peerDependencies
  ```

<details>
  <summary>Want to see shortcuts on how to do this? Click here!</summary>

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @programic/eslint-config-vue
  ```

  If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
  Otherwise, run `npm info "@programic/eslint-config-vue@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.


  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG=@programic/eslint-config-vue;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
    npm install --save-dev @programic/eslint-config-vue eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev @programic/eslint-config-vue
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-vue eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```
</details>

3. Add `"@programic/eslint-config-vue"` to `extends` in your .eslintrc.

4. Add a lint script to your package.json: `eslint . --ext .js,.jsx,.vue` so you can run `npm run lint` or `yarn lint`. The `.` can be replaced with the path to your files. Replace the lint script if it already exists.
npm package: @programic/eslint-config-vue-typescript
Description: Programic's Vue + Typescript ESLint config, following our styleguide.
Author: Thimon Wentink
Latest version: 12.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @programic/eslint-config-vue-typescript

[![npm version](https://badge.fury.io/js/@programic%2Feslint-config-vue-typescript.svg)](https://badge.fury.io/js/@programic%2Feslint-config-vue-typescript)

This package provides Programic's JS + Vue 2 + TypeScript .eslintrc as an extensible shared config.

## Usage

Our default export contains all of our ESLint, Vue 2 and TypeScript rules.

1. Install `@programic/eslint-config-vue-typescript` as a dev dependency in your project with npm or yarn:

  ```sh
  npm install @programic/eslint-config-vue-typescript --save-dev
  ```
  ```sh
  yarn add @programic/eslint-config-vue-typescript --dev
  ```


2. Install the correct versions of each peer dependency, which are listed by the command:
  ```sh
  npm info "@programic/eslint-config-vue-typescript@latest" peerDependencies
  ```

<details>
  <summary>Want to see shortcuts on how to do this? Click here!</summary>

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @programic/eslint-config-vue-typescript
  ```

  If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
  Otherwise, run `npm info "@programic/eslint-config-vue-typescript@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.

  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG=@programic/eslint-config-vue-typescript;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-vue-typescript eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev @programic/eslint-config-vue-typescript
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-vue-typescript eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```
</details>

3. Add `"programic-vue-typescript"` to `extends` in your .eslintrc.

4. Add a lint script to your package.json: `eslint . --ext .js,.jsx,.vue,.ts,.tsx` so you can run `npm run lint` or `yarn lint`. The `.` can be replaced with the path to your files. Replace the lint script if it already exists.
npm package: @programic/eslint-config-vue3
Description: Programic's Vue 3 ESLint config, following our styleguide.
Author: Thimon Wentink
Latest version: 6.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @programic/eslint-config-vue3

[![npm version](https://badge.fury.io/js/@programic%2Feslint-config-vue3.svg)](https://badge.fury.io/js/@programic%2Feslint-config-vue3)

This package provides Programic's EcmaScript + Vue 3 .eslintrc as an extensible shared config.

## Usage

Our default export contains all of our EcmaScript and Vue 3 rules.

1. Install `@programic/eslint-config-vue3` as a dev dependency in your project with npm or yarn:

  ```sh
  npm install @programic/eslint-config-vue3 --save-dev
  ```
  ```sh
  yarn add @programic/eslint-config-vue3 --dev
  ```

2. Install the correct versions of each peer dependency, which are listed by the command:

  ```sh
  npm info "@programic/eslint-config-vue3@latest" peerDependencies
  ```

<details>
  <summary>Want to see shortcuts on how to do this? Click here!</summary>

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @programic/eslint-config-vue3
  ```

  If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
  Otherwise, run `npm info "@programic/eslint-config-vue3@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.


  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG=@programic/eslint-config-vue3;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
    npm install --save-dev @programic/eslint-config-vue3 eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev @programic/eslint-config-vue3
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-vue3 eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```
</details>

3. Add `"programic-vue3"` to `extends` in your .eslintrc.

4. Add a lint script to your package.json: `eslint . --ext .js,.jsx,.vue` so you can run `npm run lint` or `yarn lint`. The `.` can be replaced with the path to your files. Replace the lint script if it already exists.
npm package: @programic/eslint-config-vue3-typescript
Description: Programic's Vue 3 + Typescript ESLint config, following our styleguide.
Author: Thimon Wentink
Latest version: 10.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @programic/eslint-config-vue3-typescript

[![npm version](https://badge.fury.io/js/@programic%2Feslint-config-vue3-typescript.svg)](https://badge.fury.io/js/@programic%2Feslint-config-vue3-typescript)

This package provides Programic's JS + Vue 3 + TypeScript .eslintrc as an extensible shared config.

## Usage

Our default export contains all of our ESLint, Vue 3 and TypeScript rules.

1. Install `@programic/eslint-config-vue3-typescript` as a dev dependency in your project with npm or yarn:

  ```sh
  npm install @programic/eslint-config-vue3-typescript --save-dev
  ```
  ```sh
  yarn add @programic/eslint-config-vue3-typescript --dev
  ```

2. Install the correct versions of each peer dependency, which are listed by the command:
  ```sh
  npm info "@programic/eslint-config-vue3-typescript@latest" peerDependencies
  ```

<details>
  <summary>Want to see shortcuts on how to do this? Click here!</summary>

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @programic/eslint-config-vue3-typescript
  ```

  If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
  Otherwise, run `npm info "@programic/eslint-config-vue3-typescript@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.

  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG=@programic/eslint-config-vue3-typescript;
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-vue3-typescript eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev @programic/eslint-config-vue3-typescript
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @programic/eslint-config-vue3-typescript eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```
</details>

3. Add `"programic-vue3-typescript"` to `extends` in your .eslintrc.

4. Add a lint script to your package.json: `eslint . --ext .js,.jsx,.vue,.ts,.tsx` so you can run `npm run lint` or `yarn lint`. The `.` can be replaced with the path to your files. Replace the lint script if it already exists.
npm package: @programic/insomnia-plugin-programic-laravel-spa
Description: [![npm version](https://badge.fury.io/js/@programic%2Finsomnia-plugin-laravel-spa.svg)](https://badge.fury.io/js/@programic%2Finsomnia-plugin-laravel-spa)
Author: Rick Bongers
Latest version: 1.0.1

# @programic/insomnia-plugin-laravel-spa

[![npm version](https://badge.fury.io/js/@programic%2Finsomnia-plugin-laravel-spa.svg)](https://badge.fury.io/js/@programic%2Finsomnia-plugin-laravel-spa)

This package is a Insomnia Plugin for a Laravel Spa application
npm package: @programic/queue
Description: A simple queue for JavaScript/TypeScript
Author: Thimon Wentink
Latest version: 1.0.4

# @programic/queue

[![npm version](https://badge.fury.io/js/@programic%2Fqueue.svg)](https://badge.fury.io/js/@programic%2Fqueue)

This is a simple JavaScript/TypeScript queue. It contains a push method to add a task (method) to the queue.

## Simple example
  ```typescript
  import { createQueue } from '@programic/queue';

  const queue = createQueue();

  queue.push(() => 'First task');
  queue.push(async () => 'Second task');
  ```

## Installation
To use this package, install `@programic/queue` as a dependency in your project with npm or yarn:

  ```sh
  npm install @programic/queue --save
  ```
  ```sh
  yarn add @programic/queue
  ```

## Usage
To create a new queue instance, use the `createQueue` method (like the example above). It has one parameter `numberOfParallelTasks` which is `1` by default. You can provide a higher value to run multiple tasks simultaneously.

## Queue instance properties and methods
Every queue instance has the following methods and properties:

- `enqueuedTasks` (property: array) contains the tasks that are waiting to be fired
- `runningTasks` (property: Task[]) contains the tasks that are currently running
- `failedTasks` (property: FailedTask[]) contains the failed tasks with meta info like the error
- `isRunning` (method: boolean) indicates if the queue is running
- `push` (method: void) method to push a new task to the queue
npm package: @programie/searchqueryparser
Description: A simple parser for search query strings
Author: Programie
Latest version: 1.0.0

# Search Query Parser

A simple parser for search query strings.

## Usage

The main class of this library is `SearchQueryParser`. Initialize it with the query string to parse (see details bellow) and use it to check whether the supplied query matches something.

The method `matchesEntry` of the `SearchQueryParser` instance can be used to check whether the query matches a given entry. An entry is a plain JavaScript object where each property is the field to match and each property value the value to match.

## Query syntax

The search query syntax is very basic but should be enough in most cases.

Every phrase is separated by spaces which means "AND". Connecting phrases using "OR" instead of "AND" is also possible by separating the phrases using `~`.

Example of "AND" connected phrases:
```
something anotherthing
```

Example of "OR" connected phrases:
```
something~anotherthing
```

Add quotes around a string if it contains spaces:
```
something "another thing"
```

To combine "AND" as well as "OR" in a query, use round brackets:
```
something anotherthing (me~you)
```

Brackets can also be nested:
```
(something (anotherthing~anything)) (me~you)
```

To exclude specific phrases, add `-` in front of the phrase:
```
from:me -to:someone

to:someone -hello

from:someone -excludethis -"exclude that"
```

## Examples

### Basic queries

```javascript
let parser = new SearchQueryParser('somefield:"some value" hello world');

// This will match as "somefield" contains "some value", any field ("anotherfield" in this case) contains "hello" and any field ("someotherfield" in this case) contains "world"
parser.matchesEntry({
    somefield: "This is some value",
    anotherfield: "Hello",
    someotherfield: "World"
});

// This won't match as the phrase "world" is missing
parser.matchesEntry({
    somefield: "This is some value",
    anotherfield: "Hello"
});

// This will match again as "world" is contained again
parser.matchesEntry({
    somefield: "This is some value",
    anotherfield: "Hello World"
});

// This will also match even if the order of the searched phrases is different from the actual field content
parser.matchesEntry({
    somefield: "This is some value",
    anotherfield: "World said: Hello"
});
```

### Advanced queries

```javascript
let parser = new SearchQueryParser('(from=me~from=you) (greeting=hello~greeting=hi) "some text"');

// This will match as field "from" exactly matches "me", field "greeting" exactly matches "hello" and field "text" contains "some text"
parser.matchesEntry({
    from: "me",
    greeting: "Hello",
    text: "This is some text to search."
});

// This will also match as field "from" exactly matches "you", field "greeting" exactly matches "hello" and field "text" contains "some text"
parser.matchesEntry({
    from: "me",
    greeting: "Hello",
    text: "This is some text to search."
});
```