npm package: @kiwicom/overlord
Description: A layer on top of Next.js for building customer-facing Kiwi.com apps
Author: Kiwi.com FE platform
Latest version: 14.1.10

# Overlord

> 👑 One package to rule them all,
>
> 🔎 One package to find them,
>
> ✈️ One package to bring them all,
>
> 🎉 and in the awesomeness bind them.

---

Overlord:

- is a Kiwi.com tailored layer on top of Next.js,
- will power customer-facing FE apps,
- handles setting up tooling and deps management.

► developers take care of developing features.

**Repository**: https://gitlab.skypicker.com/frontend/core/-/tree/master/packages/overlord    
**Documentation**: Coming soon.

## Installation

To add `@kiwicom/overlord` to your project, run

```bash
yarn add @kiwicom/overlord
# or
npm i --save @kiwicom/overlord
```

You can also bootstrap a new frontend application with

```bash
npx @kiwicom/overlord init <destination-folder>
```

## `overlord` CLI

### Usage

<!-- usage -->
```sh-session
$ npm install -g @kiwicom/overlord
$ overlord COMMAND
running command...
$ overlord (-v|--version|version)
@kiwicom/overlord/14.1.10 linux-x64 node-v16.17.0
$ overlord --help [COMMAND]
USAGE
  $ overlord COMMAND
...
```
<!-- usagestop -->

### Commands

<!-- commands -->
* [`overlord copy-smartfaq-keys`](#overlord-copy-smartfaq-keys)
* [`overlord copy-translation-keys`](#overlord-copy-translation-keys)
* [`overlord help [COMMAND]`](#overlord-help-command)
* [`overlord init [DESTINATION]`](#overlord-init-destination)
* [`overlord static-scripts [DESTINATION]`](#overlord-static-scripts-destination)
* [`overlord test`](#overlord-test)

## `overlord copy-smartfaq-keys`

[deprecated] Use 'overlord copy-translation-keys' instead.

```
USAGE
  $ overlord copy-smartfaq-keys

DESCRIPTION
  A helper to add SmartFAQ's translation keys to Nitro-generated data/tkeys.json file. It should run before 'yarn nitro 
  translations'.
```

## `overlord copy-translation-keys`

A helper to add translation keys from Overlord and SmartFAQ to Nitro-generated data/tkeys.json file. It should run before 'yarn nitro translations'.

```
USAGE
  $ overlord copy-translation-keys
```

## `overlord help [COMMAND]`

Display help for overlord.

```
USAGE
  $ overlord help [COMMAND]

ARGUMENTS
  COMMAND  Command to show help for.

OPTIONS
  -n, --nested-commands  Include all nested commands in the output.
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.10/src/commands/help.ts)_

## `overlord init [DESTINATION]`

Initialize a new Overlord-powered FE app

```
USAGE
  $ overlord init [DESTINATION]

OPTIONS
  --name=name

EXAMPLES
  $ overlord init <destination>
  $ overlord init <destination> --name @kiwicom/fe-app
```

## `overlord static-scripts [DESTINATION]`

Generate static data scripts

```
USAGE
  $ overlord static-scripts [DESTINATION]

ARGUMENTS
  DESTINATION  [default: public/data/scripts] output files destination

OPTIONS
  --countries=(light|full)  [default: light] The generated file for countries has two versions: a light version (with
                            currencies only) and another with the full version

  --data=data               [default: data] data folder with static data fetched by Nitro, required by Nitro's load
                            function

EXAMPLE
  $ overlord static-scripts <destination>
```

## `overlord test`

Run test suite in your project

```
USAGE
  $ overlord test

DESCRIPTION
  This is just a convenience wrapper for Jest. Out of the box, it will use some default configuration which should cover
   most of the needs for Kiwi.com frontends.
    Should you need to tweak the configuration, you could create a 'jest.config.js' file, with the following contents to
   add a file to 'setupFilesAfterEnv' for example:
    ```
    const defaultConfig = require('@kiwicom/overlord/bin/config/jest').default;

    module.exports = {
     ...defaultConfig,
     setupFilesAfterEnv: [...defaultConfig.setupFilesAfterEnv, 'your-file'],
    }
    ```

EXAMPLES
  $ overlord test
  $ overlord test --coverage
  $ overlord test --watch
  $ overlord test [--flags accepted by jest]
```
<!-- commandsstop -->