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

vxml-jsx

v0.0.4

Published

Experimental lib to integrate VoiceXML with JSX

Readme

vxml.jsx

VoiceXML (VXML) is designed for creating audio dialogs that feature synthesized speech, digitized audio, recognition of spoken and DTMF key input, recording of spoken input, telephony, and mixed initiative conversations.

This experimental project aims to integrate VoiceXML with JSX.

Installation

To use vxml.jsx, you first need to install it using Yarn:

yarn add vxml-jsx

You also need to have Babel installed with the @babel/plugin-transform-react-jsx plugin enabled. This plugin allows Babel to transform JSX syntax into regular JavaScript function calls. Here's how you can install Babel and the plugin:

yarn add -D @babel/core @babel/cli @babel/preset-env @babel/plugin-transform-react-jsx
// .babelrc
{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-typescript",
    "@babel/preset-react"
  ],
  "plugins": [
    "@babel/plugin-transform-runtime",
    ["@babel/plugin-transform-react-jsx", { "pragma": "JSXXML.createElement" }]
  ]
}

Once you have Babel installed, you need to add the following comment, which is a JSX pragma, and import JSXXML at the top of each file that contains JSX syntax for transpiler:

/** @jsx JSXXML */
import { JSXXML } from "vxml-jsx";

This tells Babel to correctly transform XML JSX syntax into function calls.

Usage

Once you have vxml.jsx and Babel set up, you can start using JSX syntax to create VoiceXML documents. Here's an example:

/** @jsx JSXXML */
import { Block, JSXXML } from "vxml-jsx";
const Hello = <Block>Hello World!</Block>;
export default Hello;

Note vxml.jsx is still in a very early stage.

VXML Components

Component names should be exactly the same as the vanilla tags, except that the first letter should be capitalized. Usage is listed as follows:

Composition Components

Composition components are based on VXML components to provide a common interaction flow in VoiceXML.

Note In development.