# vite-plugin-blocklet

> The Vite library plugin, which enhanced development of [ArcBlock blocklet](http://developer.blocklet.io/)

Latest version **0.14.6** (published 2026-01-07) · ISC license · 0 weekly downloads

## Install

```sh
npm install vite-plugin-blocklet
pnpm add vite-plugin-blocklet
yarn add vite-plugin-blocklet
bun add vite-plugin-blocklet
```

## Health

**Score 50/100 (C)** — status: stable.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.14.6 |
| Published | 2026-01-07 |
| First published | 2022-03-23 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=20.0.0 |
| Dependencies | 15 |
| Unpacked size | 73.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | wangshijun, lancelot_lewis |

## Links

- npm: https://www.npmjs.com/package/vite-plugin-blocklet
- npm.io page: https://npm.io/package/vite-plugin-blocklet

## Dependencies (15)

- [mri](https://npm.io/package/mri.md) ^1.2.0
- [ufo](https://npm.io/package/ufo.md) ^1.5.4
- [defu](https://npm.io/package/defu.md) ^6.1.4
- [mlly](https://npm.io/package/mlly.md) ^1.7.4
- [yaml](https://npm.io/package/yaml.md) ^2.7.0
- [p-map](https://npm.io/package/p-map.md) ^4.0.0
- [semver](https://npm.io/package/semver.md) ^7.7.1
- [get-port](https://npm.io/package/get-port.md) ^5.1.1
- [@ocap/util](https://npm.io/package/@ocap/util.md) ^1.28.3
- [ismobilejs](https://npm.io/package/ismobilejs.md) ^1.1.1
- [@arcblock/did](https://npm.io/package/@arcblock/did.md) ^1.28.3
- [@ocap/mcrypto](https://npm.io/package/@ocap/mcrypto.md) ^1.28.3
- [http-proxy-middleware](https://npm.io/package/http-proxy-middleware.md) ^3.0.3
- [vite-plugin-node-polyfills](https://npm.io/package/vite-plugin-node-polyfills.md) ^0.23.0
- [rollup-plugin-external-globals](https://npm.io/package/rollup-plugin-external-globals.md) ^0.12.1

## Recent versions

- 0.14.6 (latest) — 2026-01-07
- 0.14.5 — 2026-01-06
- 0.14.4 — 2026-01-06
- 0.14.3 — 2026-01-04
- 0.14.2 — 2026-01-04
- 0.14.1 — 2026-01-04
- 0.14.0 — 2025-12-30
- 0.13.2 — 2025-12-29
- 0.13.1 — 2025-12-19
- 0.13.0 — 2025-12-19
- 0.12.5 — 2025-12-15
- 0.12.4 — 2025-11-28
- 0.12.3 — 2025-11-14
- 0.12.2 — 2025-11-07
- 0.12.1 — 2025-11-04
- … 171 more at https://npm.io/package/vite-plugin-blocklet/versions

## README

# vite-plugin-blocklet

The Vite library plugin, which enhanced development of [ArcBlock blocklet](http://developer.blocklet.io/)

## Use examples

### Example of front-end project
``` js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { createBlockletPlugin } from 'vite-plugin-blocklet';
import { nodePolyfills } from 'vite-plugin-node-polyfills';

// https://vitejs.dev/config/
export default defineConfig(async () => {
  return {
    plugins: [react(), createBlockletPlugin(), nodePolyfills({ protocolImports: true })],
  };
});
```

### Example of back-end project

`api/index.js`
```js
const express = require('express');
const app = express();

module.exports = { app };
```

`api/dev.js`
```js
const { setupClient } = require('vite-plugin-blocklet');
const { app } = require('./index');

setupClient(app);
```

`package.json`
```json
"start": "NODE_ENV=development nodemon api/dev.js -w api",
```

Basically, you `vite.config.js` file should be in the root of project folders, if you need setup a custom vite config file, you should change your npm scripts, like:

`package.json`
```json
"start": "NODE_ENV=development nodemon api/dev.js -w api -- --config=./config/vite.config.js",
```

Or you can just pass vite config file path to `setupClient` function, like this:

```js
const { setupClient } = require('vite-plugin-blocklet');
const { app } = require('./index');

setupClient(app, { configFile: './config/vite.config.js'});
```

---
_Source: https://npm.io/package/vite-plugin-blocklet · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
