0.2.4 • Published 2 years ago

@solec/ic-webpack-plugin v0.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

IC Canister Plugin

Overview

A Webpack plugin to find your Internet Computer canister Ids and create environment variables for them.

Build status Commitizen friendly Dependencies Latest Version License

Installation

$ npm i -D @solec/ic-webpack-plugin

Usage

In your webpack.config.js file, add this plugin to your plugins array:

const IcWebpackPlugin = require('@solec/ic-webpack-plugin');

module.exports = {
  // ...
  plugins: [
    // ...
    new IcWebpackPlugin(),
  ],
};

Using an alternative network

The plugin will automatically load the canister IDs from .dfx/local/canister_ids.json. If you need to specify a different network, you can set the DFX_NETWORK variable.

In your dfx.json file, add another network, for example:

{
  "networks": {
    // ...
    "testnet": {
      "bind": "127.0.0.1:8000", // insert your network's URL here
      "type": "ephemeral"
    }
  }
}

Create your canisters on the network:

$ dfx canister --network testnet create --all

Then deploy your canisters:

$ dfx deploy --network testnet

The plugin will automatically pick up the network that you've selected through dfx.

Production

When --network is set to ic through dfx, or NODE_ENV is to production then canister IDs will be read from a canister_ids.json file in the root of your directory. That file should be structured like this:

{
  "${canister_name}": {
    "ic": "${canister-id}"
  },
  "${canister_name}": {
    "ic": "${canister-id}"
  }
}

Contributing

Check out our Contribution Guide.