gulp-minify-inline-json

Gulp plugin to minify inline JSON.

Usage no npm install needed!

<script type="module">
  import gulpMinifyInlineJson from 'https://cdn.skypack.dev/gulp-minify-inline-json';
</script>

README

gulp-minify-inline-json

NPM

npm version CircleCI

Minifies inline <script> tags containing JSON data, i.e. application/json and application/ld+json.

Installation

npm i --save-dev gulp-minify-inline-json

Usage

const minifyInlineJSON = require('gulp-minify-inline-json');

gulp.task('minifyInlineJSON', () =>
  gulp.src('*.html')
    .pipe(minifyInlineJSON())
    .pipe(gulp.dest('dist/')));

Options

mimeTypes Array<string>

Provide custom mime types to specify which <script> tags to minify.

default: [ 'application/json', 'application/ld+json' ]
Example: Minify only tags with type="application/ld+json"
HTML Layout
<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json">{
      "some": "json"
    }</script>
    <script type="application/ld+json">{
      "foo": "bar"
    }</script>
  </body>
</html>
Gulp task
  const minifyJSON = require('gulp-minify-inline-json');

  gulp.task('minifyJSON', () =>
    gulp.src('*.html')
      .pipe(minifyJSON({
        mimeTypes: [
          'application/ld+json'
        ]
      }))
      .pipe(gulp.dest('dist/')));
Output
<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json">{
      "some": "json"
    }</script>
    <script type="application/ld+json">{"foo":"bar"}</script>
  </body>
</html>

Changelog

License