Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
New YUI build tool based on Gearjs, so let's shift some gears
JavaScript CSS
Failed to load latest commit information.
bin Added Y! license string to source files
conf/docs bumping version 0.5.0 for PR #131, #128, #115 and #120
files Using the published 2.4.7 version of compressor
lib Merge branch 'patch-1' of https://github.com/redonkulus/shifter
output bumping version 0.5.0 for PR #131, #128, #115 and #120
scripts Adding documentation
tests removing console.log
.gitignore Fixing up the mess after merging three PRs for the release (step 1)
.jshintrc Added local .jshintrc to ensure that it's picked up in the tests
.shifter.json Test updates to verify that this works..
.travis.yml dropping node 0.8 from travis build, adding 0.11
LICENSE Added License and README
Makefile Added coverage target to Makefile
README.md
package.json bumping version 0.5.0 for PR #131, #128, #115 and #120

README.md

Shifter - Blazingly Fast YUI Builder

The purpose of this project is to replace YUI's use of our old ant Builder.

We have out grown our old builder, so it was time to build a new one!

Linting

As of 0.1.0, JSHint is the default lint tool used by shifter. We maintain a list of our lint preferences in the yui-lint project. shifter will default to our rules unless --lint config is passed. Then it will search up the file tree and attempt to load your custom .jshintrc file.

Documentation

Documentation can be found here

Build Status

Build Status

Install

npm -g install shifter

Some Options

More detail can be found in the documentation

$ shifter -h

blazingly fast builds with shifter

pass no arguments and shifter will build the module from the current directory

   -v/--version            show version
   -h/--help               show this stuff
   -m/--modules <module>   limit the modules to build (array: -m foo -m bar)
   --strict                add "use strict" to module wrapper
   --walk                  Walk the current directory and shift all builds. (cd yui3/src && shifter --walk)
                               -m/--modules also supported here for filtering
   --watch                 Watch the current module and rebuild on file change (if meta file, a loader build will launch)
                               --quiet to mute stdout from sub build

Usage

Shifter will parse your current *.properties files and convert them into a build.json file that it can process. It only imports the relevant settings required to build the module.

It does not import module meta-data

Instead, Shifter parses the meta-data from the modules meta/*.json files and uses that instead. So you don't have to declare your meta-data in more than one place now.

Watching

Shifter can watch your module for changes and build for you. It will only watch files in the ./js, ./css, ./assets and ./meta directories. If a file is changed, it will rebuild the current module. If a meta file is changes, Loader will also be built (requires latest code).

Migrating

Shifter is designed to work side by side with our current builder (for now) so you don't have to switch over to using it fully if it doesn't work properly for you. Just don't delete your *.properties files until you are sure that Shifter builds your module properly. If it doesn't, file a ticket and we'll get it fixed up ASAP.

Shifter will read a build.json file if it exists, if one doesn't and it finds a *.properties file it will generate the build.json from them. So if you have issues with the build, just delete the build.json file and have Shifter regenerate it after your issue is fixed.

GearJS

Shifter is built using GearJS

Something went wrong with that request. Please try again.