npm.io
4.7.1 • Published 5 months ago

@junobuild/vite-plugin

Licence
MIT
Version
4.7.1
Deps
1
Size
1.7 MB
Vulns
0
Weekly
0
Stars
3

npm license

Juno Vite Plugin

A Vite plugin for Juno.

Getting started

The plugin automatically loads your Satellite and Orbiter IDs.

With these values, you can instantiate Juno in your code without the need to manually define environment variables.

await Promise.all([initSatellite(), initOrbiter()]);

Environment variables

Those following environment variables are injected by this plugin:

Environment variable Value
VITE_SATELLITE_ID Satellite ID from Juno config (per mode)
VITE_ORBITER_ID undefined in development, Orbiter ID from Juno config.
VITE_INTERNET_IDENTITY_ID rdmx6-jaaaa-aaaaa-aaadq-cai
VITE_ICP_LEDGER_ID ryjl3-tyaaa-aaaaa-aaaba-cai
VITE_ICP_INDEX_ID qhbym-qaaaa-aaaaa-aaafq-cai
VITE_NNS_GOVERNANCE_ID rrkah-fqaaa-aaaaa-aaaaq-cai
VITE_CMC_ID rkp4c-7iaaa-aaaaa-aaaca-cai
VITE_REGISTRY_ID rwlgt-iiaaa-aaaaa-aaaaa-cai
VITE_CYCLES_LEDGER_ID um5iw-rqaaa-aaaaq-qaaba-cai
VITE_CYCLES_INDEX_ID ul4oc-4iaaa-aaaaq-qaabq-cai
VITE_SNS_WASM_ID qaa6y-5yaaa-aaaaa-aaafa-cai
VITE_NNS_DAPP_ID qoctq-giaaa-aaaaa-aaaea-cai
VITE_CONTAINER Container URL (emulator or custom); undefined by default in production

VITE_ is the default prefix used by Vite. It can be customized as described in Vite's documentation.

Installation

npm i @junobuild/vite-plugin -D

Usage

// vite.config.js
import juno from '@junobuild/vite-plugin';

export default defineConfig({
  plugins: [juno()]
});

Options

The plugin can be customized using the optional juno configuration object. This allows you to control how the Juno Docker container is used in your project, especially during local development or end-to-end (E2E) testing.

juno.container

Use the container option to enable, disable, or fine-tune the use of Juno Docker.

You can provide:

  • false — to disable the container entirely.
  • true — to enable the container with default settings (only in development mode), which is also the default behavior.
  • An object with the following fields:
    • url (string, optional): A custom container URL, including the port. Example: http://127.0.0.1:8000
    • modes (string[], optional): An array of modes (e.g., ['development', 'test']) during which the container should be used.

By default, the container is mounted only in development mode.

// vite.config.js
import juno from '@junobuild/vite-plugin';

export default defineConfig({
  plugins: [
    juno({
      container: {
        url: 'http://127.0.0.1:8000',
        modes: ['development', 'test']
      }
    })
  ]
});

License

MIT David Dal Busco

Keywords