2.0.0 • Published 9 years ago

gulp-props2json v2.0.0

Weekly downloads
350
License
MIT
Repository
github
Last release
9 years ago

#gulp-props2json

npm version Build Status Dependency Status

A Gulp plugin to convert Java .properties to JSON

Install

npm install --save-dev gulp-props2json

Usage

Add this to your gulpfile.js:

var props2json = require('gulp-props2json');

// Generate a .json file
gulp.src('./src/*.properties')
  .pipe(props2json())
  .pipe(gulp.dest('./dist/'))

// Generate a .js file
gulp.src('./src/*.properties')
  .pipe(props({ outputType: 'js' }))
  .pipe(gulp.dest('./dist/'))

API

props2json(options)

options.outputType

Type: String

Default: json

Convert properties to .js or .json format.

Note: To force a .js output set this option js (without dot).

options.namespace

Type: String

Default: null for .json output and props for .js output

The namespace to use when defining properties. Javascript reserved words cannot be used here. Invalid identifiers will be adjusted to be valid, and a warning will be printed in the console.

options.minify

Type: Boolean

Default: true

By default content .js and .json content is minified. If .json output is generated and minification is turned off and no space is defined, then indentation with 2 spaces is used. This can be overridden with space option. JSON.stringify

options.complexTypes

Type: Boolean

Default: false

By default every property value is treated as String. This option will try to convert every value to JSON. For example (String) "true" value will be (Boolean) true. JSON.parse

options.nestedProps

Type: Boolean

Default: false

By default every property key will be treated as it is. But nesting is possible to create complex object. If this option is turned on, then dot will be used as nesting delimiter. Nesting delimiter can be overridden with nestingDelimiter option.

options.nestingDelimiter

Type: String

Default: .

Nesting delimiter to be used with nestedProps option.

options.appendExt

Type: Boolean

Default: false

Append the extension (.js or .json) instead of replacing it.

Useful if the property files does not have an extension.

options.space

Type: Number or String

Default: null

Control spacing in the resulting output. It has the same usage as for JSON.stringify

The option is used only when .json output is generated.

options.replacer

Type: Function or Array

Default: null

Further transform the resulting output. It has the same usage as for JSON.stringify

The option is used only when .json output is generated.

Errors

gulp-props2json emits an 'error' event if something goes wrong.

To handle errors across your entire pipeline, see the gulp documentation.

License

MIT © Valery Ivanov