open-index/open-npm huggingface dataset:
npm package: @smartive/es-model
Description: Annotate your datastructure to generate an elasticsearch index template
Author: Nicola Marcacci Rossi
Latest version: 2.2.3

[![npm](https://img.shields.io/npm/v/@smartive/es-model.svg?maxAge=3600)](https://www.npmjs.com/package/@smartive/es-model)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

Annotate your model and generate an elasticsearch index template.

## Installation

To install this package, simply run

[![NPM](https://nodei.co/npm/@smartive/es-model.png?downloads=true&stars=true)](https://nodei.co/npm/@smartive/es-model/)

## Changelog

The changelog is generated by [semantic release](https://github.com/semantic-release/semantic-release) and is located under
the [release section](https://github.com/smartive/es-model/releases).

## Licence

This software is licenced under the [MIT](LICENSE) licence.
npm package: @smartive/eslint-config
Description: ESLint configuration by smartive
Author: smartive AG
Latest version: 7.0.1

# @smartive/eslint-config

This package provides smartive's default [eslint](https://eslint.org/) configuration.

## Installation

```sh
$ npm install eslint @smartive/eslint-config -D
```

## Usage

This package offers three different rule sets, one for plain TypeScript applications, a separate one for React applications and one that works well with Next.js applications (minimum supported version is Next.js v16).

### Flat Config (`eslint.config.mjs`)

```javascript
import { config } from '@smartive/eslint-config'

// For plain TS applications ..
export default config('typescript');

// .. or React applications
export default config('react');

// .. or Next.js applications
// make sure to add `eslint-config-next@16`
// to your devDependencies
export default config('nextjs');
```

### NPM scripts

To use eslint add the following to your package.json:

```json
"scripts": {
  "lint": "eslint {your source directory}",
  "lint:fix": "eslint {your source directory} --fix"
}
```
npm package: @smartive/generator-typescript-project
Description: Yeoman generator for typescript projects at smartive.
Author: Christoph Bühler
Latest version: 1.2.0

## Yeoman generator for typescript projects

This is a yeoman generator for typescript projects.

[![pipeline status](https://gitlab.com/smartive/open-source/generator-typescript-project/badges/master/pipeline.svg)](https://gitlab.com/smartive/open-source/generator-typescript-project/commits/master)
[![coverage report](https://gitlab.com/smartive/open-source/generator-typescript-project/badges/master/coverage.svg)](https://gitlab.com/smartive/open-source/generator-typescript-project/commits/master)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![Greenkeeper badge](https://badges.greenkeeper.io/smartive/generator-typescript-project.svg)](https://greenkeeper.io/)
[![npm](https://img.shields.io/npm/v/@smartive/generator-typescript-project.svg?maxAge=3600)](https://www.npmjs.com/package/@smartive/generator-typescript-project)

## Installation

To install this package, simply run

[![NPM](https://nodei.co/npm/@smartive/generator-typescript-project.png?downloads=true&stars=true)](https://nodei.co/npm/@smartive/generator-typescript-project/)

## Usage

Install `yeoman` (if haven't already) `npm i -g yo`.
After you installed this package, use:

```bash
yo @smartive/typescript-project
```

## Changelog

The changelog is generated by [semantic release](https://github.com/semantic-release/semantic-release) and is located under
the [release section](https://github.com/smartive/es-model/releases).

## Licence

This software is licenced under the [MIT](LICENSE) licence.
npm package: @smartive/giuseppe-swagger-plugin
Description: Swagger documentation generator
Author: Nicola Marcacci Rossi
Latest version: 2.0.0

# giuseppe-swagger-plugin

This is a plugin for [giuseppe](http://giuseppe.smartive.ch).

##### A bunch of badges

[![Build Status](https://travis-ci.org/smartive/giuseppe-swagger-plugin.svg)](https://travis-ci.org/smartive/giuseppe-swagger-plugin)
[![npm](https://img.shields.io/npm/v/@smartive/giuseppe-swagger-plugin.svg?maxAge=3600)](https://www.npmjs.com/package/@smartive/giuseppe-swagger-plugin)

## Installation

To install this package, simply run

[![NPM](https://nodei.co/npm/@smartive/giuseppe-swagger-plugin.png?downloads=true&stars=true)](https://nodei.co/npm/@smartive/giuseppe-swagger-plugin/)

## How to use

Here is a brief example of how to add the plugin to giuseppe:

```typescript
import { Giuseppe } from 'giuseppe';
import { GiuseppeSwaggerPlugin } from 'giuseppe-swagger-plugin';

const app = new Giuseppe();
app.registerPlugin(new GiuseppeSwaggerPlugin());
app.start();
```

This is how to enrich a Giuseppe controller with swagger annotations:

```typescript
@Controller()
class Ctrl2 {
    @SwaggerRoute({
        description: 'A route',
        responses: {
            200: {
                description: 'Response description',
                type: Model,
            },
        },
    })
    @Get('route')
    getRoute(
        @Query('a')
        a: string,

        @SwaggerParam({
            default: 10,
            description: 'Parameter b',
        })
        @Query('b')
        b: number,

        @SwaggerParam({
            type: Model
        })
        @Query('c')
        c: Model,

        @SwaggerParam({
            type: Number
        })
        @Query('d')
        d: number[],

        @SwaggerParam({
            type: Model
        })
        @Query('e')
        e: Model[],

        @Header('f')
        f: string,
    ): Model {
        return new Model();
    }
}
```

This is how to enrich a model with swagger annotations:

```typescript
@SwaggerObject({
    description: 'A model',
})
class Model {
    @SwaggerField({
        required: true,
    })
    a: string;

    @SwaggerField()
    b: number;

    @SwaggerField({
        type: Other,
    })
    c: Model;

    @SwaggerField({
        type: Number
    })
    d: number[];

    @SwaggerField({
        type: Other
    })
    e: Other[];
}
```

This is how to generate the swagger json:

```typescript
import { SwaggerDocs } from 'giuseppe-swagger-plugin';

@Controller()
class Ctrl {
    @SwaggerDocs('swagger', {
        info: {
            description: 'A test swagger route.',
            title: 'Swagger',
            version: '1.0.0',
        },
    })
    public getSwagger(): void { }
}
```

The schema can be forced to adhere to swagger 2.

## Changelog

The changelog is generated by [semantic release](https://github.com/semantic-release/semantic-release) and is located under the
[release section](https://github.com/smartive/giuseppe-swagger-plugin/releases).

## Licence

This software is licenced under the [MIT](LICENSE) licence.