liferay-npm-bundler-plugin-inject-peer-dependencies
Inject peer and undeclared dependencies (as long as they are installed under
"node_modules") in package.json files.
Installation
npm install --save-dev liferay-npm-bundler-plugin-inject-peer-dependencies
Usage
Add the following to your .npmbundlerrc
file:
Without options:
{
"*": {
"plugins": ["inject-peer-dependencies"]
}
}
With options:
{
"*": {
"plugins": [
[
"inject-peer-dependencies",
{
"defineCall": "Liferay.Loader.define"
}
]
]
}
}
Technical Details
This plugin injects missing dependencies in package.json
files when they are
found inside AMD define()
calls in any of their module files and the
dependency is installed under "node_modules". This is needed for peer
dependencies to work correctly under Liferay's npm architecture and it may also
make some incorrect setups work they way they do on Node.js.
To determine the version of the dependencies to inject, the plugin resolves the
peer/undeclared packages from the context of the module where they are
referenced using the standard node resolve algorithm.
Please note that, for the referenced packages to be included they must also be
listed in the project's package.json
so that they are included in the final
OSGi bundle.