Need help with crosstalk?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

250 Stars 49 Forks Other 187 Commits 56 Opened issues


Inter-htmlwidget communication for R (with and without Shiny)

Services available


Need anything else?

Contributors list


CRAN R-CMD-check <!-- badges: end -->

Crosstalk is a package for R that enhances the htmlwidgets package. It extends htmlwidgets with a set of classes, functions, and conventions for implementing cross-widget interactions (currently, linked brushing and filtering).

Find out more at the documentation website:

Building JavaScript assets

(This section is only for developers who intend to modify the JavaScript source code in Crosstalk itself.)

The JavaScript source code in this package lives under

, however the copy that is actually loaded and used during runtime is in minified form at
. Anytime you make changes to
source files, you must rebuild the minified JS.

To set up your repo for building the minified JS:

  1. First install nvm if you don't have it already.
  2. In the crosstalk repo's root directory, run
    nvm install
    ; this will install the version of Node.js we need.
  3. Run
    nvm use
    to switch to our version of Node.js.
  4. Run
    npm install
    to install all Node.js dependencies.

To actually build the minified JS:

  1. Run
    nvm use
    (only needed once per terminal session).
  2. Run
    node node_modules/.bin/grunt
    (or if you have installed
    globally, you can just run

This will run unit tests, lint, and build the JavaScript dist bundle. When making changes to the JavaScript code, you must always do this first, and then build the R package as normal.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.