Socket
Socket
Sign inDemoInstall

metalsmith-fingerprint-ignore

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

metalsmith-fingerprint-ignore

A fork of metalsmith-fingerprint that discards the original file


Version published
Weekly downloads
24
increased by60%
Maintainers
1
Weekly downloads
 
Created
Source

metalsmith-fingerprint-ignore

npm Build Status

A fork of metalsmith-fingerprint that discards the original file

This plugin fingerprints your files for easy and reliable cache-busting. Since you're not going to use the original, this fork discards it by default (but still allows you to keep it if you want to).

This plugin normalizes paths on windows using slash so that in most cases builds will work on both windows and *nix without any changes to the paths. Check the docs for slash for more details.

Installation

npm install metalsmith-fingerprint-ignore

Example

Say you want to fingerprint the file css/index.css:

Metalsmith(__dirname)
  .use(fingerprint({ pattern: 'css/index.css' }))
  .use(template({ engine: 'handlebars' }))
  .build()

The plugin does three things:

  1. create a duplicate of index.css with a fingerprinted filename
  2. create a fingerprint object on the Metalsmith metadata
  3. Discard the original index.css file

The fingerprint object is accessible from the Handlebars template:

<link href="{{ fingerprint.[css/index.css] }}" rel="stylesheet" type="text/css" />

And the template renders the fingerprinted filename:

<link href="css/index-724af9dd72a48c18dd570790c2445fb4.css" rel="stylesheet" type="text/css" />

Options

You can pass options to metalsmith-fingerprint-ignore with the Javascript API or CLI. The options are:

  • pattern: a pattern to filter source files (required)
  • keep: keep source file, false by default (optional)

pattern

String|Array<String>: A pattern to filter source files. The path is relative to your source. Required.

{
  "plugins": {
    "metalsmith-fingerprint-ignore": {
      "pattern": "css/index.css"
    }
  }
}

keep

Boolean: Keep the original file. Setting it to true will keep the original file and create a fingerprinted version as well. Default false. Optional.

{
  "plugins": {
    "metalsmith-fingerprint-ignore": {
      "pattern": "css/index.css",
      "keep": "true"
    }
  }
}

Origins

Metalsmith fingerprint does not discard the original file after fingerprinting. So when fingerprinting a large collection of files you'll have to manually ignore them all. Unfortunately the only predictable difference between the original and the fingerprinted file is the dash before the fingerprint.

An issue was opened to address this, but closed as wontfix. So this fork is based on the PR by callum, which can be used by those who would still like this functionality.

Thanks to:

License

MIT.

Keywords

FAQs

Package last updated on 20 Jun 2017

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