Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gulp-embed-json

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-embed-json

Gulp plugin to inline/embed JSON data into HTML files.

  • 1.5.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
increased by100%
Maintainers
1
Weekly downloads
 
Created
Source

gulp-embed-json

Gulp plugin to inline/embed JSON data into HTML files.

NPM

npm version CircleCI

Installation

npm i --save-dev gulp-embed-json

Quick Start

const embedJSON = require('gulp-embed-json');

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

This gulp task will inline/embed any scripts with JSON source attribute and respective mime type.

Options

mimeTypes string | Array<string>

Provide custom mime types to specify which <script> tags should be embedded.

default: application/json, application/ld+json
Example: Embed only tags with type="application/ld+json"

HTML layout

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json" src="data.json"></script>
    <script type="application/ld+json" src="structured-data.json"></script>
    <!-- ... -->
  </body>
</html>

structured-data.json

{
  "@context": "http://schema.org",
  "@type": "SoftwareApplication",
  "name": "gulp-embed-json"
}

Gulp task

const embedJSON = requrie('gulp-embed-json');

// ...

gulp.task('embedJSON', () =>
  gulp.src('*.html')
    .pipe(embedJSON({
      mimeTypes: 'application/ld+json'
    }))
    .pipe(gulp.dest('dist/')));

Output

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json" src="data.json"></script>
    <script type="application/ld+json">{"@context":"http://schema.org","@type":"SoftwareApplication","name":"gulp-embed-json"}</script>
    <!-- ... -->
  </body>
</html>

root string

Provide the directory root where JSON files are located.

default: __dirname

The folder in which the module is executed.

Example: Alternative JSON file root

HTML layout

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json" src="data.json"></script>
    <!-- ... -->
  </body>
</html>

Folder structure

/src
  index.html
  gulpfile.js
  /assets
    /json
      data.json

Gulp task

const embedJSON = requrie('gulp-embed-json');

// ...

gulp.task('embedJSON', () =>
  gulp.src('*.html')
    .pipe(embedJSON({
      root: './assets/json'
    }))
    .pipe(gulp.dest('dist/')));

minify boolean

Indicate whether or not to minify JSON data.

default: true
Example: Minify

HTML layout

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json" src="data.json"></script>
    <!-- ... -->
  </body>
</html>

data.json

{
  "foo": "bar"
}

Gulp task

const embedJSON = requrie('gulp-embed-json');

// ...

gulp.task('embedJSON', () =>
  gulp.src('*.html')
    .pipe(embedJSON({
      minify: true // default
    }))
    .pipe(gulp.dest('dist/')));

Output

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json">{"foo":"bar"}</script>
    <!-- ... -->
  </body>
</html>
Example: Do not Minify

HTML layout

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json" src="data.json"></script>
    <!-- ... -->
  </body>
</html>

data.json

{
  "foo": "bar"
}

Gulp task

const embedJSON = requrie('gulp-embed-json');

// ...

gulp.task('embedJSON', () =>
  gulp.src('*.html')
    .pipe(embedJSON({
      minify: false
    }))
    .pipe(gulp.dest('dist/')));

Output

<html>
  <head><!-- ... --></head>
  <body>
    <!-- ... -->
    <script type="application/json">{
    "foo": "bar"
    }</script>
    <!-- ... -->
  </body>
</html>

encoding string

Provide the encoding of your JSON files.

default: utf8

Changelog

License

Keywords

FAQs

Package last updated on 02 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc