Vite Plugin

API reference for the Polyq Vite plugin.

Vite Plugin

polyq/vite — Works with React, Svelte, SvelteKit, Remix, and any Vite project.

polyqVite(config?)

Returns an array of Vite plugins that handle polyfills and schema sync.

import { polyqVite } from 'polyq/vite'

export default defineConfig({
  plugins: [polyqVite()],
})

Parameters:

ParamTypeDescription
configPolyqConfigOptional. Polyfill and schema sync settings.

Returns: Plugin[]

With Options

polyqVite({
  polyfills: { mode: 'manual', buffer: true },
  schemaSync: {
    watchDir: 'target/idl',
    mapping: { my_program: ['src/idl.json'] },
  },
})

polyqPolyfills(options?)

Standalone polyfill plugin. Auto-detects blockchain dependencies and configures Vite.

import { polyqPolyfills } from 'polyq/vite'

Parameters:

ParamTypeDefaultDescription
options.mode'auto' \| 'manual''auto'Auto-detect from package.json or use explicit flags
options.bufferbooleantrue (auto)Alias buffer to npm buffer/ package
options.globalbooleantrue (auto)Define global as globalThis
options.cryptobooleanfalseAlias crypto to crypto-browserify
options.processbooleanfalseAlias process to process/browser

Returns: Plugin

polyqIdlSync(options?)

Standalone schema sync plugin with HMR.

import { polyqIdlSync } from 'polyq/vite'

Parameters:

ParamTypeDefaultDescription
options.watchDirstring'target/idl'Directory to watch for changes
options.mappingRecord<string, string[]>{}Map schema name → destination paths

Returns: Plugin