piral-instance-webpack-plugin
v1.0.1
Published
Webpack plugin for generating a valid Piral instance bundle.
Downloads
1,607
Maintainers
Readme
piral-instance-webpack-plugin
The piral-instance-webpack-plugin
helps you to build Piral instances using Webpack.
Getting Started
To begin, you'll need to install piral-instance-webpack-plugin
:
npm install piral-instance-webpack-plugin --save-dev
Then add the plugin to your webpack
config. For example:
webpack.config.js
const { PiralInstanceWebpackPlugin } = require('piral-instance-webpack-plugin');
const piralPkg = require('./package.json');
const excludedDependencies = ['piral', 'piral-core', 'piral-base', piralPkg.name];
const dependencies = piralPkg.pilets?.externals ?? [];
const externals = dependencies.filter((m) => !excludedDependencies.includes(m));
module.exports = {
plugins: [
new PiralInstanceWebpackPlugin({
name: piralPkg.name,
version: piralPkg.version,
externals,
}),
],
};
And run webpack
via your preferred method.
Options
variables
Allows supplying additional variables to be used as definitions. Similar to the definePlugin
.
Example:
const { PiralInstanceWebpackPlugin } = require('piral-instance-webpack-plugin');
const piralPkg = require('./package.json');
const excludedDependencies = ['piral', 'piral-core', 'piral-base', piralPkg.name];
const dependencies = piralPkg.pilets?.externals ?? [];
const externals = dependencies.filter((m) => !excludedDependencies.includes(m));
module.exports = {
plugins: [
new PiralInstanceWebpackPlugin({
name: piralPkg.name,
version: piralPkg.version,
externals,
variables: {
PIRAL_CLI_VERSION: require('piral-cli/package.json').version,
},
}),
],
};
debug
Defines the version of the general debugging tools, if any. Setting true
will auto-determine the version. Setting false
or omitting will not include general debugging tools.
Example:
const { PiralInstanceWebpackPlugin } = require('piral-instance-webpack-plugin');
const piralPkg = require('./package.json');
const excludedDependencies = ['piral', 'piral-core', 'piral-base', piralPkg.name];
const dependencies = piralPkg.pilets?.externals ?? [];
const externals = dependencies.filter((m) => !excludedDependencies.includes(m));
module.exports = {
plugins: [
new PiralInstanceWebpackPlugin({
name: piralPkg.name,
version: piralPkg.version,
externals,
debug: true,
}),
],
};
emulator
Defines the path of the emulator pilet API, if any. Setting true
will take the default path. Setting false
or omitting will not include the emulator pilet API call.
Example:
const { PiralInstanceWebpackPlugin } = require('piral-instance-webpack-plugin');
const piralPkg = require('./package.json');
const excludedDependencies = ['piral', 'piral-core', 'piral-base', piralPkg.name];
const dependencies = piralPkg.pilets?.externals ?? [];
const externals = dependencies.filter((m) => !excludedDependencies.includes(m));
module.exports = {
plugins: [
new PiralInstanceWebpackPlugin({
name: piralPkg.name,
version: piralPkg.version,
externals,
emulator: '/$pilet-api',
}),
],
};
Contributing
Contributions in any form are appreciated and much welcome!
Just make sure to post an issue or reach out to me on Gitter before starting actual work on anything. It really helps to avoid problems.
License
This plugin is released using the MIT license.