piral-instance-webpack-plugin
v1.1.0
Published
Webpack plugin for generating a valid Piral instance bundle.
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-devThen 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.
