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.

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i piral-instance-webpack-plugin

    Homepage

    piral.io

    Weekly Downloads

    333

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    13.3 kB

    Total Files

    11

    Last publish

    Collaborators

    • florianrappl