yaml-js-include
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

yaml-js-include

This package provides support custom tags in a YAML document that facilitate inclusion of external .yaml files, or directories of .yaml files. This package is a rethink of the yaml-include package.

The main difference between this package and package mentioned above is a support for relative include inside of the included files

Installation

$ npm install yaml-js-include

or

$ yarn add yaml-js-include

Usage

Here is a small example of the script which allows to load a YAML file with the include tags:

import { YamlInclude } from 'yaml-js-include';

const yamlInclude = new YamlInclude();
const myObj = yamlInclude.load<MyType>(pathToFile);

An example YAML file can look like this:

name: Example
variables: !!inc/file variables.yaml
pages: !!inc/dir ['pages', { extensions: ['.page.yaml'] }]
steps:
  - name: Open Browser
    type: open-browser
    values:
      browser: chrome
      headless: true

Full example could be found here

YAML API

This package adds the support for the following tags inside of YAML files:

!!inc/dir [path, options?]

Merges files in directory into the object

Arguments:

  • path - required - Relative (or absolute) path to the directory
  • options - optional - Optional options for the directory include tag. Extends IncludeDirOptions The merge flow for the options is like this: Default options -> Options passed to the YamlInclude constructor -> Options declared on the tag inside YAML file.

You can find options and defaults here

!!inc/seq [path, options?]

Merges files in directory into the array

Arguments:

  • path - required - Relative (or absolute) path to the directory
  • options - optional - Optional options for the directory include tag. Extends IncludeDirSeqOptions The merge flow for the options is like this: Default options -> Options passed to the YamlInclude constructor -> Options declared on the tag inside YAML file.

You can find options and defaults here

!!inc/file path

Parses path as a path to a single YAML document. The contents of that document will be a mapping under the key the tag is used on.

JS / TS Usage

This package is written using Typescript. Please see the documentation

Package Sidebar

Install

npm i yaml-js-include

Weekly Downloads

31

Version

1.0.0

License

MIT

Unpacked Size

68 kB

Total Files

57

Last publish

Collaborators

  • dmytrobondarchuk