drupal-librarify-webpack-plugin

1.0.25 • Public • Published

npm node deps tests cover chat size

drupal-librarify-webpack-plugin

Prepare and create the library.yml file for Drupal.

Getting Started

To begin, you'll need to install drupal-librarify-webpack-plugin:

$ npm install drupal-librarify-webpack-plugin --save-dev

Then add the plugin to your webpack config. For example:

webpack.config.js

const DrupalLibrarifyPlugin = require('drupal-librarify-webpack-plugin');

module.exports = {
  plugins: [new DrupalLibrarifyPlugin()],
};

And run webpack via your preferred method.

Options

Name Type Default Description
version {Boolean|String} undefined Include version in library.yaml assertion
header {Boolean} false Indicate that the JavaScript assets in that asset library are in the 'critical path' and should be loaded from the header
prefix {String|Function} drupal. Prefix your libary name
minified {String|Boolean} auto Global css minified options.
js {Object} {} In order to override js options for your library.`
css {Object} {} In order to override css options for your library.
dependencies {Array|Object} { 'core/jquery': true, 'core/jquery.once': true, 'core/drupal': true, 'core/drupal.form': false, 'core/drupalSettings': true } Manually specify the dependencies for your library
weight {Number} undefined Adjusts order relative to other assets. Discouraged for JS

version

Type: Boolean\|String Default: undefined

Include version in library.yaml. If true, then it will "guess" the version in the package.json file.

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      version: '1.0.0',
    }),
  ],
};

header

Type: Boolean Default: false

Indicate that the JavaScript assets in that asset library are in the 'critical path' and should be loaded from the header.

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      header: true,
    }),
  ],
};

prefix

Type: String|Function Default: drupal.

Prefix your library name.

String

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      prefix: 'custom.',
    }),
  ],
};

Function

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      prefix(info) {
        // info.file is the original asset filename
        // info.path is the path of the original asset
        // info.query is the query
        return `${info.path}.${info.query}.`;
      },
    }),
  ],
};

minified

Type: Boolean\|String Default: auto

Global css minified options.

Boolean

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      minified: false,
    }),
  ],
};

String

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      minified: 'auto',
    }),
  ],
};

js

Type: Object Default: {}

In order to override js options for your library.

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      js: {
        'my/library/path/filename.js': {
          preprocess: false,
        },
      },
    }),
  ],
};

css

Type: Object Default: {}

In order to override css options for your library.

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      css: {
        'my/library/path/filename.css': {
          minified: true,
        },
      },
    }),
  ],
};

dependencies

Type: Array\|Object Default: { 'core/jquery': true, 'core/jquery.once': true, 'core/drupal': true, 'core/drupal.form': false, 'core/drupalSettings': true }

In order to override css options for your library.

webpack.config.js

Array

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      dependencies: ['core/drupal.form'],
    }),
  ],
};

Object

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      dependencies: {
        'core/jquery.once': false,
        'core/drupal.form': true,
      },
    }),
  ],
};

weight

Type: Number Default: undefined

Adjusts order relative to other assets. Discouraged for JS.

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      weight: -10,
    }),
  ],
};

entries

Type: Object Default: {}

In order to override entries options for your library.

webpack.config.js

module.exports = {
  plugins: [
    new DrupalLibrarifyPlugin({
      entries: {
        mySublibraryModule: {
          version: '2.0.0',
        },
      },
    }),
  ],
};

Contributing

Please take a moment to read our contributing guidelines if you haven't yet done so.

CONTRIBUTING

License

MIT

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.253latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.253
1.0.240
1.0.230
1.0.220
1.0.210
1.0.200
1.0.195
1.0.180
1.0.171
1.0.163
1.0.150
1.0.141
1.0.133
1.0.122
1.0.110
1.0.101
1.0.91
1.0.80
1.0.71
1.0.60
1.0.51
1.0.41
1.0.32
1.0.20
1.0.10
1.0.00

Package Sidebar

Install

npm i drupal-librarify-webpack-plugin

Weekly Downloads

25

Version

1.0.25

License

MIT

Unpacked Size

22.5 kB

Total Files

11

Last publish

Collaborators

  • donaldinou