New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hexo-workbox-build

Package Overview
Dependencies
Maintainers
0
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hexo-workbox-build

A hexo plugin to run workbox build. And provide convenient features of PWA and service worker.

  • 3.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

hexo-workbox-build

A hexo plugin to run workbox-build and provide convenient features of PWA and service worker.

Feature

  • run workbox-build via passing through your custom options. (generateSW mode or injectManifest mode)
  • generate the script which using to register service-worker.
  • reference the register script into html.
  • copy manifest.json from custom path to public\.
  • reference the manifest.json via <link> tag in html.

This plugin doesn't provide PWA support ready out of the box.

You need to know how to use workbox-build, configurate workbox strategy and custom your manifest.json.

Install

NPM Version node-lts NPM License NPM Downloads NPM Downloads Libraries.io dependency status for latest release

pnpm add hexo-workbox-build

# npm i hexo-workbox-build

Configuration

Default Configuration

hexo_workbox_build:
  enable: false

  WB_runWorkboxBuild: true
  WB_swDest: ""
  WB_generateSWOptionsPath: ""
  WB_injectManifestOptionsPath: ""

  REG_generateRegister: true
  REG_registerScriptDest: "registerSW.js"
  # REG_registerScriptNjkPath: "" # default to internal nunjucks template

  REG_injector: true
  REG_injectorNjkString: '<script defer src="{{ REG_registerScriptDest }}"></script>'

  MF_copyManifestJsonSrc: ""
  MF_copyManifestJsonDest: ""

  MF_injector: false
  MF_injectorNjkString: '<link rel="manifest" href="{{ MF_cpoyManifestJsonDest }}" />'

Example Configuration

hexo_workbox_build:
  enable: true

  WB_runWorkboxBuild: true
  WB_swDest: "sw.js"
  WB_generateSWOptionsPath: "workbox/genSWOption.js"
  # WB_injectManifestOptionsPath: "workbox/injMfOption.js"

  REG_generateRegister: true
  # REG_registerScriptDest: 'registerSW.js'
  # REG_registerScriptNjkPath: "" # default to internal nunjucks template

  REG_injector: true
  # REG_injectorNjkString: '<script defer src="{{ REG_registerScriptDest }}"></script>'

  MF_copyManifestJsonSrc: "workbox/manifest.json"
  MF_copyManifestJsonDest: "manifest.json"

  MF_injector: false
  # MF_injectorNjkString: '<link rel="manifest" href="{{ MF_cpoyManifestJsonDest }}" />'

Options

enable or disable this plugin

option namevalue typedefault valuenote
enbalebooleanfalseControl whether to enable hexo-workbox-build.

ralated to workbox-build

option namevalue typedefault valuenote
WB_runWorkboxBuildbooleantrueControl whether to run worlbox-build.
WB_swDeststring""Specify the name and path of service-worker that worlbox-build generated. (relative to public dir).

equal to the swDest option in worlbox-build.
WB_generateSWOptionsPathstring""Need WB_swDest setting.
Specify the path of a js file. (relative to your hexo dir), which use default exports the arguments of generatesw-mode of worlbox-build.
WB_injectManifestOptionsPathstring""Need WB_swDest generatesw-mode setting.
Specify the path of a js file. (relative to your hexo dir), which use default exports the arguments of injectmanifest-mode of worlbox-build

Note: injectmanifest-mode depend on a built sw.js.

It means you need to run generatesw-mode first in hexo-workbox-build.


ralated to register service worker

generate the code of registering service-worker
option namevalue typedefault valuenote
REG_generateRegisterbooleantrueControl whether to generater a javascript, which is use to register service-worker.
REG_registerScriptDeststringregisterSW.jsNeed WB_swDest.
Specify the path of the above javascript code generated. (relative to public dir)
REG_registerScriptNjkPathstring""path of a nunjucks template of the javascript. (relative to your hexo dir)
Default template: ./assets/registerScript.njk
insert the registering code into html
option namevalue typedefault valuenote
REG_injectorbooleantrueControl whether to Inject the above javascript code into html <script>.
You can use REG_injectorNjkString to custom it.
REG_injectorNjkStringstring<script defer src="{{ REG_registerScriptDest }}"></script>Custom the <scripts> string.

copy your manifest.json into public

If set both MF_copyManifestJsonSrc and MF_copyManifestJsonDest, hexo-workbox-build will copy your manifest.json to public dir.

In fact, you can simply put your manifest.json in source/ dir without using this above feature.

option namevalue typedefault valuenote
MF_copyManifestJsonSrcstring""Specify the path of your manifest.json. (relative to your hexo dir)
MF_copyManifestJsonDeststring""Specify the destiny path of your manifest.json. (relative to public dir)

some themes likes next have the same feature, you may not to use this if you enable this feature in themes.

option namevalue typedefault valuenote
MF_injectorbooleanfalseneed MF_copyManifestJsonDest.
control whether to Inject <link> tag into head of html.
You can use MF_injectorNjkString option to custom it.
MF_injectorNjkStringstring<link rel="manifest" href="{{ MF_cpoyManifestJsonDest }}" />custom the <link> string.

Keywords

FAQs

Package last updated on 18 Feb 2025

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