@gforces/webpak-assets-map-plugin
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

Map of bundles and assets

A webpack plugin that generates a map of all assets emitted by webpack. It is useful if you manually manage assets in your project. The map is created in JSON format by default, but can be freely parsed to any other format.

Usage

Using the plugin comes down to registering an instance in the webpack configuration. You can pass in the constructor the settings described below.

Install

npm install --save-dev @gforces/webpak-assets-map-plugin

Add to webpack config

module.exports = {
    // ...
    plugins: [
        new AssetsMapPlugin(options?),
    ],
}

Options

  • output string (default: 'assetsMap.json')

    Path to output file

  • formatter function (default: JSON.stringify)

    Function to format output object before it is saved to file. It is defined as:

    (output: AssetsMapPluginResults) => string;

    Example: Output to PHP format with json2php

    const json2php = require('json2php');
    new AssetsMapPlugin({
      output: 'map.php', 
      formatter: result => `<?php\nreturn ${json2php(result)};\n`,
    })
  • assets boolean (default: true)

    Include assets in output

  • auxiliaryFiles boolean (default: false)

    Include auxiliary files in output

  • rootPath string (default: webpack output path)

    The path to which all bundles, assets and auxiliary files will be relative. By default, all extracted files are relative to the webpack output path.

  • clean boolean (default: false)

    Removes all files not generated by webpak last compilation. Unlike the built-in webpack.output.clean setting, it also removes files from paths where assets are saved.

Output

Output is an object with a {AssetsMapPluginResults} type. As default it is output to the file in JSON format. It contains three properties described bellow:

type AssetsMapPluginResults = {
  entrypoints: {
    [name: string]: string[];
  }
  assets?: {
    [source: string]: string;
  }
  auxiliaryFiles?: string[]
};
  • entrypoints

    A map of entrypoints names to associated bundles. If you use content hashes in the output file names, they will also be included.

  • assets

    A map of source files to emitted assets. It contains non-scripts files like css and everythhing you generate with other plugins.

  • auxiliaryFiles

    A flat list of all other files, such as source maps and dynamically imported files

Package Sidebar

Install

npm i @gforces/webpak-assets-map-plugin

Weekly Downloads

3

Version

0.0.7

License

MIT

Unpacked Size

8.68 kB

Total Files

5

Last publish

Collaborators

  • michalfelski