open-index/open-npm huggingface dataset:
npm package: @profi.co/biome-config
Description: A shared Biome config used by Profico
Author: Omar Zunic
Latest version: 1.0.1

# Biome configuration, by Profico 

![NPM Version](https://img.shields.io/npm/v/%40profi.co%2Fbiome-config)
[![Checked with Biome](https://img.shields.io/badge/Checked_with-Biome-60a5fa?style=flat&logo=biome)](https://biomejs.dev)

This plugin is the spiritual successor to [eslint-plugin-profico](https://github.com/profico/eslint-plugin-profico), whose dependencies will not be updated to ESLint v9. It's still fine to use with earlier versions.

The major change is that this configuration uses [Biome](https://biomejs.dev/) instead of ESLint and Prettier. 

Most of the rules ([including style guides](https://github.com/profico/react-boilerplate/blob/master/style-guide.md)) have been replicated, if not all of them. Submit an issue if something looks off.

## Installation

Install `@profi.co/biome-config` with npm/pnpm/bun/yarn:

```zsh
npm install -D @profi.co/biome-config
pnpm add -D @profi.co/biome-config
yarn add -D @profi.co/biome-config
bun add -d @profi.co/biome-config
```

## Usage

To use it, [after installing biome](https://biomejs.dev/guides/getting-started/#configuration) in your project, edit the `biome.json` file to include an `extends` field

```json
{
  "extends": ["@profi.co/biome-config"]
}
```
npm package: @profi.co/eslint-config
Description: ESLint rules for company's projects
Author: Filip Polić
Latest version: 1.0.3

# ESLint config by Profico

This config is used to enforce some ESLint rules Profico developers use on a day-to-day basis.

## Current configurations

- `recommended` (set of recommended rules, extends `@typescript-eslint/recommended`, `airbnb-base` and `prettier` config)
- `nest` (set of rules for NestJS, extended from `base` config)
- `react` (set of rules for React, extended from `base` config)
- `next` (set of rules for Next.js, extended from `react` config)

## Installation

Install with npm:

```
npm install --save-dev @profi.co/eslint-config
```

or with yarn:

```
yarn add --dev @profi.co/eslint-config
```

## Usage

To use the `recommended` config, add `@profi.co` to the `"extends"` array in your `.eslintrc` file in one of the following ways:

```json
{
  "extends": ["@profi.co"]
}
```

or

```json
{
  "extends": ["@profi.co/recommended"]
}
```

To use any of the other provided configurations, just replace `recommended` with the name of the configuration. For example:

```json
{
  "extends": ["@profi.co/react"]
}
```
npm package: @profi.co/eslint-plugin
Description: ESLint plugin and configurations by Profico
Author: Filip Polić
Latest version: 2.0.0

# ESLint plugin by Profico

This plugin is used to enforce some ESLint rules Profico developers use on a day-to-day basis.

## Installation

Install `@profi.co/eslint-plugin` with npm:

```
npm install --save-dev @profi.co/eslint-plugin
```

or with yarn:

```
yarn add --dev @profi.co/eslint-plugin
```

## Usage

To use the recommended rules, add our plugin to your `.eslintrc` file:

```json
{
  "extends": ["plugin:@profi.co/recommended"]
}

// or configure manually:
{
  "plugins": ["@profi.co"],
  "rules": {
    "@profi.co/lodash-imports": ["error"],
    "@profi.co/grouped-imports": ["error"],
    "@profi.co/dto-decorators": ["error"],
    "@profi.co/ordered-controllers-params": ["error"]
  }
}
```

The following checklist shows what we have implemented and what we plan on implementing in the near future:

### <a name="lodash-imports">lodash-imports</a>

- [x] Default import lodash modules instead of importing the whole library or parts of it:

```tsx
// Bad
import _ from "lodash"; // Not fixable
import { get, pick } from "lodash"; // Fixable

// Good
import get from "lodash/get";
import pick from "lodash/pick";
```

### <a name="grouped-imports">grouped-imports</a>

- [x] Automatically group import statements according to our style guide:
      https://github.com/profico/react-boilerplate/blob/master/style-guide.md

- [ ] Include comments as part of import statements
- [ ] Sort each import group alphabetically

### <a name="dto-decorators">dto-decorators</a>

```tsx
// Bad
@IsString()
@ApiProperty()
public classProperty: string;

// Good
@ApiProperty()
@IsString()
public classProperty: string;
```

### <a name="ordered-controller-params">ordered-controller-params</a>

```tsx
// Bad
public findAll(
  @Req() req: ProficoRequest,
  @Query() queryParams: QueryParams,
  @Custom2() customParam2: CustomParam,
  @Custom1() customParam1: CustomParam,
) {
  return this.service.find();
}

// Good
public findAll(
  @Query() queryParams: QueryParams,
  @Req() req: ProficoRequest,
  @Custom1() customParam1: CustomParam,
  @Custom2() customParam2: CustomParam,
) {
  return this.service.find();
}
```

<br />
      
> Also take a look at our own ESLint config: https://github.com/profico/eslint-config-profico
npm package: @proficient/ds
Description: High-quality and essential Typescript data structures
Author: Anar Kafkas
Latest version: 0.3.2

<h1 align="center">
  <a href="https://kafkas.github.io/proficient/ds">
    @proficient/ds
  </a>
</h1>

<p align="center">
    High-quality and essential TypeScript data structures
</p>

---

<p align="center">
    <a href="https://github.com/kafkas/proficient/blob/main/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="Proficient is released under the MIT license." /></a>
    <a href="https://npmjs.com/package/@proficient/ds" alt="Version">
        <img src="https://img.shields.io/npm/v/@proficient/ds" /></a>
    <a href="https://npmjs.com/package/@proficient/ds" alt="Size">
        <img src="https://img.shields.io/bundlephobia/min/@proficient/ds" /></a>
    <a href="https://npmjs.com/package/@proficient/ds" alt="Downloads">
        <img src="https://img.shields.io/npm/dm/@proficient/ds" /></a>
    <a href="https://" alt="Types">
        <img src="https://img.shields.io/npm/types/@proficient/ds" /></a>
    <a href="https://lerna.js.org/" alt="Framework">
        <img src="https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg" /></a>
    <a href="https://github.com/kafkas/proficient">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" /></a>
</p>

[**View the full documentation (docs) ▸**](https://kafkas.github.io/proficient/ds)

## Overview

1. [Installation](#Installation)
2. [API](#API)
3. [Upgrading](#Upgrading)
4. [License](#License)

## Installation

```
# npm
npm install -E @proficient/ds

# yarn
yarn add -E @proficient/ds
```

## [API](https://kafkas.github.io/proficient/ds)

### [FrequencyTable](https://kafkas.github.io/proficient/ds/0.3/classes/FrequencyTable.html)

An object that can be used to efficiently store and manage the frequencies of the specified keys.

### [SLLQueue](https://kafkas.github.io/proficient/ds/0.3/classes/SLLQueue.html)

A FIFO queue implemented with a singly-linked list.

### [StringBuilder](https://kafkas.github.io/proficient/ds/0.3/classes/StringBuilder.html)

An object that represents a mutable sequence of characters.

## Upgrading

Until we release v1, there may be breaking changes between minor versions (e.g. when upgrading from 0.2 to 0.3). However, all breaking changes will be documented and you can always use our [Releases](https://github.com/kafkas/proficient/releases) page as a changelog.

## License

This project is made available under the MIT License.
npm package: @proficient/util
Description: High-quality and essential Typescript utilities
Author: Anar Kafkas
Latest version: 0.2.2

<h1 align="center">
  <a href="https://kafkas.github.io/proficient/util">
    @proficient/util
  </a>
</h1>

<p align="center">
    High-quality and essential TypeScript utilities
</p>

---

<p align="center">
    <a href="https://github.com/kafkas/proficient/blob/main/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="Proficient is released under the MIT license." /></a>
    <a href="https://npmjs.com/package/@proficient/util" alt="Version">
        <img src="https://img.shields.io/npm/v/@proficient/util" /></a>
    <a href="https://npmjs.com/package/@proficient/util" alt="Size">
        <img src="https://img.shields.io/bundlephobia/min/@proficient/util" /></a>
    <a href="https://npmjs.com/package/@proficient/util" alt="Downloads">
        <img src="https://img.shields.io/npm/dm/@proficient/util" /></a>
    <a href="https://" alt="Types">
        <img src="https://img.shields.io/npm/types/@proficient/util" /></a>
    <a href="https://lerna.js.org/" alt="Framework">
        <img src="https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg" /></a>
    <a href="https://github.com/kafkas/proficient">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" /></a>
</p>

[**View the full documentation (docs) ▸**](https://kafkas.github.io/proficient/util)

## Overview

1. [Installation](#Installation)
2. [API](#API)
3. [Upgrading](#Upgrading)
4. [License](#License)

## Installation

```
# npm
npm install -E @proficient/util

# yarn
yarn add -E @proficient/util
```

## [API](https://kafkas.github.io/proficient/util)

### [makeRetriable](https://kafkas.github.io/proficient/util/0.2/modules.html#makeRetriable)

Creates a retriable version of a given function, which, when invoked, is continuously retried according to the specified retry config until it succeeds. The new function returns a Promise that resolves when the original function succeeds or `maxTrialCount` is reached.

### [registerInterval](https://kafkas.github.io/proficient/util/0.2/modules.html#registerInterval)

Registers an async callback that keeps running in the background until it is unregistered. Waits for the callback Promise to resolve and sleeps for an additional `duration` ms and invokes the callback again.

### [sleep](https://kafkas.github.io/proficient/util/0.2/modules.html#sleep)

Sleeps for a specified number of milliseconds.

## Upgrading

Until we release v1, there may be breaking changes between minor versions (e.g. when upgrading from 0.2 to 0.3). However, all breaking changes will be documented and you can always use our [Releases](https://github.com/kafkas/proficient/releases) page as a changelog.

## License

This project is made available under the MIT License.