0.0.3 • Published 8 years ago
asset-versioning v0.0.3
asset-versioning

Version your assets by appending a hash to the filename.
Usage
$ asset-versioning build 'css/**/*.css' 'js/**/*.js' --outputDirectory build | asset-versioning replace 'build/**/*'Or, equivalently, using the API:
const assetVersioning = require('asset-versioning')
async function run () {
const manifest = await assetVersioning.build(['css/**/*.css', 'js/**/*.js'], {
outputDirectory: 'build'
})
assetVersioning.replace(['build/**/*'], manifest)
}
run()CLI
Build
$ asset-versioning build --help
Usage: asset-versioning build [globs] [options]
Versions the files matched by globs. Writes a JSON object mapping
the original filenames to the versioned filenames to stdout.
Globs:
One or more globs.
Options:
-b, --baseDirectory BASE_DIRECTORY Base directory to perform the
globbing. Defaults to './'.
-o, --outputDirectory OUTPUT_DIRECTORY Directory to output the
versioned files. Defaults
to './build'.
-h, --help Print this message.
Example:
asset-versioning build 'css/**/*.css' 'js/**/*.js' --outputDirectory build > manifest.jsonReplace
$ asset-versioning replace --help
Usage: asset-versioning replace [globs] [options]
Replaces original filenames with their versioned filenames (as
specified in a manifest) in the files matched by globs. Ignores
binary files matched by the globs.
Globs:
One or more globs.
Options:
-b, --baseDirectory BASE_DIRECTORY Base directory to perform the
globbing. Defaults to './'.
-m, --manifestFile MANIFEST_FILE A JSON file mapping the original
filenames to the versioned
filenames. Read from stdin if
this is not specified.
-h, --help Print this message.
Example:
asset-versioning replace 'build/**/*' --manifestFile manifest.jsonAPI
const assetVersioning = require('asset-versioning')assetVersioning.build(globs , options)
Versions the files matched by globs. Returns a Promise for an object mapping the original filenames to the versioned filenames.
globsis an array of one or more globs.optionsis an object literal:Key Description Default baseDirectoryBase directory to perform the globbing. process.cwd()outputDirectoryDirectory to output the versioned files. ./build
assetVersioning.replace(globs, manifest , options)
Replaces original filenames with their versioned filenames (as specified in the manifest) in the files matched by globs. Ignores binary files matched by the globs.
globsis an array of one or more globs.manifestis an object mapping the original filenames to the versioned filenames.optionsis an object literal:Key Description Default baseDirectoryBase directory to perform the globbing. process.cwd()
Installation
Install via yarn:
$ yarn add --dev asset-versioningOr npm:
$ npm install --save-dev asset-versioning