🌱 A blazing-fast Single Page Application engine
JavaScript CSS
Latest commit b2c0860 Jun 12, 2018



Build Status Dependencies Status DevDependencies Status

Senna.js is a blazing-fast single page application engine that provides several low-level APIs that allows you to build modern web-based applications with only ~15 KB of JavaScript without any dependency.

Support and Project status

Senna.js is widely used and well maintained internally at Liferay but does not currently have staffing to support the open source release. As such this project is mostly internal and support is minimal. For certain issues, like build integration we are in an especially bad position to offer support.

To get assistance you can use any of the following forums

  1. Look through the documentation.
  2. File an issue on GitHub

We will try our best, but keep in mind that given our support staffing, we may not be able to help.


Install via npm, Bower, CDN or download as a zip:

npm install senna


  • Email Example: Enable Single Page Apps using only HTML5 data-attributes;
  • Gallery Example: Carousel app with history support and cacheable screens;
  • Blog Example: Infinite scrolling pages done right with history support;


  1. Install NodeJS >= v0.12.0, if you don't have it yet.

  2. Install global dependencies:

[sudo] npm install -g gulp
  1. Install local dependencies:
npm install
bower install
  1. Build the code:
gulp server
  1. Test the code:
gulp test
gulp test:coverage


  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D


For detailed changelog, check Releases.



Senna.js was made with love by these people and a bunch of awesome contributors.

Author Maintainer
Eduardo Lundgren Bruno Basto
Eduardo Lundgren Bruno Basto

Browser Support

Sauce Test Status


BSD License © Liferay, Inc.