This package has been deprecated

Author message:

Package is deprecated

yandex-domain-configs

0.0.4 • Public • Published

yandex-domain-configs

Tool for generating static domain configs.

Benefits

  1. Simple config inheritance.
  2. Simple domain config inheritance.
  3. Config validation against JSON-schema.
  4. Customizing domain list for different environments.

Installation

npm:

npm install --save-dev yandex-domain-configs

yarn:

yarn add -D yandex-domain-configs

Usage

npm:

node_modules/.bin/yandex-domain-configs [options]

yarn:

yarn yandex-domain-configs -- [options]

Options

    -i, --input <filename>      Input file
    -o, --output-dir <dirname>  Output directory
    -s, --schema <filename>     JSON Schema
    -h, --help                  output usage information

Example

config.base.yaml:

# default settings 
foo: 0
# objects are merged recursively when overriden 
bar:
  baz: 1
# domain settings override the default ones 
$domains:
  yandex.ru
    foo: 2
  yandex.com
    # yandex.com will inherit settings from yandex.ru 
    $extends: yandex.ru
    bar:
      baz: 3

config.production.yaml:

$extends: config.base.yaml
# these settings override the default ones in the base config 
bar:
  baz: 5
# domains not listed here will be ignored 
$domainList:
  - yandex.ru
  - yandex.com
# these settings override domain settings in the base config 
$domains:
  yandex.ru
    foo: 6

config.schema.yaml:

title: Project configuration
type: object
required:
  - foo
  - bar
properties:
  foo:
    title: Foo description
    type: integer
  bar:
    title: Bar description
    type: object
    required:
      - baz
    properties:
      baz:
        title: Baz description
        type: integer

Command

yarn yandex-domain-configs -- -i config.production.xml -o production -s config.schema.yaml

Result

production/yandex.ru.json:

{
    "foo": 6,
    "bar": {
        "baz": 5
    }
}

production/yandex.com.json:

{
    "foo": 6,
    "bar": {
        "baz": 3
    }
}

Readme

Keywords

none

Package Sidebar

Install

npm i yandex-domain-configs

Weekly Downloads

0

Version

0.0.4

License

MIT

Last publish

Collaborators

  • razetdinov