node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



The broccoli-stylus-single plugin compiles .styl files with Stylus.

This plugin is designed to compile a single, primary input file into a single output file, with a tree of @included dependencies. This differs from broccoli-stylus, which compiles each .styl file individually into a .css file and doesn't support @includes or a single output file depending on multiple inputs.

This code is based heavily on broccoli-sass


npm install --save-dev broccoli-stylus-single


var compileStylus = require('broccoli-stylus-single');
var outputTree = compileStylus(inputTrees, inputFile, outputFile, options)
  • inputTrees: An array of trees that act as the include paths for stylus. If you have a single tree, pass [tree].

  • inputFile: Relative path of the main .styl file to compile. This file must exist in one of the inputTrees.

  • outputFile: Relative path of the output CSS file.

  • options: A hash of options for stylus.


var appCss = compileStylus(sourceTrees, 'myapp/app.styl', 'assets/app.css')

Stylus Version

This plugin uses a recent Stylus version, but can utilize a specific version of your choice. To require a specific version simply specify it in your project's package.json along with this plugin.

In this example package.json, the latest pre-1.0 version of Stylus will be used instead of the version bundled with this plugin:

  "name": "your-project",
  "dependencies": {
    "broccoli-stylus-single": "0.1.2",
    "stylus": "0.x",