cloudformation-schema-js-yaml

2.0.0 • Public • Published

Cloudformation Schema for use with js-yaml

Cloudformation supports custom yaml classes, e.g. !Ref, !Sub, !If, etc. Yaml parsers will choke on these custom classes unless the classes are specified. Use this library with js-yaml to parse cloudformation templates with these classes. The cloudformation classes are converted into objects that are similar to the non custom class syntax e.g. Ref, Fn::Sub, Fn::If

Usage

const yaml = require('js-yaml');
const schema = require('cloudformation-schema-js-yaml');
const fs = require('fs');

let file = fs.readFileSync('somefile.yaml');
let data = yaml.load(file, { schema: schema});

Example

sample.yaml

test:
  - !Ref someLogicalId
  - !Sub A string with a substitution ${someLogicalId}

Program extract

let file = fs.readFileSync('sample.yaml');
let data = yaml.load(file, { schema: schema});
console.log(data)
console.log('%j', data)

Output

{ test:
   [ Obj { Ref: 'someLogicalId' },
     Obj { 'Fn::Sub': 'A string with a substitution ${someLogicalId}' } ] }
{"test":[{"Ref":"someLogicalId"},{"Fn::Sub":"A string with a substitution ${someLogicalId}"}]}

Dependencies

None

Peer-dependencies

This this library is meant to be used with js-yaml it has a peer dependency of js-yaml

Tests

npm test

Package Sidebar

Install

npm i cloudformation-schema-js-yaml

Weekly Downloads

978

Version

2.0.0

License

MIT

Unpacked Size

17.1 kB

Total Files

20

Last publish

Collaborators

  • trek10-package-manager