piral-instance-webpack-plugin
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

npm node chat size

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.

Package Sidebar

Install

npm i piral-instance-webpack-plugin

Homepage

piral.io

Weekly Downloads

377

Version

1.0.1

License

MIT

Unpacked Size

13.3 kB

Total Files

11

Last publish

Collaborators

  • florianrappl