--- /dev/null
+#!/usr/bin/env node
+
+var optimist = require('optimist')
+ .usage('Precompile handlebar templates.\nUsage: $0 template...', {
+ 'f': {
+ 'type': 'string',
+ 'description': 'Output File',
+ 'alias': 'output'
+ },
+ 'a': {
+ 'type': 'boolean',
+ 'description': 'Exports amd style (require.js)',
+ 'alias': 'amd'
+ },
+ 'c': {
+ 'type': 'string',
+ 'description': 'Exports CommonJS style, path to Handlebars module',
+ 'alias': 'commonjs',
+ 'default': null
+ },
+ 'h': {
+ 'type': 'string',
+ 'description': 'Path to handlebar.js (only valid for amd-style)',
+ 'alias': 'handlebarPath',
+ 'default': ''
+ },
+ 'k': {
+ 'type': 'string',
+ 'description': 'Known helpers',
+ 'alias': 'known'
+ },
+ 'o': {
+ 'type': 'boolean',
+ 'description': 'Known helpers only',
+ 'alias': 'knownOnly'
+ },
+ 'm': {
+ 'type': 'boolean',
+ 'description': 'Minimize output',
+ 'alias': 'min'
+ },
+ 'n': {
+ 'type': 'string',
+ 'description': 'Template namespace',
+ 'alias': 'namespace',
+ 'default': 'Handlebars.templates'
+ },
+ 's': {
+ 'type': 'boolean',
+ 'description': 'Output template function only.',
+ 'alias': 'simple'
+ },
+ 'r': {
+ 'type': 'string',
+ 'description': 'Template root. Base value that will be stripped from template names.',
+ 'alias': 'root'
+ },
+ 'p' : {
+ 'type': 'boolean',
+ 'description': 'Compiling a partial template',
+ 'alias': 'partial'
+ },
+ 'd' : {
+ 'type': 'boolean',
+ 'description': 'Include data when compiling',
+ 'alias': 'data'
+ },
+ 'e': {
+ 'type': 'string',
+ 'description': 'Template extension.',
+ 'alias': 'extension',
+ 'default': 'handlebars'
+ },
+ 'b': {
+ 'type': 'boolean',
+ 'description': 'Removes the BOM (Byte Order Mark) from the beginning of the templates.',
+ 'alias': 'bom'
+ },
+ 'v': {
+ 'type': 'boolean',
+ 'description': 'Prints the current compiler version',
+ 'alias': 'version'
+ }
+ })
+
+ .check(function(argv) {
+ if (argv.version) {
+ return;
+ }
+ });
+
+var argv = optimist.argv;
+argv.templates = argv._;
+delete argv._;
+return require('../lib/precompiler').cli(argv);