2.0.3 • Public • Published


Build Status ♦️ Dependency Status ♦️ devDependency Statusnpm version

Grunt task generating manifests with fingerprinted assets to be injected and cached via localstorage.

Please refer to the browser related repository for a more comprehensive explaination behind the concepts of the dactylographsy project.


Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

Install node dependency via npm

npm install grunt-dactylographsy --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


The "dactylographsy" task


In your project's Gruntfile, the dactylographsy task is available to use.

You can run grunt dactylographsy standalone Or add it to an existing task: grunt.registerTask('test', ['clean', 'dactylographsy']);


// Location of manifest file containing file information with hashes
location: 'dactylographsy.json'
// Root impacting location of dactylographsy.json
root: 'dist'
// The project's root url: written into manifest, consumed by client-side script
rootUrl: null
// Additional package url: e.g. if multiple packages reside on the same host
packageUrl: null
// Paths which assets are stored internally but which are not relevant for client-side script
// e.g. /dist. These will be removed from paths to assets!
devPaths: []
// The package name to identify the manifest by
package: 'None'

An example configuration can be found here and if you want to check the options you might want to check the Gruntfile itself.

Developing & Contributing

Developing on the task alone is fairly easy just git clone then cd grunt-dactylographsy. From there one has to link the package to itself via npm link && npm link grunt-dactylographsy which will allow for calling grunt dev. Now just work the task/dactylographsy.js and check results - feel free to submit a pull-request!

Release History

  • 0.0.0 Development, do not use!
  • 1.0.0 Initial release with grunt-task and client-side script
  • 1.0.1 Add support for stripping dev folders from asset directories via devPaths option
  • 1.0.2 Add versioned client side bundles
  • 1.1.0 Refactor root path resolving and add support for cache prefix
  • 1.1.1 Fix root path resolving adding stripping of null'ed values
  • 1.1.2 Add a package url option
  • 1.1.3 Release caused by upgrade of UglifyJS
  • 1.2.0 Add injection of unprinted scripts in case of error
  • 1.2.1 Delay caching while still immediately taking care of 404'ed assets
  • 1.3.0 Feature detect localstorage
  • 1.4.0 Add delayed refreshing of app
  • 1.5.0 Add data-attribtue with script name to inline-scripts from cache
  • 1.6.0 Add cache cleaning by unique identifer to not keep n-versions of files in cache and add cache delay
  • 1.6.1 Fix assets being deduped by filename, extension and their path
  • 1.7.0 Stable release
  • 1.8.0 Add 'cacheManifests' option to indicate if manifests shall be cached or not
  • 1.9.0 Add configurable logging (not removing console-statements with minifiction)
  • 1.9.1 Fix major issue in script injection order (promise resolving on cache with earlier rejection)
  • 1.9.2 Fix auto deferring inline scripts breaking the injection order too
  • 1.9.3 Fix singarity of cached assets for adding entry on serialized object
  • 1.10.0 Add using document fragments for injections (speeds up DOM access)
  • 1.11.0 Fix issue where cached js-files where executed before uncached files
  • 1.12.0 Add using node-dactylographsy and remove thereby duplicate sources
  • 1.13.0 Moves all browser related sources to browser-dactylographsy
  • 1.14.0 Add manifest fingerprint (versions manifests)
  • 1.16.0 Add string hashing
  • 2.0.0 Drop support for node <= 0.12


  • great people around me supporting me with ideas and feedback!

Package Sidebar


Weekly Downloads






Last publish


  • luhmann
  • tdeekens