@hdsydsvenskan/asset-versions
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

Asset Versions

CLI and helper methods for asset versioning. Includes support for Webpack chunking.

Installation

npm install --save-dev @hdsydsvenskan/asset-versions

Release new version

Follow Semantic Versioning and use np and a version like patch | minor | major | prepatch | preminor | premajor | prerelease | 1.2.3

np patch

Example

See a full example, including Webpack support, in example/ folder and/or run the start npm script (run yarn start / npm start).

Usage

Generate asset version through CLI

  1. Add an assets.json
  2. Run asset-versions
  3. Get an assets-versioned.json file

Programmaticly access versioned paths

const AssetVersions = require('@hdsydsvenskan/asset-versions');

const assets = new AssetVersions({
  assetDefinitions: __dirname + '/assets.json'
});

// Returns something like 'assets/rev/main-e508b3af03.css'
assets.getAssetPath('assets/main.css');

Or, in case of code splitted javascript (likely through the use of Webpack):

// Returns something like ['assets/rev/main-e508b3af03.js', 'assets/rev/vendor-abc123.js']
assets.getAssetPathWithDependencies('assets/main.js');

Configure asset versions

Create a assets.json file:

{
  "sourceDir": "assets",
  "targetDir": "assets/rev/",
  "files": [
    "main.css",
    "main-dev.css",
    "main.js"
  ]
}

Configuration options

  • versions file name – both the cli (through the --output/ -o flag) and the module (through the versionsFileName option) can be tweaked to use another versions file than the default asset-versions.json

Extras

  • AssetVersions.baseAppPlugin – for use with @hdsydsvenskan/base-web-app
  • AssetVersions.webpackManifestPluginGenerate – a generate method for use with webpack-manifest-plugin to generate manifest with dependencies

/@hdsydsvenskan/asset-versions/

    Package Sidebar

    Install

    npm i @hdsydsvenskan/asset-versions

    Weekly Downloads

    265

    Version

    4.0.1

    License

    MIT

    Unpacked Size

    328 kB

    Total Files

    59

    Last publish

    Collaborators

    • jackesa
    • bnsuswol
    • adamosterlund
    • takolander
    • andreas.samuelsson
    • bonniererikrosberg
    • vitryssen
    • johngustav
    • rickardk_
    • herbola
    • ninhow
    • morre
    • maria.rudolphi
    • coulrophobiac
    • tobiasharle
    • j0n
    • emilbjorklund
    • nifo
    • mikael.mattsson
    • jonaek
    • linusthiel-bn
    • johangrahn
    • jon.eldeklint