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



Build Status NPM version

Unified Gulp tasks for FullScreenShenanigans projects.


There are over two dozen repositories in the FullScreenShenanigans organization. This unifies common build logic and can be updated more easily than editing each individual repository. Updates can be brought in using npm update.


gulp by default completely re-builds the project. You should have run this once after cloning the project.

Use gulp src to rebuild source files under /src and gulp test to rebuild source files under /test. You can also use gulp watch to incrementally build both.

Some projects have extra groups of tasks specified under "shenanigans" in their package.json.

  • web groups are for projects that generate .html pages as output, such as games.
  • games groups are for projects that subclass GameStartr.

Tasks in Detail


The default task runs src, lib, test, docs, and any custom task groups in order.


Compiles source files in-place in the /src folder.

  • src:tsc - Runs the TypeScript compiler on source .ts files in-place.
  • src:tslint - Runs TSLint on source .ts files.

Sub-tasks included in the web group:

  • src:scss - Runs the Sass compiler on source .scss files in-place
  • src:scssLint - Runs scss-lint on source .scss files.


Compiles source files into the /lib folder.

  • lib:tsc - Runs the TypeScript compiler on source .ts files to create /lib output.

Sub-tasks included in the web group:

  • lib:copy - Copies web resource files into the /lib folder.
  • lib:cssMin - Minifies CSS from /src into the /lib folder.
  • lib:html - Minifies HTML from /src into the /lib folder.


Creates test runners and runs them in the /test folder.

  • test:html - Creates a /test/index.html that can run tests.
  • test:utilities - Copies configuration and utility files into the project directory.
  • test:tsc - Compiles test .ts files in-place.
  • test:run - Runs tests.


Creates highly minified output file(s) in the /dist folder.

  • dist:webpack - Creates optimized output file(s) for distribution.


Generates HTML documentation under /docs/generated based on source file comments.

  • docs:typedoc