0.1.0 • Published 10 years ago

grunt-yml v0.1.0

Weekly downloads
90
License
-
Repository
github
Last release
10 years ago

grunt-yml

Convert a JSON or a Javascript object into a valid YAML configuration file

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-yml --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-yml');

The "yml" task

Overview

In your project's Gruntfile, add a section named yml to the data object passed into grunt.initConfig(). The task make use of yaml.js plugin.

grunt.initConfig({
  yml: {
    options: {
        depth: 2,
        indent: 2
    },
    target: {
      src: [
          'path/to/data.json'
      ],
      dest: 'path/to/data.yml'
    },
  },
});

Options

options.depth

Type: Number Default value: 4

The depth before YAML will be inlined (default 4).

options.indent

Type: Number Default value: 2

The number of spaces used to indent the YAML (default 2).

Usage Examples

In this example, You can convert a JSON file using the src / dest Grunt file format.

grunt.initConfig({
    yml: {
        files: {
            'dest/default_options': ['src/testing', 'src/123'],
        },
    },
});

You can use dynamic mapping to convert multiple files at once.

grunt.initConfig({
    yml: {
        files: [{
            expand: true,
            cwd: 'test/fixtures/',
            src: ['*.json'],
            dest: 'test/expected/multiple',
            ext: '.yml'
        }]
    },
});

Raw Javascript Object

If You specify the raw option You can convert a Javascript Object literal into a valid YAML file.

grunt.initConfig({
    yml: {
        raw: {
            a: 1,
            b: 2,
            c: {
                json: true
            }
        },
        dest: 'test/expected/raw.yml'
    },
});

Contributing

Follow the existing coding style. Add unit tests with nodeunit for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 0.1.0 First version