open-index/open-npm huggingface dataset:
npm package: @infinum/nextjs-api-dev-proxy
Description: Development API proxy for Next.js pages
Author: Infinum JavaScript Team
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @infinum/nextjs-api-dev-proxy

Development API proxy for Next.js pages. It uses [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) under the hood.

## Installation

```sh
yarn add @infinum/nextjs-api-dev-proxy
# or
npm i @infinum/nextjs-api-dev-proxy
```

## Usage

```ts
// pages/api/[[...slug]].ts
import { createProxy } from '@infinum/nextjs-api-dev-proxy';

export default createProxy(process.env.API_URL);

export const config = {
	api: {
		bodyParser: false, // enable POST requests
		externalResolver: true, // hide warning message
	},
};
```

### Multi env

```ts
// pages/api/[[...slug]].ts
import { createProxy } from '@infinum/nextjs-api-dev-proxy';

let apiUrl: string;
switch (process.env.API_PROXY) {
	case 'production':
		apiUrl = 'http://production.api.com';
		break;
	case 'uat':
		apiUrl = 'http://uat.api.com';
		break;
	case 'dev':
	default:
		apiUrl = 'http://dev.api.com';
}

export default createProxy(apiUrl);

export const config = {
	api: {
		bodyParser: false, // enable POST requests
		externalResolver: true, // hide warning message
	},
};
```

### Custom config

```ts
// pages/api/some/path/[[...slug]].ts
import { createProxy } from '@infinum/nextjs-api-dev-proxy';

export default createProxy(process.env.API_URL, {
	pathRewrite: {
		'^/api/some/path': '/',
	},
	logLevel: NODE_ENV === 'production' ? 'silent' : 'debug',
});

export const config = {
	api: {
		bodyParser: false, // enable POST requests
		externalResolver: true, // hide warning message
	},
};
```

## API

### options

