> For the complete documentation index, see [llms.txt](https://katxupa.gitbook.io/katxupa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://katxupa.gitbook.io/katxupa/get-a-taste-of-katxupa/installation.md).

# Installation

<figure><img src="https://3490243500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmjbjQsEf3GbVFMNGZDB3%2Fuploads%2FKvS3xabuvVNk2CF7ulIq%2Fprato-katxupa.png?alt=media&amp;token=45a70d76-7a7f-4198-9c23-a5ab07d7ed53" alt=""><figcaption><p>Yes, you should taste it!</p></figcaption></figure>

If you still feel the taste of the beautiful *Katxupa* in your mouth, please take another glass of wine, and let's explore how the extension library can bring a delightful touch to your *TypeScript* and *JavaScript* projects.&#x20;

From functional programming utilities to time handling and result handling, **Katxupa** is here to make your coding journey *more enjoyable*.

### Installation

This package is build up with simplicity in mind, brings no additional dependencies, and it's published in NPM <https://www.npmjs.com/package/katxupa>.

It can be installed using your preferred package manager.

{% tabs %}
{% tab title="NPM" %}

```sh
npm install katxupa
```

{% endtab %}

{% tab title="PNPM" %}

```sh
pnpm add katxupa
```

{% endtab %}

{% tab title="YARN" %}

```sh
yarn add katxupa
```

{% endtab %}
{% endtabs %}

{% hint style="danger" %}
**Important:** Now you need to do a global import. Please import it in your main/entrypoint file. No need to import it in each file for global functions.<br>

```typescript
import "katxupa"; // Required for Katxupa library
```

{% endhint %}

<figure><img src="https://3490243500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmjbjQsEf3GbVFMNGZDB3%2Fuploads%2FwLU0C32E3Fzw4TjTWeRe%2Feslint.png?alt=media&amp;token=34a8907f-f40c-4dd1-8067-d76f4ef3967e" alt=""><figcaption></figcaption></figure>

To make sure [ESLint](https://eslint.org/) is able to recognise and validate type extensions and global functions, [eslint-config-katxupa](https://github.com/manusant/eslint-config-katxupa) is provided and should be configured for your project when using **Katxupa** + **ESLint**.

**ESLint plugin configuration**

* [ ] Install the dependency

{% tabs %}
{% tab title="NPM" %}

```sh
npm install --save-dev eslint-config-katxupa
```

{% endtab %}

{% tab title="PNPM" %}

```sh
pnpm add --save-dev eslint-config-katxupa
```

{% endtab %}

{% tab title="YARN" %}

```sh
yarn add --dev eslint-config-katxupa
```

{% endtab %}
{% endtabs %}

* [ ] Activate ESLint config (*.eslintrc.js*)

```javascript
module.exports = {
    root: true,
    env: {node: true},
    extends: ["eslint:recommended", "katxupa"],
   ...
};
```
