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 🙏

© 2025 – Pkg Stats / Ryan Hefner

twitchext-vue

v1.0.0

Published

A Vue abstraction for the Twitch Extension JavaScript Helper.

Readme

TwitchExt-Vue

A Vue abstraction for the Twitch Extension JavaScript Helper.

Overview

TwitchExt-Vue simplifies integration with the Twitch Extension Helper in your Vue applications.
It provides reactive Twitch extension data without requiring manual setup.

Installation

Install via npm or yarn:

npm install twitchext-vue
# OR
yarn add twitchext-vue

Dependencies

  • Vue 3

Usage

Composition API

Use the useTwitchExt() function to access the Twitch extension helper in a reactive way:

<script setup>
import { useTwitchExt } from "twitchext-vue";

const ext = useTwitchExt();
</script>

<template>
  <div v-if="ext.initialized">
    {{ ext.viewer.opaqueId }}
  </div>
  <div v-else>
    Loading...
  </div>
</template>

Options API

With the Options API, TwitchExt-Vue adds a $ext field to your Vue instance, allowing you to access the Twitch extension helper reactively.

Register the Plugin

import Vue from "vue";
import App from "./App";
import TwitchExtPlugin from "twitchext-vue";

Vue.use(TwitchExtPlugin);

new Vue({
  el: "#app",
  render: (h) => h(App),
});

Accessing Data in the Options API

You can access Twitch extension data as computed properties:

computed: {
  opaqueId() {
    return this.$ext.viewer.opaqueId;
  }
}

Data Structure

TwitchExt-Vue follows the same structure as the Twitch Extension Helper, making it easy to integrate.

General Data

Access Twitch extension data in both the Composition API and Options API.

Composition API Example

<script setup>
import { computed } from "vue";
import { useTwitchExt } from "twitchext-vue";

const ext = useTwitchExt();
const opaqueId = computed(() => (ext.initialized ? ext.viewer.opaqueId : ""));
</script>

Options API Example

computed: {
  opaqueId() {
    return this.$ext.viewer.opaqueId;
  }
}

Custom Data Fields

Bits

  • bits.hasOngoingBitTransaction: booleantrue if a Bits transaction is in progress.

Channel

  • channel.initialized: booleantrue if the channel info is available.
  • channel.id: string → Returns the Twitch channel ID.

Configuration Service

  • configuration.initialized: booleantrue if configuration data is available.

Position

  • position.initialized: booleantrue if position info is available.

Viewer

  • viewer.initialized: booleantrue if viewer data is available.

Context

TwitchExt-Vue stores the same context structure as the onContext method.

  • context.initialized: booleantrue if the context is set.

Query Parameters

For query parameters, see the Twitch Query Params documentation.

  • Use this.$ext.queryParams (Options API) or ext.queryParams (Composition API) to access them.

Other Frameworks

Vue 3 / Vite Starter

To quickly set up a Twitch Extension with Vue 3 and Vite, use my starter template:
🔗 TwitchExt-Vue-Starter

React

If you prefer React, you can use my React package:
🔗 TwitchExt-React


Resources