The options extend the [http-proxy-middleware](https://www.npmjs.com/package/http-proxy-middleware) options.

| Name      | Type                                            | Default                                   | Description    |
| --------- | ----------------------------------------------- | ----------------------------------------- | -------------- |
| `disable` | `boolean \| ((req: NextApiRequest) => boolean)` | `process.env.NODE_ENV !== 'development''` | Disable proxy. |

## Contribution

Yes please! See the [contributing guidelines](https://github.com/infinum/react-nuts-and-bolts/blob/master/CONTRIBUTING.md) for details.

## Licence

This project is licensed under the terms of the [MIT license](https://github.com/infinum/react-nuts-and-bolts/blob/master/LICENSE).

# Credits

`nextjsApiDevProxy` is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinum/nextra-theme-blog
Description: A Nextra theme for blogs.
Latest version: 2.13.15

# nextra-theme-blog

A blog site theme for [Nextra](https://github.com/shuding/nextra).

## Example

[site-icp9uk8zq.vercel.app](https://site-icp9uk8zq.vercel.app)
npm package: @infinum/ngx-nuts-and-bolts
Description: Reusable components and helpers for angular projects
Author: Infinum JavaScript Team
Latest version: 5.0.0

# ngx-nuts-and-bolts

[![CI](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml)
[![Build and Deploy documentation](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml)

A collection of commonly used pieces of Angular-related code that we use everyday at Infinum.

## Installation

```bash
ng add @infinum/ngx-nuts-and-bolts
```

For usage inside of the NX monorepo setup, you'll have to firstly install the package using package manager e.g. npm:

```bash
npm install @infinum/ngx-nuts-and-bolts
```

After that you should be able to call the angular schematic via the NX generator like so:

```bash
nx g @infinum/ngx-nuts-and-bolts:<name-of-the-schematic>
```

## Available _nuts and bolts_

For a list of all available _nuts and bolts_ and guidance on how to use them, please check out the [documentation pages](https://infinum.github.io/ngx-nuts-and-bolts/docs).

You can also look at some examples in Storybook.

## Contributing

Please check the [CONTRIBUTING.md](./CONTRIBUTING.md) document.

# License

The [MIT License](./LICENSE)

# Credits

ngx-nuts-and-bolts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinum/ngx-nuts-and-bolts-ssr
Description: Reusable components and helpers for angular projects
Author: Infinum JavaScript Team
Latest version: 4.1.0

# ngx-nuts-and-bolts

[![CI](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml)
[![Build and Deploy documentation](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml)

A collection of commonly used pieces of Angular-related code that we use everyday at Infinum.

## Installation

```bash
ng add @infinum/ngx-nuts-and-bolts
```

For usage inside of the NX monorepo setup, you'll have to firstly install the package using package manager e.g. npm:

```bash
npm install @infinum/ngx-nuts-and-bolts
```

After that you should be able to call the angular schematic via the NX generator like so:

```bash
nx g @infinum/ngx-nuts-and-bolts:<name-of-the-schematic>
```

## Available _nuts and bolts_

For a list of all available _nuts and bolts_ and guidance on how to use them, please check out the [documentation pages](https://infinum.github.io/ngx-nuts-and-bolts/docs).

You can also look at some examples in Storybook.

## Contributing

Please check the [CONTRIBUTING.md](./CONTRIBUTING.md) document.

# License

The [MIT License](./LICENSE)

# Credits

ngx-nuts-and-bolts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinum/plop-next-ts-generators
Description: Next.js generators
Author: Infinum JavaScript Team
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Plop Next.js Generators

## Installation

Install dependencies:

`npm add plop @infinum/plop-next-ts-generators -D`

Create `plopfile.js` in the root of your project:

`touch plopfile.js`

Register generators:

```js
const init = require('@infinum/plop-next-ts-generators');

/**
 * @param {import("plop").NodePlopAPI} plop
 */
module.exports = function main(plop) {
  init(plop, { 
    // Base source code folder, defaults to `./src` but you can set it to `./`
    // baseUrl: './src',

    // For changing components folder URL or name, defaults to `./components` but you can set it to `./components/ui`
    // componentsUrl: './components'
  });
};
```

Add scripts to your package.json:

```json
{
  "scripts": {
    "gen:component": "plop component",
    "gen:theme": "plop theme"
  }
}
```

### ESLint note  
You'll probably need to add this to your `tsconfig.json` file:

```json
  "include": [
    "plopfile.js",
  ]
```

## Component generator
To generate a new component, run the following command:  
```
npm run gen:component
```

## Theme generator
To generate a new theme, run the following command:  
```
npm run gen:theme
```
npm package: @infinum/react-test-utils
Description: Testing utilities that will help you test your react components and hooks
Author: Infinum JavaScript Team
Latest version: 0.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @infinum/react-test-utils

A quick description of the util function.

> This is an internal utility, not intended for public usage.

## Installation

```sh
yarn add @infinum/test-utils
# or
npm i @infinum/test-utils
```

## Contribution

Yes please! See the [contributing guidelines](https://github.com/infinum/react-nuts-and-bolts/blob/master/CONTRIBUTING.md) for details.

## Licence

This project is licensed under the terms of the [MIT license](https://github.com/infinum/react-nuts-and-bolts/blob/master/LICENSE).

# Credits

`testUtils` is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinum/use-merge-refs
Description: An util hook that allows you to easily merge multiple refs into one.
Author: Infinum JavaScript Team
Latest version: 1.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @infinum/use-merge-refs

A quick description of the hook.

> This is an internal utility, not intended for public usage.

## Installation

```sh
yarn add @infinum/use-merge-refs
# or
npm i @infinum/use-merge-refs
```

## Contribution

Yes please! See the [contributing guidelines](https://github.com/infinum/react-nuts-and-bolts/blob/master/CONTRIBUTING.md) for details.

## Licence

This project is licensed under the terms of the [MIT license](https://github.com/infinum/react-nuts-and-bolts/blob/master/LICENSE).

# Credits

`useMergeRefs` is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinum/use-scroll-spy
Description: useScrollSpy hook for React
Author: Infinum JavaScript Team
Latest version: 1.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# useScrollSpy

> Inspiration taken from [Chakra-UI docs page](https://github.com/chakra-ui/chakra-ui-docs/blob/main/src/hooks/use-scrollspy.ts)

## Installation

Install dependencies:

```bash
npm add @infinum/use-scroll-spy
```

## Usage

```tsx
// list of element to spy
const headingIds = ["section-1", "section-2"];

function SectionNavigation() {
  // convert those element to a CSS selectors; in this case `id`s are used
  const selectedId = useScrollSpy(headingIds.map((id) => `[id="${id}"]`));

  return (
    <nav>
      {headingIds.map((id) => (
        <a href={`#${id}`} data-active={selectedId.includes(id)}>
          {id}
        </a>
      ))}
    </nav>
  );
}

function Example() {
  // content is not rerendered on every heading update
  return (
    <main>
      <SectionNavigation />

      {headingIds.map((id) => (
        <section id={id}>
          <h2>{getSectionTitle(id)}</h2>
          <div>{getSectionContent(id)}</div>
        </section>
      ))}
    </main>
  );
}
```
npm package: @infinumjs/cra-starter
Description: Infinum CRA project starter
Author: Infinum
Latest version: 0.2.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Infinum CRA starter

[![npm version](https://badge.fury.io/js/%40infinumjs%2Fcra-starter.svg)](https://badge.fury.io/js/%40infinumjs%2Fcra-starter)
[![Dependency Status](https://david-dm.org/infinum/js-cra-starter.svg)](https://david-dm.org/infinum/js-cra-starter)
[![devDependency Status](https://david-dm.org/infinum/js-cra-starter/dev-status.svg)](https://david-dm.org/infinum/js-cra-starter#info=devDependencies)

## Usage

`npx @infinumjs/cra-starter [modules] <projectName>`

### Modules

* `--jsonapi`, `-j` - Set up the network stack and [`datx-jsonapi`](https://github.com/infinum/datx#mixins)
* `--storybook`, `-s` - Set up the [storybook](https://storybook.js.org/)

## License

The [MIT License](LICENSE)

## Credits

CRA starter is maintained and sponsored by
[Infinum](http://www.infinum.co).

<img src="https://infinum.co/infinum.png" width="264">
npm package: @infinumjs/eslint-config
Description: Infinum's ESLint rules
Author: Infinum JavaScript Team
Latest version: 2.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# eslint-config

This package provides Infinum's ESLint [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install with `npm install --save-dev eslint @infinumjs/eslint-config`.

2. Add `"extends": "@infinumjs"` to your .eslintrc file.

## License

The [MIT License](../LICENSE)

## Credits

eslint-config is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-angular-ts
Description: Infinum's ESLint Angular TypeScript rules
Author: Infinum JavaScript Team
Latest version: 3.5.0

# eslint-config-angular-ts

This package provides Infinum's ESLint Angular [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Quick start

1. Use the Angular CLI to add add `@angular-eslint/schematics`. If you are migrating from TSLint, follow the [migration guide](https://github.com/angular-eslint/angular-eslint#migrating-an-angular-cli-project-from-codelyzer-and-tslint).

   ```sh
   ng add @angular-eslint/schematics
   ```

2. Install the RxJS plugin and Infinum's config.

   ```sh
   npm install --save-dev eslint-plugin-rxjs @infinumjs/eslint-config-angular-ts
   ```

3. Open your project's ESLint config file and add Infinum's config to the `extends` array for TypeScript files.

   ```json
   {
   	"overrides": [
   		{
   			"files": ["*.ts"],
   			"extends": [
   				"plugin:@angular-eslint/recommended",
   				"plugin:@angular-eslint/template/process-inline-templates",
   				"@infinumjs/eslint-config-angular-ts"
   			]
   		}
   	]
   }
   ```

## License

The [MIT License](../LICENSE)

## Credits

@infinumjs/eslint-config-angular-ts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-core-js
Description: Infinum's ESLint core rules
Author: Infinum JavaScript Team
Latest version: 3.5.0

# eslint-config-core-js

This package provides Infinum's ESLint core [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install the required packages:

   ```sh
   npm install --save-dev eslint @infinumjs/eslint-config-core-js
   ```

2. Extend your ESLint config:

   ```json
   {
   	"extends": "@infinumjs/eslint-config-core-js"
   }
   ```

## License

The [MIT License](../LICENSE)

## Credits

@infinumjs/eslint-config-core-js is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-core-ts
Description: Infinum's ESLint core TypeScript rules
Author: Infinum JavaScript Team
Latest version: 3.5.0

# eslint-config-core-ts

This package provides Infinum's ESLint core TypeScript [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install the required packages:

   ```sh
   npm install --save-dev eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser @infinumjs/eslint-config-core-ts
   ```

2. Extend your ESLint config:

   ```json
   {
   	"extends": "@infinumjs/eslint-config-core-ts",
   	"overrides": [
   		{
   			"files": ["*.ts"],
   			"parserOptions": {
   				"project": ["./tsconfig.json"]
   			}
   		}
   	],
   	"parser": "@typescript-eslint/parser"
   }
   ```

## License

The [MIT License](../LICENSE)

## Credits

@infinumjs/eslint-config-core-ts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-nextjs-ts
Description: Infinum's ESLint NextJS TypeScript rules
Author: Infinum JavaScript Team
Latest version: 3.5.0

# eslint-config-nextjs-ts

This package provides Infinum's ESLint NextJS TypeScript [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install the required packages:

   ```sh
   npm install --save-dev eslint eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks eslint-config-next @typescript-eslint/eslint-plugin @typescript-eslint/parser @infinumjs/eslint-config-nextjs-ts
   ```

2. Extend your ESLint config:

```json
{
	"extends": "@infinumjs/eslint-config-react-js",
	"overrides": [
		{
			"extends": "@infinumjs/eslint-config-nextjs-ts",
			"files": ["*.ts", "*.tsx"],
			"parserOptions": {
				"project": ["./tsconfig.json"]
			}
		}
	]
}
```

## License

The [MIT License](../LICENSE)

## Credits

@infinumjs/eslint-config-nextjs-ts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-react
Description: Infinum's React ESLint rules
Author: Infinum JavaScript Team
Latest version: 2.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# eslint-config-react

This package provides Infinum's React ESLint [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install with `npm install --save-dev eslint @infinumjs/eslint-config-react`.

2. Add `"extends": "@infinumjs/eslint-config-react"` to your .eslintrc file.

## License

The [MIT License](../LICENSE)

## Credits

eslint-config-react is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-react-js
Description: Infinum's ESLint React rules
Author: Infinum JavaScript Team
Latest version: 3.5.0

# eslint-config-react-js

This package provides Infinum's ESLint React [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install the required packages:

   ```sh
   npm install --save-dev eslint eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks @infinumjs/eslint-config-react-js
   ```

2. Extend your ESLint config:

   ```json
   {
   	"extends": "@infinumjs/eslint-config-react-js"
   }
   ```

## License

The [MIT License](../LICENSE)

## Credits

@infinumjs/eslint-config-react-js is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/eslint-config-react-ts
Description: Infinum's ESLint React TypeScript rules
Author: Infinum JavaScript Team
Latest version: 3.4.0

# eslint-config-react-ts

This package provides Infinum's ESLint React TypeScript [shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html).

## Usage

1. Install the required packages:

   ```sh
   npm install --save-dev eslint eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks @typescript-eslint/eslint-plugin @typescript-eslint/parser @infinumjs/eslint-config-react-ts
   ```

2. Extend your ESLint config:

   ```json
   {
   	"extends": "@infinumjs/eslint-config-react-ts",
   	"overrides": [
   		{
   			"files": ["*.ts", "*.tsx"],
   			"parserOptions": {
   				"project": ["./tsconfig.json"]
   			}
   		}
   	],
   	"parser": "@typescript-eslint/parser"
   }
   ```

## License

The [MIT License](../LICENSE)

## Credits

@infinumjs/eslint-config-react-ts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<img src="https://infinum.com/infinum.png" width="264">
npm package: @infinumjs/expo-starter
Description: Infinum Expo project starter
Author: Infinum
Latest version: 0.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Infinum Expo starter

[![npm version](https://badge.fury.io/js/%40infinumjs%2Fexpo-starter.svg)](https://badge.fury.io/js/%40infinumjs%2Fexpo-starter)
[![Dependency Status](https://david-dm.org/infinum/js-expo-starter.svg)](https://david-dm.org/infinum/js-expo-starter)
[![devDependency Status](https://david-dm.org/infinum/js-expo-starter/dev-status.svg)](https://david-dm.org/infinum/js-expo-starter#info=devDependencies)

## Usage

`npx @infinumjs/expo-starter [modules] <projectName>`

### Modules

* `--jsonapi`, `-j` - Set up the network stack and [`datx-jsonapi`](https://github.com/infinum/datx#mixins)
* `--storybook`, `-s` - Set up the [storybook](https://storybook.js.org/)
* `--navigation`, `-n` - Add [`react-navigation`](https://reactnavigation.org/) and sample tabs

## License

The [MIT License](LICENSE)

## Credits

Expo starter is maintained and sponsored by
[Infinum](http://www.infinum.co).

<img src="https://infinum.co/infinum.png" width="264">
npm package: @infinumjs/js-next-starter
Description: Infinum Next.js project starter
Author: Infinum
Latest version: 0.2.4

# Infinum Next.js starter

[![npm version](https://badge.fury.io/js/%40infinumjs%2Fcra-starter.svg)](https://badge.fury.io/js/%40infinumjs%2Fcra-starter)
[![Dependency Status](https://david-dm.org/infinum/js-cra-starter.svg)](https://david-dm.org/infinum/js-cra-starter)
[![devDependency Status](https://david-dm.org/infinum/js-cra-starter/dev-status.svg)](https://david-dm.org/infinum/js-cra-starter#info=devDependencies)

## Usage

`npx @infinumjs/js-next-starter [modules] <projectName>`

### Modules

- `--jsonapi`, `-j` - Set up the network stack and [`datx-jsonapi`](https://github.com/infinum/datx#mixins)

## License

The [MIT License](LICENSE)

## Credits

Next.js starter is maintained and sponsored by
[Infinum](http://www.infinum.co).

<img src="https://infinum.co/infinum.png" width="264">
npm package: @infinumjs/ngx-nuts-and-bolts
Description: Reusable components and helpers for angular projects
Author: Infinum JavaScript Team
Latest version: 2.0.1
Deprecated: This pacakge was migrated to a different organization. Please install it from @infinum/ngx-nuts-and-bolts

```
!!! THIS PACKAGE HAS BEEN DEPRECATED AND MOVED TO A DIFFERENT ORGANIZATION !!!
PLEASE INSTALL THE UPDATED VERSION FROM `https://www.npmjs.com/package/@infinum/ngx-nuts-and-bolts`
```

# ngx-nuts-and-bolts

[![CI](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml)
[![Build and Deploy documentation](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml)

A collection of commonly used pieces of Angular-related code that we use everyday at Infinum.

## Installation

```bash
npm install @infinumjs/ngx-nuts-and-bolts
```

## Available _nuts and bolts_

For a list of all available _nuts and bolts_ and guidance on how to use them, please check out the [documentation pages](https://infinum.github.io/ngx-nuts-and-bolts/docs).

You can also look at some examples in Storybook.

## Contributing

Please check the [CONTRIBUTING.md](./CONTRIBUTING.md) document.

# License

The [MIT License](./LICENSE)

# Credits

ngx-nuts-and-bolts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinumjs/ngx-nuts-and-bolts-ssr
Description: Reusable components and helpers for angular projects
Author: Infinum JavaScript Team
Latest version: 2.0.1
Deprecated: This pacakge was migrated to a different organization. Please install it from @infinum/ngx-nuts-and-bolts-ssr

```
!!! THIS PACKAGE HAS BEEN DEPRECATED AND MOVED TO A DIFFERENT ORGANIZATION !!!
PLEASE INSTALL THE UPDATED VERSION FROM `https://www.npmjs.com/package/@infinum/ngx-nuts-and-bolts`
```

# ngx-nuts-and-bolts

[![CI](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/ci.yml)
[![Build and Deploy documentation](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml/badge.svg)](https://github.com/infinum/ngx-nuts-and-bolts/actions/workflows/docs.yml)

A collection of commonly used pieces of Angular-related code that we use everyday at Infinum.

## Installation

```bash
npm install @infinumjs/ngx-nuts-and-bolts
```

## Available _nuts and bolts_

For a list of all available _nuts and bolts_ and guidance on how to use them, please check out the [documentation pages](https://infinum.github.io/ngx-nuts-and-bolts/docs).

You can also look at some examples in Storybook.

## Contributing

Please check the [CONTRIBUTING.md](./CONTRIBUTING.md) document.

# License

The [MIT License](./LICENSE)

# Credits

ngx-nuts-and-bolts is maintained and sponsored by
[Infinum](https://www.infinum.com).

<p align="center">
  <a href='https://infinum.com'>
    <picture>
        <source srcset="https://assets.infinum.com/brand/logo/static/white.svg" media="(prefers-color-scheme: dark)">
        <img src="https://assets.infinum.com/brand/logo/static/default.svg">
    </picture>
  </a>
</p>
npm package: @infinumjs/tslint-config
Description: Infinum's TSLint rules
Author: Infinum JavaScript Team
Latest version: 2.0.0-beta.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# tslint-config

## Installation

NPM:
```bash
npm install @infinumjs/tslint-config
```

Yarn:
```bash
yarn add @infinumjs/tslint-config
```

## Generic support

```json
{
  "extends": "@infinumjs/tslint-config"
}
```

## License

The [MIT License](LICENSE)

## Credits

tslint-config is maintained and sponsored by
[Infinum](http://www.infinum.co).

<img src="https://infinum.co/infinum.png" width="264">
npm package: @infinumjs/tslint-config-angular
Description: Infinum's Angular TSLint rules
Author: Infinum JavaScript Team
Latest version: 10.3.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## Install

```bash
npm install --save-dev @infinumjs/tslint-config-angular
```

## Configure

`tslint.json`:
```json
{
  "extends": "@infinumjs/tslint-config-angular",
  "rules": {
    "directive-selector": [true, "attribute", "my-app", "camelCase"],
    "component-selector": [true, "element", "my-app", "kebab-case"]
  }
}
```

## tsconfig recommendations

We recommend setting some additional `tsconfig` options which might not be set by default.

Since `no-unused-variable` `tslint` rule was deprecated, we recommend setting `noUnusedLocals` and `noUnusedParameters`.

Set `fullTemplateTypeCheck` to `true` to enable 3rd phase of AOT compilation - template type checking.

Set `preserveWhitespaces` to `false` to remove potentially superfluous whitespace characters from the compiled template.

```json
{
  "compilerOptions": {
    "noUnusedLocals": true,
    "noUnusedParameters": true
  },
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "preserveWhitespaces": false
  }
}
```
npm package: @infinumjs/tslint-config-react
Description: Infinum's React TSLint rules
Author: Infinum JavaScript Team
Latest version: 2.0.0-beta.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## Generic support

```json
{
  "extends": "@infinumjs/tslint-config-react"
}
```

## License

The [MIT License](LICENSE)

## Credits

tslint-config is maintained and sponsored by
[Infinum](http://www.infinum.co).

<img src="https://infinum.co/infinum.png" width="264">
npm package: @infinumrails/eslint-config-js
Description: Shareable config for ESLint.
Latest version: 0.1.1

# eslint-config-js

Shareable config for ESLint.

## Setup

Add `eslint` and `@infinumrails/eslint-config-js` to your (dev) dependencies:
```
yarn add --dev eslint @infinumrails/eslint-config-js
```

Add the following to `package.json`:
```json
{
  "scripts": {
    "lint-js": "eslint",
  },
  "eslintConfig": {
    "extends": "@infinumrails/eslint-config-js"
  }
}
```

Run `yarn lint-js [directory]` to lint JS code.<br />
Run `yarn lint-js --fix [directory]` to automatically fix found offenses.
npm package: @infinumrails/stylelint-config-scss
Description: Shareable config for linting SCSS with Stylelint.
Latest version: 0.1.1

# stylelint-config-scss

Shareable config for linting SCSS with Stylelint.

## Setup

Add `stylelint`, `postcss` and `@infinumrails/stylelint-config-scss` to your (dev) dependencies:
```
yarn add --dev stylelint postcss @infinumrails/stylelint-config-scss
```

Add the following to `package.json`:
```json
{
  "scripts": {
    "lint-css": "stylelint"
  },
  "stylelint": {
    "extends": "@infinumrails/stylelint-config-scss"
  }
}
```

Run `yarn lint-css [directory]` to lint (S)CSS code.<br />
Run `yarn lint-css --fix [directory]` to automatically fix found offenses.