gulp-json-editor
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/gulp-json-editor package

2.6.0 • Public • Published

gulp-json-editor

npm version Automated tests

gulp-json-editor is a gulp plugin to edit JSON objects.

Usage

var jeditor = require("gulp-json-editor");

/*
  edit JSON object by merging with user specific object
*/
gulp.src("./manifest.json")
  .pipe(jeditor({
    'version': '1.2.3'
  }))
  .pipe(gulp.dest("./dest"));

/*
  edit JSON object by using user specific function
*/
gulp.src("./manifest.json")
  .pipe(jeditor(function(json) {
    json.version = "1.2.3";
    return json; // must return JSON object.
  }))
  .pipe(gulp.dest("./dest"));

/*
  specify [js-beautify](https://github.com/beautify-web/js-beautify) option
*/
gulp.src("./manifest.json")
  .pipe(jeditor({
    'version': '1.2.3'
  },
  // the second argument is passed to js-beautify as its option
  {
    'indent_char': '\t',
    'indent_size': 1
  }))
  .pipe(gulp.dest("./dest"));

/*
  specify [deepmerge](https://github.com/TehShrike/deepmerge) option
*/
gulp.src("./manifest.json")
  .pipe(jeditor({ 
    "authors": ["tomcat"] 
  },
  // the second argument is passed to js-beautify as its option
  {},
  // the third argument is passed to deepmerge options, eg, arrayMerge options
  { 
    arrayMerge: function (dist,source,options) {return source;} 
  }))
  .pipe(gulp.dest("./dest"));

Note

In case of such above situation, all of comment and whitespace in source file is NOT kept in destination file.

Disable beautification

gulp.src("./manifest.json")
  .pipe(jeditor({
    'version': '1.2.3'
  },
  {
    beautify: false
  }))
  .pipe(gulp.dest("./dest"));

API

jeditor(editorObject, [jsBeautifyOptions], [deepmergeOptions])

editorObject

Type: JSON object

JSON object to merge with.

jsBeautifyOptions

Type: object

This object is passed to js-beautify as its option.

deepmergeOptions

Type: object

This object is passed to deepmerge as its option.

jeditor(editorFunction, [jsBeautifyOptions], [deepmergeOptions])

editorFunction

Type: function

The editorFunction must have the following signature: function (json) {}, and must return JSON object or PromiseLike object with JSON object as value.

jsBeautifyOptions

Type: object

This object is passed to js-beautify as its option.

deepmergeOptions

Type: object

This object is passed to deepmerge as its option.

License

Copyright (c) 2023 gulp-community

Licensed under the MIT license.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
2.6.06,501latest

Version History

VersionDownloads (Last 7 Days)Published
2.6.06,501
2.5.73,183
2.5.64,714
2.5.592
2.5.43,580
2.5.3124
2.5.2214
2.5.142
2.5.05,750
2.4.4140
2.4.313
2.4.249
2.4.1150
2.4.01
2.3.04
2.2.298
2.2.1466
2.2.02
2.1.197
2.1.02
2.0.32
2.0.23
2.0.11
2.0.00
1.2.00
1.1.01
1.0.20
1.0.10
1.0.03

Package Sidebar

Install

npm i gulp-json-editor

Weekly Downloads

5,519

Version

2.6.0

License

MIT

Unpacked Size

23.9 kB

Total Files

13

Last publish

Collaborators

  • phated
  • rejas