npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@univer-community/ui-adapter-vue2

v0.22.0

Published

Vue 2 adapter plugin for Univer UI components

Readme

@univer-community/ui-adapter-vue2

@univer-community/ui-adapter-vue2 is a Univer UI adapter plugin that lets you render Vue 2 components inside Univer's component system.

After registering the plugin, you can declare components with framework: "vue2" and render them in sidebars, panels, and other Univer UI slots.

When to Use It

  • Your application is still based on Vue 2.
  • You are already using @univerjs/ui.
  • You want to reuse existing Vue 2 components in Univer UI instead of rewriting them in React.

Version Compatibility

  • vue 2.x

Installation

pnpm add @univer-community/ui-adapter-vue2

Your project also needs the relevant Univer core and UI packages, such as @univerjs/core, @univerjs/ui, and @univerjs/engine-render.

Plugin Registration

The key integration point is plugin registration. Based on the demo, register the adapter right after UniverUIPlugin:

import { UniverVue2AdapterPlugin } from "@univer-community/ui-adapter-vue2";

// Should be registered after UniverUIPlugin
univer.registerPlugin(UniverVue2AdapterPlugin);

Register a Vue 2 Component

The demo in this repository uses the Univer facade API, which is also the recommended way to register components:

import { FUniver } from "@univerjs/core/facade";
import MyBadge from "./MyBadge.vue";

const univerAPI = FUniver.newAPI(univer);

univerAPI.registerComponent("MyBadge", MyBadge, {
  framework: "vue2",
});

You can then reference that component in Univer UI configuration:

univerAPI.openSidebar({
  id: "custom-sidebar",
  width: 320,
  header: {
    label: "Vue2 Component",
  },
  children: {
    content: {
      name: "MyBadge",
      props: {
        text: "Mounted with framework: vue2",
      },
    },
  },
});

How It Works

This plugin registers a "vue2" handler on ComponentManager:

  • Univer UI still renders the outer wrapper through React.
  • The adapter instantiates the Vue 2 component inside the mount point.
  • Incoming component props are passed into the Vue 2 instance through propsData.
  • The Vue instance is destroyed automatically when the component is unmounted.

Local Development

Install dependencies:

pnpm install

Start the demo:

pnpm dev

Run type checking:

pnpm typecheck

Build the library:

pnpm build

Build the demo:

pnpm build:demo

Build Output

Running pnpm build generates:

  • lib/es: ESM output
  • lib/cjs: CommonJS output
  • lib/types: TypeScript declaration files

Demo

The demo/ directory shows a complete integration flow:

  • Initialize a Univer instance with the required plugins
  • Register UniverVue2AdapterPlugin
  • Register the Vue 2 component HelloBadge.vue
  • Open a sidebar and render that component after the Univer lifecycle reaches the steady stage

License

MIT