winjs 0,0,0,0,1,-1,0,-1 jscs travis-ci npm

A UI toolkit for modern browsers

Windows Library for JavaScript (WinJS)

Join the chat at Build Status


Right now, Microsoft plans to maintain WinJS’s existing features–this means responding to Issues and Pull Requests on a regular basis. We’re committed to making sure that WinJS continues to run well. At this time, we don’t have plans to invest in new features or feature requests; this also means that we’re not planning a new feature release.


WinJS is a set of JavaScript toolkits that allow developers to build applications using HTML/JS/CSS technology forged with the following principles in mind:

  • Provide developers with a distinctive set of UI controls with high polish and performance with fundamental support for touch, mouse, keyboard and accessibility
  • Provide developers with a cohesive set of components and utilities to build the scaffolding and infrastructure of their applications

This is a first step for the WinJS project and there is still a lot of work that needs to be done. Feel free to participate by contributing along the way.


There are many ways to contribute to the project.

You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submitting bugs and helping us verify fixes as they are checked in, as well as submitting code fixes or code contributions of your own.

Note that all code submissions will be rigorously reviewed and tested by the team, and only those that meet an extremely high bar for both quality and design appropriateness will be merged into the source.

Build WinJS

In order to build WinJS, ensure that you have git and Node.js installed.

Clone a copy of the master WinJS git repo:

git clone

Change to the winjs directory:

cd winjs

Install the grunt command-line interface globally:

npm install -g grunt-cli

Grunt dependencies are installed separately in each cloned git repo. Install the dependencies with:

npm install

Run the following and the WinJS JavaScript and CSS files will be put in the bin directory:


Note: You may need to use sudo (for OSX, *nix, BSD etc) or run your command shell as Administrator (for Windows) to install Grunt globally.

Tests status

Refer to for the current status of the unit tests and the list of known issues.

Try WinJS

Check out our online playground at

The old playground is still available at

Follow Us


Related Repositories



A UI toolkit for modern browsers ...



React wrapper around WinJS's controls ...



Project to smooth the AngularJS/WinJS interaction ...



Samples using WinJS and Polymer ...



Cordova/WinJS Stocks Sample app ...

Top Contributors

jseanxu phosphoer xirzec AmazingJaze banguero rigdern TheWrathOfConst spankyj PaulWells llongley pgills jdalton payzer granthnk cybermerlin pke kanreisa MythiliM humale charleswli ericjim bmullan91 brenopolanski niallatms cthedot jayrenn caseyfaber CensoredUser dlannoye derekpeterson


package version
dev bowser ~1.0.0
chalk ~0.5.1
fs-extra ^0.10.0
glob ^4.0.5
grunt ~0.4.5
grunt-contrib-clean ~0.6.0
grunt-contrib-compress ^0.13.0
grunt-contrib-concat ~0.5.0
grunt-contrib-connect ^0.8.0
grunt-contrib-copy ~0.5.0
grunt-contrib-cssmin ^0.12.3
grunt-contrib-jshint ~0.10.0
grunt-contrib-less ~0.11.4
grunt-contrib-requirejs ^0.4.4
grunt-contrib-uglify ^0.5.1
grunt-git ^0.3.5
grunt-github-releaser ^0.1.17
grunt-jscs ^1.8.0
grunt-nuget ^0.1.4
grunt-replace ~0.7.8
grunt-saucelabs git+
grunt-shell ~0.7.0
grunt-ts ~3.0.0
http-post ~0.1.1
less ^1.7.4
load-grunt-tasks ^0.6.0
minimist 0.2.0
qunitjs ~1.14.0
seed-random ^2.2.0
text-table ~0.2.0
typescript 1.4.1
websocket ^1.0.8


-   winjs4-final-breakin zip tar
-   vs-final-bits zip tar
-   v4.4.0 zip tar
-   v4.3.1 zip tar
-   v4.3.0 zip tar
-   v4.2.0 zip tar
-   v4.1.0 zip tar
-   v4.0.1 zip tar
-   v4.0.0 zip tar
-   release/4.0.0-previe zip tar
-   release/3.0.1 zip tar
-   release/3.0.0 zip tar
-   AmazingJaze/AppBar/P zip tar