You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2017/03/20 17:51:11 UTC
[49/52] [partial] incubator-griffin-site git commit: init website by
hexo
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/escodegen
----------------------------------------------------------------------
diff --git a/node_modules/.bin/escodegen b/node_modules/.bin/escodegen
new file mode 100755
index 0000000..a7c38aa
--- /dev/null
+++ b/node_modules/.bin/escodegen
@@ -0,0 +1,77 @@
+#!/usr/bin/env node
+/*
+ Copyright (C) 2012 Yusuke Suzuki <ut...@gmail.com>
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*jslint sloppy:true node:true */
+
+var fs = require('fs'),
+ path = require('path'),
+ root = path.join(path.dirname(fs.realpathSync(__filename)), '..'),
+ esprima = require('esprima'),
+ escodegen = require(root),
+ optionator = require('optionator')({
+ prepend: 'Usage: escodegen [options] file...',
+ options: [
+ {
+ option: 'config',
+ alias: 'c',
+ type: 'String',
+ description: 'configuration json for escodegen'
+ }
+ ]
+ }),
+ args = optionator.parse(process.argv),
+ files = args._,
+ options,
+ esprimaOptions = {
+ raw: true,
+ tokens: true,
+ range: true,
+ comment: true
+ };
+
+if (files.length === 0) {
+ console.log(optionator.generateHelp());
+ process.exit(1);
+}
+
+if (args.config) {
+ try {
+ options = JSON.parse(fs.readFileSync(args.config, 'utf-8'));
+ } catch (err) {
+ console.error('Error parsing config: ', err);
+ }
+}
+
+files.forEach(function (filename) {
+ var content = fs.readFileSync(filename, 'utf-8'),
+ syntax = esprima.parse(content, esprimaOptions);
+
+ if (options.comment) {
+ escodegen.attachComments(syntax, syntax.comments, syntax.tokens);
+ }
+
+ console.log(escodegen.generate(syntax, options));
+});
+/* vim: set sw=4 ts=4 et tw=80 : */
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/esgenerate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esgenerate b/node_modules/.bin/esgenerate
new file mode 100755
index 0000000..449abcc
--- /dev/null
+++ b/node_modules/.bin/esgenerate
@@ -0,0 +1,64 @@
+#!/usr/bin/env node
+/*
+ Copyright (C) 2012 Yusuke Suzuki <ut...@gmail.com>
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*jslint sloppy:true node:true */
+
+var fs = require('fs'),
+ path = require('path'),
+ root = path.join(path.dirname(fs.realpathSync(__filename)), '..'),
+ escodegen = require(root),
+ optionator = require('optionator')({
+ prepend: 'Usage: esgenerate [options] file.json ...',
+ options: [
+ {
+ option: 'config',
+ alias: 'c',
+ type: 'String',
+ description: 'configuration json for escodegen'
+ }
+ ]
+ }),
+ args = optionator.parse(process.argv),
+ files = args._,
+ options;
+
+if (files.length === 0) {
+ console.log(optionator.generateHelp());
+ process.exit(1);
+}
+
+if (args.config) {
+ try {
+ options = JSON.parse(fs.readFileSync(args.config, 'utf-8'))
+ } catch (err) {
+ console.error('Error parsing config: ', err);
+ }
+}
+
+files.forEach(function (filename) {
+ var content = fs.readFileSync(filename, 'utf-8');
+ console.log(escodegen.generate(JSON.parse(content), options));
+});
+/* vim: set sw=4 ts=4 et tw=80 : */
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/esparse
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
new file mode 100755
index 0000000..98bdbf4
--- /dev/null
+++ b/node_modules/.bin/esparse
@@ -0,0 +1,126 @@
+#!/usr/bin/env node
+/*
+ Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*jslint sloppy:true node:true rhino:true */
+
+var fs, esprima, fname, content, options, syntax;
+
+if (typeof require === 'function') {
+ fs = require('fs');
+ esprima = require('esprima');
+} else if (typeof load === 'function') {
+ try {
+ load('esprima.js');
+ } catch (e) {
+ load('../esprima.js');
+ }
+}
+
+// Shims to Node.js objects when running under Rhino.
+if (typeof console === 'undefined' && typeof process === 'undefined') {
+ console = { log: print };
+ fs = { readFileSync: readFile };
+ process = { argv: arguments, exit: quit };
+ process.argv.unshift('esparse.js');
+ process.argv.unshift('rhino');
+}
+
+function showUsage() {
+ console.log('Usage:');
+ console.log(' esparse [options] file.js');
+ console.log();
+ console.log('Available options:');
+ console.log();
+ console.log(' --comment Gather all line and block comments in an array');
+ console.log(' --loc Include line-column location info for each syntax node');
+ console.log(' --range Include index-based range for each syntax node');
+ console.log(' --raw Display the raw value of literals');
+ console.log(' --tokens List all tokens in an array');
+ console.log(' --tolerant Tolerate errors on a best-effort basis (experimental)');
+ console.log(' -v, --version Shows program version');
+ console.log();
+ process.exit(1);
+}
+
+if (process.argv.length <= 2) {
+ showUsage();
+}
+
+options = {};
+
+process.argv.splice(2).forEach(function (entry) {
+
+ if (entry === '-h' || entry === '--help') {
+ showUsage();
+ } else if (entry === '-v' || entry === '--version') {
+ console.log('ECMAScript Parser (using Esprima version', esprima.version, ')');
+ console.log();
+ process.exit(0);
+ } else if (entry === '--comment') {
+ options.comment = true;
+ } else if (entry === '--loc') {
+ options.loc = true;
+ } else if (entry === '--range') {
+ options.range = true;
+ } else if (entry === '--raw') {
+ options.raw = true;
+ } else if (entry === '--tokens') {
+ options.tokens = true;
+ } else if (entry === '--tolerant') {
+ options.tolerant = true;
+ } else if (entry.slice(0, 2) === '--') {
+ console.log('Error: unknown option ' + entry + '.');
+ process.exit(1);
+ } else if (typeof fname === 'string') {
+ console.log('Error: more than one input file.');
+ process.exit(1);
+ } else {
+ fname = entry;
+ }
+});
+
+if (typeof fname !== 'string') {
+ console.log('Error: no input file.');
+ process.exit(1);
+}
+
+// Special handling for regular expression literal since we need to
+// convert it to a string literal, otherwise it will be decoded
+// as object "{}" and the regular expression would be lost.
+function adjustRegexLiteral(key, value) {
+ if (key === 'value' && value instanceof RegExp) {
+ value = value.toString();
+ }
+ return value;
+}
+
+try {
+ content = fs.readFileSync(fname, 'utf-8');
+ syntax = esprima.parse(content, options);
+ console.log(JSON.stringify(syntax, adjustRegexLiteral, 4));
+} catch (e) {
+ console.log('Error: ' + e.message);
+ process.exit(1);
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/esvalidate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
new file mode 100755
index 0000000..f522dec
--- /dev/null
+++ b/node_modules/.bin/esvalidate
@@ -0,0 +1,199 @@
+#!/usr/bin/env node
+/*
+ Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*jslint sloppy:true plusplus:true node:true rhino:true */
+/*global phantom:true */
+
+var fs, system, esprima, options, fnames, count;
+
+if (typeof esprima === 'undefined') {
+ // PhantomJS can only require() relative files
+ if (typeof phantom === 'object') {
+ fs = require('fs');
+ system = require('system');
+ esprima = require('./esprima');
+ } else if (typeof require === 'function') {
+ fs = require('fs');
+ esprima = require('esprima');
+ } else if (typeof load === 'function') {
+ try {
+ load('esprima.js');
+ } catch (e) {
+ load('../esprima.js');
+ }
+ }
+}
+
+// Shims to Node.js objects when running under PhantomJS 1.7+.
+if (typeof phantom === 'object') {
+ fs.readFileSync = fs.read;
+ process = {
+ argv: [].slice.call(system.args),
+ exit: phantom.exit
+ };
+ process.argv.unshift('phantomjs');
+}
+
+// Shims to Node.js objects when running under Rhino.
+if (typeof console === 'undefined' && typeof process === 'undefined') {
+ console = { log: print };
+ fs = { readFileSync: readFile };
+ process = { argv: arguments, exit: quit };
+ process.argv.unshift('esvalidate.js');
+ process.argv.unshift('rhino');
+}
+
+function showUsage() {
+ console.log('Usage:');
+ console.log(' esvalidate [options] file.js');
+ console.log();
+ console.log('Available options:');
+ console.log();
+ console.log(' --format=type Set the report format, plain (default) or junit');
+ console.log(' -v, --version Print program version');
+ console.log();
+ process.exit(1);
+}
+
+if (process.argv.length <= 2) {
+ showUsage();
+}
+
+options = {
+ format: 'plain'
+};
+
+fnames = [];
+
+process.argv.splice(2).forEach(function (entry) {
+
+ if (entry === '-h' || entry === '--help') {
+ showUsage();
+ } else if (entry === '-v' || entry === '--version') {
+ console.log('ECMAScript Validator (using Esprima version', esprima.version, ')');
+ console.log();
+ process.exit(0);
+ } else if (entry.slice(0, 9) === '--format=') {
+ options.format = entry.slice(9);
+ if (options.format !== 'plain' && options.format !== 'junit') {
+ console.log('Error: unknown report format ' + options.format + '.');
+ process.exit(1);
+ }
+ } else if (entry.slice(0, 2) === '--') {
+ console.log('Error: unknown option ' + entry + '.');
+ process.exit(1);
+ } else {
+ fnames.push(entry);
+ }
+});
+
+if (fnames.length === 0) {
+ console.log('Error: no input file.');
+ process.exit(1);
+}
+
+if (options.format === 'junit') {
+ console.log('<?xml version="1.0" encoding="UTF-8"?>');
+ console.log('<testsuites>');
+}
+
+count = 0;
+fnames.forEach(function (fname) {
+ var content, timestamp, syntax, name;
+ try {
+ content = fs.readFileSync(fname, 'utf-8');
+
+ if (content[0] === '#' && content[1] === '!') {
+ content = '//' + content.substr(2, content.length);
+ }
+
+ timestamp = Date.now();
+ syntax = esprima.parse(content, { tolerant: true });
+
+ if (options.format === 'junit') {
+
+ name = fname;
+ if (name.lastIndexOf('/') >= 0) {
+ name = name.slice(name.lastIndexOf('/') + 1);
+ }
+
+ console.log('<testsuite name="' + fname + '" errors="0" ' +
+ ' failures="' + syntax.errors.length + '" ' +
+ ' tests="' + syntax.errors.length + '" ' +
+ ' time="' + Math.round((Date.now() - timestamp) / 1000) +
+ '">');
+
+ syntax.errors.forEach(function (error) {
+ var msg = error.message;
+ msg = msg.replace(/^Line\ [0-9]*\:\ /, '');
+ console.log(' <testcase name="Line ' + error.lineNumber + ': ' + msg + '" ' +
+ ' time="0">');
+ console.log(' <error type="SyntaxError" message="' + error.message + '">' +
+ error.message + '(' + name + ':' + error.lineNumber + ')' +
+ '</error>');
+ console.log(' </testcase>');
+ });
+
+ console.log('</testsuite>');
+
+ } else if (options.format === 'plain') {
+
+ syntax.errors.forEach(function (error) {
+ var msg = error.message;
+ msg = msg.replace(/^Line\ [0-9]*\:\ /, '');
+ msg = fname + ':' + error.lineNumber + ': ' + msg;
+ console.log(msg);
+ ++count;
+ });
+
+ }
+ } catch (e) {
+ ++count;
+ if (options.format === 'junit') {
+ console.log('<testsuite name="' + fname + '" errors="1" failures="0" tests="1" ' +
+ ' time="' + Math.round((Date.now() - timestamp) / 1000) + '">');
+ console.log(' <testcase name="' + e.message + '" ' + ' time="0">');
+ console.log(' <error type="ParseError" message="' + e.message + '">' +
+ e.message + '(' + fname + ((e.lineNumber) ? ':' + e.lineNumber : '') +
+ ')</error>');
+ console.log(' </testcase>');
+ console.log('</testsuite>');
+ } else {
+ console.log('Error: ' + e.message);
+ }
+ }
+});
+
+if (options.format === 'junit') {
+ console.log('</testsuites>');
+}
+
+if (count > 0) {
+ process.exit(1);
+}
+
+if (count === 0 && typeof phantom === 'object') {
+ process.exit(0);
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/hexo
----------------------------------------------------------------------
diff --git a/node_modules/.bin/hexo b/node_modules/.bin/hexo
new file mode 100755
index 0000000..7344e8d
--- /dev/null
+++ b/node_modules/.bin/hexo
@@ -0,0 +1,5 @@
+#!/usr/bin/env node
+
+'use strict';
+
+require('hexo-cli')();
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/js-yaml
----------------------------------------------------------------------
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
new file mode 100755
index 0000000..e79186b
--- /dev/null
+++ b/node_modules/.bin/js-yaml
@@ -0,0 +1,132 @@
+#!/usr/bin/env node
+
+
+'use strict';
+
+/*eslint-disable no-console*/
+
+
+// stdlib
+var fs = require('fs');
+
+
+// 3rd-party
+var argparse = require('argparse');
+
+
+// internal
+var yaml = require('..');
+
+
+////////////////////////////////////////////////////////////////////////////////
+
+
+var cli = new argparse.ArgumentParser({
+ prog: 'js-yaml',
+ version: require('../package.json').version,
+ addHelp: true
+});
+
+
+cli.addArgument([ '-c', '--compact' ], {
+ help: 'Display errors in compact mode',
+ action: 'storeTrue'
+});
+
+
+// deprecated (not needed after we removed output colors)
+// option suppressed, but not completely removed for compatibility
+cli.addArgument([ '-j', '--to-json' ], {
+ help: argparse.Const.SUPPRESS,
+ dest: 'json',
+ action: 'storeTrue'
+});
+
+
+cli.addArgument([ '-t', '--trace' ], {
+ help: 'Show stack trace on error',
+ action: 'storeTrue'
+});
+
+cli.addArgument([ 'file' ], {
+ help: 'File to read, utf-8 encoded without BOM',
+ nargs: '?',
+ defaultValue: '-'
+});
+
+
+////////////////////////////////////////////////////////////////////////////////
+
+
+var options = cli.parseArgs();
+
+
+////////////////////////////////////////////////////////////////////////////////
+
+function readFile(filename, encoding, callback) {
+ if (options.file === '-') {
+ // read from stdin
+
+ var chunks = [];
+
+ process.stdin.on('data', function (chunk) {
+ chunks.push(chunk);
+ });
+
+ process.stdin.on('end', function () {
+ return callback(null, Buffer.concat(chunks).toString(encoding));
+ });
+ } else {
+ fs.readFile(filename, encoding, callback);
+ }
+}
+
+readFile(options.file, 'utf8', function (error, input) {
+ var output, isYaml;
+
+ if (error) {
+ if (error.code === 'ENOENT') {
+ console.error('File not found: ' + options.file);
+ process.exit(2);
+ }
+
+ console.error(
+ options.trace && error.stack ||
+ error.message ||
+ String(error));
+
+ process.exit(1);
+ }
+
+ try {
+ output = JSON.parse(input);
+ isYaml = false;
+ } catch (err) {
+ if (err instanceof SyntaxError) {
+ try {
+ output = [];
+ yaml.loadAll(input, function (doc) { output.push(doc); }, {});
+ isYaml = true;
+
+ if (output.length === 0) output = null;
+ else if (output.length === 1) output = output[0];
+
+ } catch (e) {
+ if (options.trace && err.stack) console.error(e.stack);
+ else console.error(e.toString(options.compact));
+
+ process.exit(1);
+ }
+ } else {
+ console.error(
+ options.trace && err.stack ||
+ err.message ||
+ String(err));
+
+ process.exit(1);
+ }
+ }
+
+ if (isYaml) console.log(JSON.stringify(output, null, ' '));
+ else console.log(yaml.dump(output));
+});
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/marked
----------------------------------------------------------------------
diff --git a/node_modules/.bin/marked b/node_modules/.bin/marked
new file mode 100755
index 0000000..64254fc
--- /dev/null
+++ b/node_modules/.bin/marked
@@ -0,0 +1,187 @@
+#!/usr/bin/env node
+
+/**
+ * Marked CLI
+ * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License)
+ */
+
+var fs = require('fs')
+ , util = require('util')
+ , marked = require('../');
+
+/**
+ * Man Page
+ */
+
+function help() {
+ var spawn = require('child_process').spawn;
+
+ var options = {
+ cwd: process.cwd(),
+ env: process.env,
+ setsid: false,
+ customFds: [0, 1, 2]
+ };
+
+ spawn('man',
+ [__dirname + '/../man/marked.1'],
+ options);
+}
+
+/**
+ * Main
+ */
+
+function main(argv, callback) {
+ var files = []
+ , options = {}
+ , input
+ , output
+ , arg
+ , tokens
+ , opt;
+
+ function getarg() {
+ var arg = argv.shift();
+
+ if (arg.indexOf('--') === 0) {
+ // e.g. --opt
+ arg = arg.split('=');
+ if (arg.length > 1) {
+ // e.g. --opt=val
+ argv.unshift(arg.slice(1).join('='));
+ }
+ arg = arg[0];
+ } else if (arg[0] === '-') {
+ if (arg.length > 2) {
+ // e.g. -abc
+ argv = arg.substring(1).split('').map(function(ch) {
+ return '-' + ch;
+ }).concat(argv);
+ arg = argv.shift();
+ } else {
+ // e.g. -a
+ }
+ } else {
+ // e.g. foo
+ }
+
+ return arg;
+ }
+
+ while (argv.length) {
+ arg = getarg();
+ switch (arg) {
+ case '--test':
+ return require('../test').main(process.argv.slice());
+ case '-o':
+ case '--output':
+ output = argv.shift();
+ break;
+ case '-i':
+ case '--input':
+ input = argv.shift();
+ break;
+ case '-t':
+ case '--tokens':
+ tokens = true;
+ break;
+ case '-h':
+ case '--help':
+ return help();
+ default:
+ if (arg.indexOf('--') === 0) {
+ opt = camelize(arg.replace(/^--(no-)?/, ''));
+ if (!marked.defaults.hasOwnProperty(opt)) {
+ continue;
+ }
+ if (arg.indexOf('--no-') === 0) {
+ options[opt] = typeof marked.defaults[opt] !== 'boolean'
+ ? null
+ : false;
+ } else {
+ options[opt] = typeof marked.defaults[opt] !== 'boolean'
+ ? argv.shift()
+ : true;
+ }
+ } else {
+ files.push(arg);
+ }
+ break;
+ }
+ }
+
+ function getData(callback) {
+ if (!input) {
+ if (files.length <= 2) {
+ return getStdin(callback);
+ }
+ input = files.pop();
+ }
+ return fs.readFile(input, 'utf8', callback);
+ }
+
+ return getData(function(err, data) {
+ if (err) return callback(err);
+
+ data = tokens
+ ? JSON.stringify(marked.lexer(data, options), null, 2)
+ : marked(data, options);
+
+ if (!output) {
+ process.stdout.write(data + '\n');
+ return callback();
+ }
+
+ return fs.writeFile(output, data, callback);
+ });
+}
+
+/**
+ * Helpers
+ */
+
+function getStdin(callback) {
+ var stdin = process.stdin
+ , buff = '';
+
+ stdin.setEncoding('utf8');
+
+ stdin.on('data', function(data) {
+ buff += data;
+ });
+
+ stdin.on('error', function(err) {
+ return callback(err);
+ });
+
+ stdin.on('end', function() {
+ return callback(null, buff);
+ });
+
+ try {
+ stdin.resume();
+ } catch (e) {
+ callback(e);
+ }
+}
+
+function camelize(text) {
+ return text.replace(/(\w)-(\w)/g, function(_, a, b) {
+ return a + b.toUpperCase();
+ });
+}
+
+/**
+ * Expose / Entry Point
+ */
+
+if (!module.parent) {
+ process.title = 'marked';
+ main(process.argv.slice(), function(err, code) {
+ if (err) throw err;
+ return process.exit(code || 0);
+ });
+} else {
+ module.exports = main;
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/md2html
----------------------------------------------------------------------
diff --git a/node_modules/.bin/md2html b/node_modules/.bin/md2html
new file mode 100755
index 0000000..f8ce1dd
--- /dev/null
+++ b/node_modules/.bin/md2html
@@ -0,0 +1,52 @@
+#!/usr/bin/env node
+(function () {
+ "use strict";
+
+ var fs = require("fs")
+ , markdown = require("markdown").markdown
+ , nopt = require("nopt")
+ , stream
+ , opts
+ , buffer = ""
+ ;
+
+ opts = nopt(
+ { "dialect": [ "Gruber", "Maruku"]
+ , "help": Boolean
+ }
+ );
+
+ if (opts.help) {
+ var name = process.argv[1].split("/").pop()
+ console.warn( require("util").format(
+ "usage: %s [--dialect=DIALECT] FILE\n\nValid dialects are Gruber (the default) or Maruku",
+ name
+ ) );
+ process.exit(0);
+ }
+
+ var fullpath = opts.argv.remain[0];
+
+ if (fullpath && fullpath !== "-") {
+ stream = fs.createReadStream(fullpath);
+ } else {
+ stream = process.stdin;
+ }
+ stream.resume();
+ stream.setEncoding("utf8");
+
+ stream.on("error", function(error) {
+ console.error(error.toString());
+ process.exit(1);
+ });
+
+ stream.on("data", function(data) {
+ buffer += data;
+ });
+
+ stream.on("end", function() {
+ var html = markdown.toHTML(buffer, opts.dialect);
+ console.log(html);
+ });
+
+}())
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/mime
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
new file mode 100755
index 0000000..20b1ffe
--- /dev/null
+++ b/node_modules/.bin/mime
@@ -0,0 +1,8 @@
+#!/usr/bin/env node
+
+var mime = require('./mime.js');
+var file = process.argv[2];
+var type = mime.lookup(file);
+
+process.stdout.write(type + '\n');
+
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/mkdirp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp
new file mode 100755
index 0000000..d95de15
--- /dev/null
+++ b/node_modules/.bin/mkdirp
@@ -0,0 +1,33 @@
+#!/usr/bin/env node
+
+var mkdirp = require('../');
+var minimist = require('minimist');
+var fs = require('fs');
+
+var argv = minimist(process.argv.slice(2), {
+ alias: { m: 'mode', h: 'help' },
+ string: [ 'mode' ]
+});
+if (argv.help) {
+ fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout);
+ return;
+}
+
+var paths = argv._.slice();
+var mode = argv.mode ? parseInt(argv.mode, 8) : undefined;
+
+(function next () {
+ if (paths.length === 0) return;
+ var p = paths.shift();
+
+ if (mode === undefined) mkdirp(p, cb)
+ else mkdirp(p, mode, cb)
+
+ function cb (err) {
+ if (err) {
+ console.error(err.message);
+ process.exit(1);
+ }
+ else next();
+ }
+})();
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/ncp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ncp b/node_modules/.bin/ncp
new file mode 100755
index 0000000..388eaba
--- /dev/null
+++ b/node_modules/.bin/ncp
@@ -0,0 +1,48 @@
+#!/usr/bin/env node
+
+
+
+
+var ncp = require('../lib/ncp'),
+ args = process.argv.slice(2),
+ source, dest;
+
+if (args.length < 2) {
+ console.error('Usage: ncp [source] [destination] [--filter=filter] [--limit=concurrency limit]');
+ process.exit(1);
+}
+
+// parse arguments the hard way
+function startsWith(str, prefix) {
+ return str.substr(0, prefix.length) == prefix;
+}
+
+var options = {};
+args.forEach(function (arg) {
+ if (startsWith(arg, "--limit=")) {
+ options.limit = parseInt(arg.split('=', 2)[1], 10);
+ }
+ if (startsWith(arg, "--filter=")) {
+ options.filter = new RegExp(arg.split('=', 2)[1]);
+ }
+ if (startsWith(arg, "--stoponerr")) {
+ options.stopOnErr = true;
+ }
+});
+
+ncp.ncp(args[0], args[1], options, function (err) {
+ if (Array.isArray(err)) {
+ console.error('There were errors during the copy.');
+ err.forEach(function (err) {
+ console.error(err.stack || err.message);
+ });
+ process.exit(1);
+ }
+ else if (err) {
+ console.error('An error has occurred.');
+ console.error(err.stack || err.message);
+ process.exit(1);
+ }
+});
+
+
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
new file mode 100755
index 0000000..30e9fdb
--- /dev/null
+++ b/node_modules/.bin/nopt
@@ -0,0 +1,51 @@
+#!/usr/bin/env node
+var nopt = require("../lib/nopt")
+ , types = { num: Number
+ , bool: Boolean
+ , help: Boolean
+ , list: Array
+ , "num-list": [Number, Array]
+ , "str-list": [String, Array]
+ , "bool-list": [Boolean, Array]
+ , str: String
+ , clear: Boolean
+ , config: Boolean
+ , length: Number
+ }
+ , shorthands = { s: [ "--str", "astring" ]
+ , b: [ "--bool" ]
+ , nb: [ "--no-bool" ]
+ , tft: [ "--bool-list", "--no-bool-list", "--bool-list", "true" ]
+ , "?": ["--help"]
+ , h: ["--help"]
+ , H: ["--help"]
+ , n: [ "--num", "125" ]
+ , c: ["--config"]
+ , l: ["--length"]
+ }
+ , parsed = nopt( types
+ , shorthands
+ , process.argv
+ , 2 )
+
+console.log("parsed", parsed)
+
+if (parsed.help) {
+ console.log("")
+ console.log("nopt cli tester")
+ console.log("")
+ console.log("types")
+ console.log(Object.keys(types).map(function M (t) {
+ var type = types[t]
+ if (Array.isArray(type)) {
+ return [t, type.map(function (type) { return type.name })]
+ }
+ return [t, type && type.name]
+ }).reduce(function (s, i) {
+ s[i[0]] = i[1]
+ return s
+ }, {}))
+ console.log("")
+ console.log("shorthands")
+ console.log(shorthands)
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/nunjucks-precompile
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nunjucks-precompile b/node_modules/.bin/nunjucks-precompile
new file mode 100755
index 0000000..37904b7
--- /dev/null
+++ b/node_modules/.bin/nunjucks-precompile
@@ -0,0 +1,70 @@
+#!/usr/bin/env node
+var path = require('path');
+var precompile = require('../src/precompile').precompile;
+var Environment = require('../src/environment').Environment;
+var lib = require('../src/lib');
+
+var yargs = require('yargs')
+
+ .usage('$0 [-f|--force] [-a|--filters <filters>] [-n|--name <name>] [-i|--include <regex>] [-x|--exclude <regex>] [-w|--wrapper <wrapper>] <path>')
+ .wrap(80)
+
+ .describe('help', 'Display this help message')
+ .boolean('help')
+ .alias('h', 'help')
+ .alias('?', 'help')
+
+ .describe('force', 'Force compilation to continue on error')
+ .boolean('force')
+ .alias('f', 'force')
+
+ .describe('filters', 'Give the compiler a comma-delimited list of asynchronous filters, required for correctly generating code')
+ .string('filters')
+ .alias('a', 'filters')
+
+ .describe('name', 'Specify the template name when compiling a single file')
+ .string('name')
+ .alias('n', 'n')
+
+ .describe('include', 'Include a file or folder which match the regex but would otherwise be excluded. You can use this flag multiple times')
+ .string('include' )
+ .default('include', ['\\.html$', '\\.jinja$'])
+ .alias('i', 'include')
+
+ .describe('exclude', 'Exclude a file or folder which match the regex but would otherwise be included. You can use this flag multiple times')
+ .string('exclude' )
+ .default('exclude', [])
+ .alias('x', 'exclude')
+
+ .describe('wrapper', 'Load a external plugin to change the output format of the precompiled templates (for example, "-w custom" will load a module named "nunjucks-custom")')
+ .string('wrapper')
+ .alias('w', 'wrapper')
+
+ .demand(1);
+
+var argv = yargs.argv;
+
+if (argv.help) {
+ yargs.showHelp();
+ process.exit(1);
+}
+
+var env = new Environment([]);
+
+lib.each([].concat(argv.filters).join(',').split(','), function(name) {
+ env.addFilter(name.trim(), function() {}, true);
+});
+
+if(argv.wrapper) {
+ argv.wrapper = require('nunjucks-' + argv.wrapper).wrapper;
+}
+
+console.log(precompile(argv._[0], {
+ env : env,
+ force : argv.force,
+ name : argv.name,
+ wrapper: argv.wrapper,
+
+ include : [].concat(argv.include),
+ exclude : [].concat(argv.exclude)
+}));
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/rimraf
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf
new file mode 100755
index 0000000..1bd5a0d
--- /dev/null
+++ b/node_modules/.bin/rimraf
@@ -0,0 +1,40 @@
+#!/usr/bin/env node
+
+var rimraf = require('./')
+
+var help = false
+var dashdash = false
+var args = process.argv.slice(2).filter(function(arg) {
+ if (dashdash)
+ return !!arg
+ else if (arg === '--')
+ dashdash = true
+ else if (arg.match(/^(-+|\/)(h(elp)?|\?)$/))
+ help = true
+ else
+ return !!arg
+});
+
+if (help || args.length === 0) {
+ // If they didn't ask for help, then this is not a "success"
+ var log = help ? console.log : console.error
+ log('Usage: rimraf <path> [<path> ...]')
+ log('')
+ log(' Deletes all files and folders at "path" recursively.')
+ log('')
+ log('Options:')
+ log('')
+ log(' -h, --help Display this usage info')
+ process.exit(help ? 0 : 1)
+} else
+ go(0)
+
+function go (n) {
+ if (n >= args.length)
+ return
+ rimraf(args[n], function (er) {
+ if (er)
+ throw er
+ go(n+1)
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/sshpk-conv
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv
new file mode 100755
index 0000000..444045a
--- /dev/null
+++ b/node_modules/.bin/sshpk-conv
@@ -0,0 +1,201 @@
+#!/usr/bin/env node
+// -*- mode: js -*-
+// vim: set filetype=javascript :
+// Copyright 2015 Joyent, Inc. All rights reserved.
+
+var dashdash = require('dashdash');
+var sshpk = require('../lib/index');
+var fs = require('fs');
+var path = require('path');
+var tty = require('tty');
+var readline = require('readline');
+var getPassword = require('getpass').getPass;
+
+var options = [
+ {
+ names: ['outformat', 't'],
+ type: 'string',
+ help: 'Output format'
+ },
+ {
+ names: ['informat', 'T'],
+ type: 'string',
+ help: 'Input format'
+ },
+ {
+ names: ['file', 'f'],
+ type: 'string',
+ help: 'Input file name (default stdin)'
+ },
+ {
+ names: ['out', 'o'],
+ type: 'string',
+ help: 'Output file name (default stdout)'
+ },
+ {
+ names: ['private', 'p'],
+ type: 'bool',
+ help: 'Produce a private key as output'
+ },
+ {
+ names: ['derive', 'd'],
+ type: 'string',
+ help: 'Output a new key derived from this one, with given algo'
+ },
+ {
+ names: ['identify', 'i'],
+ type: 'bool',
+ help: 'Print key metadata instead of converting'
+ },
+ {
+ names: ['comment', 'c'],
+ type: 'string',
+ help: 'Set key comment, if output format supports'
+ },
+ {
+ names: ['help', 'h'],
+ type: 'bool',
+ help: 'Shows this help text'
+ }
+];
+
+if (require.main === module) {
+ var parser = dashdash.createParser({
+ options: options
+ });
+
+ try {
+ var opts = parser.parse(process.argv);
+ } catch (e) {
+ console.error('sshpk-conv: error: %s', e.message);
+ process.exit(1);
+ }
+
+ if (opts.help || opts._args.length > 1) {
+ var help = parser.help({}).trimRight();
+ console.error('sshpk-conv: converts between SSH key formats\n');
+ console.error(help);
+ console.error('\navailable formats:');
+ console.error(' - pem, pkcs1 eg id_rsa');
+ console.error(' - ssh eg id_rsa.pub');
+ console.error(' - pkcs8 format you want for openssl');
+ console.error(' - openssh like output of ssh-keygen -o');
+ console.error(' - rfc4253 raw OpenSSH wire format');
+ process.exit(1);
+ }
+
+ /*
+ * Key derivation can only be done on private keys, so use of the -d
+ * option necessarily implies -p.
+ */
+ if (opts.derive)
+ opts.private = true;
+
+ var inFile = process.stdin;
+ var inFileName = 'stdin';
+
+ var inFilePath;
+ if (opts.file) {
+ inFilePath = opts.file;
+ } else if (opts._args.length === 1) {
+ inFilePath = opts._args[0];
+ }
+
+ if (inFilePath)
+ inFileName = path.basename(inFilePath);
+
+ try {
+ if (inFilePath) {
+ fs.accessSync(inFilePath, fs.R_OK);
+ inFile = fs.createReadStream(inFilePath);
+ }
+ } catch (e) {
+ console.error('sshpk-conv: error opening input file' +
+ ': ' + e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ var outFile = process.stdout;
+
+ try {
+ if (opts.out && !opts.identify) {
+ fs.accessSync(path.dirname(opts.out), fs.W_OK);
+ outFile = fs.createWriteStream(opts.out);
+ }
+ } catch (e) {
+ console.error('sshpk-conv: error opening output file' +
+ ': ' + e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ var bufs = [];
+ inFile.on('readable', function () {
+ var data;
+ while ((data = inFile.read()))
+ bufs.push(data);
+ });
+ var parseOpts = {};
+ parseOpts.filename = inFileName;
+ inFile.on('end', function processKey() {
+ var buf = Buffer.concat(bufs);
+ var fmt = 'auto';
+ if (opts.informat)
+ fmt = opts.informat;
+ var f = sshpk.parseKey;
+ if (opts.private)
+ f = sshpk.parsePrivateKey;
+ try {
+ var key = f(buf, fmt, parseOpts);
+ } catch (e) {
+ if (e.name === 'KeyEncryptedError') {
+ getPassword(function (err, pw) {
+ if (err) {
+ console.log('sshpk-conv: ' +
+ err.name + ': ' +
+ err.message);
+ process.exit(1);
+ }
+ parseOpts.passphrase = pw;
+ processKey();
+ });
+ return;
+ }
+ console.error('sshpk-conv: ' +
+ e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ if (opts.derive)
+ key = key.derive(opts.derive);
+
+ if (opts.comment)
+ key.comment = opts.comment;
+
+ if (!opts.identify) {
+ fmt = undefined;
+ if (opts.outformat)
+ fmt = opts.outformat;
+ outFile.write(key.toBuffer(fmt));
+ if (fmt === 'ssh' ||
+ (!opts.private && fmt === undefined))
+ outFile.write('\n');
+ outFile.once('drain', function () {
+ process.exit(0);
+ });
+ } else {
+ var kind = 'public';
+ if (sshpk.PrivateKey.isPrivateKey(key))
+ kind = 'private';
+ console.log('%s: a %d bit %s %s key', inFileName,
+ key.size, key.type.toUpperCase(), kind);
+ if (key.type === 'ecdsa')
+ console.log('ECDSA curve: %s', key.curve);
+ if (key.comment)
+ console.log('Comment: %s', key.comment);
+ console.log('Fingerprint:');
+ console.log(' ' + key.fingerprint().toString());
+ console.log(' ' + key.fingerprint('md5').toString());
+ process.exit(0);
+ }
+ });
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/sshpk-sign
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign
new file mode 100755
index 0000000..673fc98
--- /dev/null
+++ b/node_modules/.bin/sshpk-sign
@@ -0,0 +1,191 @@
+#!/usr/bin/env node
+// -*- mode: js -*-
+// vim: set filetype=javascript :
+// Copyright 2015 Joyent, Inc. All rights reserved.
+
+var dashdash = require('dashdash');
+var sshpk = require('../lib/index');
+var fs = require('fs');
+var path = require('path');
+var getPassword = require('getpass').getPass;
+
+var options = [
+ {
+ names: ['hash', 'H'],
+ type: 'string',
+ help: 'Hash algorithm (sha1, sha256, sha384, sha512)'
+ },
+ {
+ names: ['verbose', 'v'],
+ type: 'bool',
+ help: 'Display verbose info about key and hash used'
+ },
+ {
+ names: ['identity', 'i'],
+ type: 'string',
+ help: 'Path to key to use'
+ },
+ {
+ names: ['file', 'f'],
+ type: 'string',
+ help: 'Input filename'
+ },
+ {
+ names: ['out', 'o'],
+ type: 'string',
+ help: 'Output filename'
+ },
+ {
+ names: ['format', 't'],
+ type: 'string',
+ help: 'Signature format (asn1, ssh, raw)'
+ },
+ {
+ names: ['binary', 'b'],
+ type: 'bool',
+ help: 'Output raw binary instead of base64'
+ },
+ {
+ names: ['help', 'h'],
+ type: 'bool',
+ help: 'Shows this help text'
+ }
+];
+
+var parseOpts = {};
+
+if (require.main === module) {
+ var parser = dashdash.createParser({
+ options: options
+ });
+
+ try {
+ var opts = parser.parse(process.argv);
+ } catch (e) {
+ console.error('sshpk-sign: error: %s', e.message);
+ process.exit(1);
+ }
+
+ if (opts.help || opts._args.length > 1) {
+ var help = parser.help({}).trimRight();
+ console.error('sshpk-sign: sign data using an SSH key\n');
+ console.error(help);
+ process.exit(1);
+ }
+
+ if (!opts.identity) {
+ var help = parser.help({}).trimRight();
+ console.error('sshpk-sign: the -i or --identity option ' +
+ 'is required\n');
+ console.error(help);
+ process.exit(1);
+ }
+
+ var keyData = fs.readFileSync(opts.identity);
+ parseOpts.filename = opts.identity;
+
+ run();
+}
+
+function run() {
+ var key;
+ try {
+ key = sshpk.parsePrivateKey(keyData, 'auto', parseOpts);
+ } catch (e) {
+ if (e.name === 'KeyEncryptedError') {
+ getPassword(function (err, pw) {
+ parseOpts.passphrase = pw;
+ run();
+ });
+ return;
+ }
+ console.error('sshpk-sign: error loading private key "' +
+ opts.identity + '": ' + e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ var hash = opts.hash || key.defaultHashAlgorithm();
+
+ var signer;
+ try {
+ signer = key.createSign(hash);
+ } catch (e) {
+ console.error('sshpk-sign: error creating signer: ' +
+ e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ if (opts.verbose) {
+ console.error('sshpk-sign: using %s-%s with a %d bit key',
+ key.type, hash, key.size);
+ }
+
+ var inFile = process.stdin;
+ var inFileName = 'stdin';
+
+ var inFilePath;
+ if (opts.file) {
+ inFilePath = opts.file;
+ } else if (opts._args.length === 1) {
+ inFilePath = opts._args[0];
+ }
+
+ if (inFilePath)
+ inFileName = path.basename(inFilePath);
+
+ try {
+ if (inFilePath) {
+ fs.accessSync(inFilePath, fs.R_OK);
+ inFile = fs.createReadStream(inFilePath);
+ }
+ } catch (e) {
+ console.error('sshpk-sign: error opening input file' +
+ ': ' + e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ var outFile = process.stdout;
+
+ try {
+ if (opts.out && !opts.identify) {
+ fs.accessSync(path.dirname(opts.out), fs.W_OK);
+ outFile = fs.createWriteStream(opts.out);
+ }
+ } catch (e) {
+ console.error('sshpk-sign: error opening output file' +
+ ': ' + e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ inFile.pipe(signer);
+ inFile.on('end', function () {
+ var sig;
+ try {
+ sig = signer.sign();
+ } catch (e) {
+ console.error('sshpk-sign: error signing data: ' +
+ e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ var fmt = opts.format || 'asn1';
+ var output;
+ try {
+ output = sig.toBuffer(fmt);
+ if (!opts.binary)
+ output = output.toString('base64');
+ } catch (e) {
+ console.error('sshpk-sign: error converting signature' +
+ ' to ' + fmt + ' format: ' + e.name + ': ' +
+ e.message);
+ process.exit(1);
+ }
+
+ outFile.write(output);
+ if (!opts.binary)
+ outFile.write('\n');
+ outFile.once('drain', function () {
+ process.exit(0);
+ });
+ });
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/sshpk-verify
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify
new file mode 100755
index 0000000..a1669f4
--- /dev/null
+++ b/node_modules/.bin/sshpk-verify
@@ -0,0 +1,166 @@
+#!/usr/bin/env node
+// -*- mode: js -*-
+// vim: set filetype=javascript :
+// Copyright 2015 Joyent, Inc. All rights reserved.
+
+var dashdash = require('dashdash');
+var sshpk = require('../lib/index');
+var fs = require('fs');
+var path = require('path');
+
+var options = [
+ {
+ names: ['hash', 'H'],
+ type: 'string',
+ help: 'Hash algorithm (sha1, sha256, sha384, sha512)'
+ },
+ {
+ names: ['verbose', 'v'],
+ type: 'bool',
+ help: 'Display verbose info about key and hash used'
+ },
+ {
+ names: ['identity', 'i'],
+ type: 'string',
+ help: 'Path to (public) key to use'
+ },
+ {
+ names: ['file', 'f'],
+ type: 'string',
+ help: 'Input filename'
+ },
+ {
+ names: ['format', 't'],
+ type: 'string',
+ help: 'Signature format (asn1, ssh, raw)'
+ },
+ {
+ names: ['signature', 's'],
+ type: 'string',
+ help: 'base64-encoded signature data'
+ },
+ {
+ names: ['help', 'h'],
+ type: 'bool',
+ help: 'Shows this help text'
+ }
+];
+
+if (require.main === module) {
+ var parser = dashdash.createParser({
+ options: options
+ });
+
+ try {
+ var opts = parser.parse(process.argv);
+ } catch (e) {
+ console.error('sshpk-verify: error: %s', e.message);
+ process.exit(3);
+ }
+
+ if (opts.help || opts._args.length > 1) {
+ var help = parser.help({}).trimRight();
+ console.error('sshpk-verify: sign data using an SSH key\n');
+ console.error(help);
+ process.exit(3);
+ }
+
+ if (!opts.identity) {
+ var help = parser.help({}).trimRight();
+ console.error('sshpk-verify: the -i or --identity option ' +
+ 'is required\n');
+ console.error(help);
+ process.exit(3);
+ }
+
+ if (!opts.signature) {
+ var help = parser.help({}).trimRight();
+ console.error('sshpk-verify: the -s or --signature option ' +
+ 'is required\n');
+ console.error(help);
+ process.exit(3);
+ }
+
+ var keyData = fs.readFileSync(opts.identity);
+
+ var key;
+ try {
+ key = sshpk.parseKey(keyData);
+ } catch (e) {
+ console.error('sshpk-verify: error loading key "' +
+ opts.identity + '": ' + e.name + ': ' + e.message);
+ process.exit(2);
+ }
+
+ var fmt = opts.format || 'asn1';
+ var sigData = new Buffer(opts.signature, 'base64');
+
+ var sig;
+ try {
+ sig = sshpk.parseSignature(sigData, key.type, fmt);
+ } catch (e) {
+ console.error('sshpk-verify: error parsing signature: ' +
+ e.name + ': ' + e.message);
+ process.exit(2);
+ }
+
+ var hash = opts.hash || key.defaultHashAlgorithm();
+
+ var verifier;
+ try {
+ verifier = key.createVerify(hash);
+ } catch (e) {
+ console.error('sshpk-verify: error creating verifier: ' +
+ e.name + ': ' + e.message);
+ process.exit(2);
+ }
+
+ if (opts.verbose) {
+ console.error('sshpk-verify: using %s-%s with a %d bit key',
+ key.type, hash, key.size);
+ }
+
+ var inFile = process.stdin;
+ var inFileName = 'stdin';
+
+ var inFilePath;
+ if (opts.file) {
+ inFilePath = opts.file;
+ } else if (opts._args.length === 1) {
+ inFilePath = opts._args[0];
+ }
+
+ if (inFilePath)
+ inFileName = path.basename(inFilePath);
+
+ try {
+ if (inFilePath) {
+ fs.accessSync(inFilePath, fs.R_OK);
+ inFile = fs.createReadStream(inFilePath);
+ }
+ } catch (e) {
+ console.error('sshpk-verify: error opening input file' +
+ ': ' + e.name + ': ' + e.message);
+ process.exit(2);
+ }
+
+ inFile.pipe(verifier);
+ inFile.on('end', function () {
+ var ret;
+ try {
+ ret = verifier.verify(sig);
+ } catch (e) {
+ console.error('sshpk-verify: error verifying data: ' +
+ e.name + ': ' + e.message);
+ process.exit(1);
+ }
+
+ if (ret) {
+ console.error('OK');
+ process.exit(0);
+ }
+
+ console.error('NOT OK');
+ process.exit(1);
+ });
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/strip-indent
----------------------------------------------------------------------
diff --git a/node_modules/.bin/strip-indent b/node_modules/.bin/strip-indent
new file mode 100755
index 0000000..bcd5f8d
--- /dev/null
+++ b/node_modules/.bin/strip-indent
@@ -0,0 +1,49 @@
+#!/usr/bin/env node
+'use strict';
+var fs = require('fs');
+var stdin = require('get-stdin');
+var pkg = require('./package.json');
+var stripIndent = require('./');
+var argv = process.argv.slice(2);
+var input = argv[0];
+
+function help() {
+ console.log([
+ '',
+ ' ' + pkg.description,
+ '',
+ ' Usage',
+ ' strip-indent <file>',
+ ' echo <string> | strip-indent',
+ '',
+ ' Example',
+ ' echo \'\\tunicorn\\n\\t\\tcake\' | strip-indent',
+ ' unicorn',
+ ' \tcake'
+ ].join('\n'));
+}
+
+function init(data) {
+ console.log(stripIndent(data));
+}
+
+if (argv.indexOf('--help') !== -1) {
+ help();
+ return;
+}
+
+if (argv.indexOf('--version') !== -1) {
+ console.log(pkg.version);
+ return;
+}
+
+if (process.stdin.isTTY) {
+ if (!input) {
+ help();
+ return;
+ }
+
+ init(fs.readFileSync(input, 'utf8'));
+} else {
+ stdin(init);
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/stylus
----------------------------------------------------------------------
diff --git a/node_modules/.bin/stylus b/node_modules/.bin/stylus
new file mode 100755
index 0000000..775ff76
--- /dev/null
+++ b/node_modules/.bin/stylus
@@ -0,0 +1,810 @@
+#!/usr/bin/env node
+
+/**
+ * Module dependencies.
+ */
+
+var fs = require('fs')
+ , stylus = require('../lib/stylus')
+ , basename = require('path').basename
+ , dirname = require('path').dirname
+ , extname = require('path').extname
+ , resolve = require('path').resolve
+ , join = require('path').join
+ , isWindows = process.platform === 'win32';
+
+/**
+ * Arguments.
+ */
+
+var args = process.argv.slice(2);
+
+/**
+ * Compare flag.
+ */
+
+var compare = false;
+
+/**
+ * Compress flag.
+ */
+
+var compress = false;
+
+/**
+ * CSS conversion flag.
+ */
+
+var convertCSS = false;
+
+/**
+ * Line numbers flag.
+ */
+
+var linenos = false;
+
+/**
+ * CSS class prefix.
+ */
+var prefix = '';
+
+/**
+ * Print to stdout flag.
+ */
+var print = false;
+
+/**
+ * Firebug flag
+ */
+
+var firebug = false;
+
+/**
+ * Sourcemap flag
+ */
+
+var sourcemap = false;
+
+/**
+ * Files to processes.
+ */
+
+var files = [];
+
+/**
+ * Import paths.
+ */
+
+var paths = [];
+
+/**
+ * Destination directory.
+ */
+
+var dest;
+
+/**
+ * Watcher hash.
+ */
+
+var watchers;
+
+/**
+ * Enable REPL.
+ */
+
+var interactive;
+
+/**
+ * Plugins.
+ */
+
+var plugins = [];
+
+/**
+ * Optional url() function.
+ */
+
+var urlFunction = false;
+
+/**
+ * Include CSS on import.
+ */
+
+var includeCSS = false;
+
+/**
+ * Set file imports.
+ */
+
+var imports = [];
+
+/**
+ * Resolve relative urls
+ */
+
+var resolveURL = false;
+
+/**
+ * Disable cache.
+ */
+
+var disableCache = false;
+
+/**
+ * Display dependencies flag.
+ */
+
+var deps = false;
+
+/**
+ * Hoist at-rules.
+ */
+
+var hoist = false;
+
+/**
+ * Usage docs.
+ */
+
+var usage = [
+ ''
+ , ' Usage: stylus [options] [command] [< in [> out]]'
+ , ' [file|dir ...]'
+ , ''
+ , ' Commands:'
+ , ''
+ , ' help [<type>:]<prop> Opens help info at MDN for <prop> in'
+ , ' your default browser. Optionally'
+ , ' searches other resources of <type>:'
+ , ' safari opera w3c ms caniuse quirksmode'
+ , ''
+ , ' Options:'
+ , ''
+ , ' -i, --interactive Start interactive REPL'
+ , ' -u, --use <path> Utilize the Stylus plugin at <path>'
+ , ' -U, --inline Utilize image inlining via data URI support'
+ , ' -w, --watch Watch file(s) for changes and re-compile'
+ , ' -o, --out <dir> Output to <dir> when passing files'
+ , ' -C, --css <src> [dest] Convert CSS input to Stylus'
+ , ' -I, --include <path> Add <path> to lookup paths'
+ , ' -c, --compress Compress CSS output'
+ , ' -d, --compare Display input along with output'
+ , ' -f, --firebug Emits debug infos in the generated CSS that'
+ , ' can be used by the FireStylus Firebug plugin'
+ , ' -l, --line-numbers Emits comments in the generated CSS'
+ , ' indicating the corresponding Stylus line'
+ , ' -m, --sourcemap Generates a sourcemap in sourcemaps v3 format'
+ , ' --sourcemap-inline Inlines sourcemap with full source text in base64 format'
+ , ' --sourcemap-root <url> "sourceRoot" property of the generated sourcemap'
+ , ' --sourcemap-base <path> Base <path> from which sourcemap and all sources are relative'
+ , ' -P, --prefix [prefix] prefix all css classes'
+ , ' -p, --print Print out the compiled CSS'
+ , ' --import <file> Import stylus <file>'
+ , ' --include-css Include regular CSS on @import'
+ , ' -D, --deps Display dependencies of the compiled file'
+ , ' --disable-cache Disable caching'
+ , ' --hoist-atrules Move @import and @charset to the top'
+ , ' -r, --resolve-url Resolve relative urls inside imports'
+ , ' --resolve-url-nocheck Like --resolve-url but without file existence check'
+ , ' -V, --version Display the version of Stylus'
+ , ' -h, --help Display help information'
+ , ''
+].join('\n');
+
+/**
+ * Handle arguments.
+ */
+
+var arg;
+while (args.length) {
+ arg = args.shift();
+ switch (arg) {
+ case '-h':
+ case '--help':
+ console.error(usage);
+ process.exit(0);
+ case '-d':
+ case '--compare':
+ compare = true;
+ break;
+ case '-c':
+ case '--compress':
+ compress = true;
+ break;
+ case '-C':
+ case '--css':
+ convertCSS = true;
+ break;
+ case '-f':
+ case '--firebug':
+ firebug = true;
+ break;
+ case '-l':
+ case '--line-numbers':
+ linenos = true;
+ break;
+ case '-m':
+ case '--sourcemap':
+ sourcemap = {};
+ break;
+ case '--sourcemap-inline':
+ sourcemap = sourcemap || {};
+ sourcemap.inline = true;
+ break;
+ case '--sourcemap-root':
+ var url = args.shift();
+ if (!url) throw new Error('--sourcemap-root <url> required');
+ sourcemap = sourcemap || {};
+ sourcemap.sourceRoot = url;
+ break;
+ case '--sourcemap-base':
+ var path = args.shift();
+ if (!path) throw new Error('--sourcemap-base <path> required');
+ sourcemap = sourcemap || {};
+ sourcemap.basePath = path;
+ break;
+ case '-P':
+ case '--prefix':
+ prefix = args.shift();
+ if (!prefix) throw new Error('--prefix <prefix> required');
+ break;
+ case '-p':
+ case '--print':
+ print = true;
+ break;
+ case '-V':
+ case '--version':
+ console.log(stylus.version);
+ process.exit(0);
+ break;
+ case '-o':
+ case '--out':
+ dest = args.shift();
+ if (!dest) throw new Error('--out <dir> required');
+ break;
+ case 'help':
+ var name = args.shift()
+ , browser = name.split(':');
+ if (browser.length > 1) {
+ name = [].slice.call(browser, 1).join(':');
+ browser = browser[0];
+ } else {
+ name = browser[0];
+ browser = '';
+ }
+ if (!name) throw new Error('help <property> required');
+ help(name);
+ break;
+ case '--include-css':
+ includeCSS = true;
+ break;
+ case '--disable-cache':
+ disableCache = true;
+ break;
+ case '--hoist-atrules':
+ hoist = true;
+ break;
+ case '-i':
+ case '--repl':
+ case '--interactive':
+ interactive = true;
+ break;
+ case '-I':
+ case '--include':
+ var path = args.shift();
+ if (!path) throw new Error('--include <path> required');
+ paths.push(path);
+ break;
+ case '-w':
+ case '--watch':
+ watchers = {};
+ break;
+ case '-U':
+ case '--inline':
+ args.unshift('--use', 'url');
+ break;
+ case '-u':
+ case '--use':
+ var options;
+ var path = args.shift();
+ if (!path) throw new Error('--use <path> required');
+
+ // options
+ if ('--with' == args[0]) {
+ args.shift();
+ options = args.shift();
+ if (!options) throw new Error('--with <options> required');
+ options = eval('(' + options + ')');
+ }
+
+ // url support
+ if ('url' == path) {
+ urlFunction = options || {};
+ } else {
+ paths.push(dirname(path));
+ plugins.push({ path: path, options: options });
+ }
+ break;
+ case '--import':
+ var file = args.shift();
+ if (!file) throw new Error('--import <file> required');
+ imports.push(file);
+ break;
+ case '-r':
+ case '--resolve-url':
+ resolveURL = {};
+ break;
+ case '--resolve-url-nocheck':
+ resolveURL = { nocheck: true };
+ break;
+ case '-D':
+ case '--deps':
+ deps = true;
+ break;
+ default:
+ files.push(arg);
+ }
+}
+
+// if --watch is used, assume we are
+// not working with stdio
+
+if (watchers && !files.length) {
+ files = fs.readdirSync(process.cwd())
+ .filter(function(file){
+ return file.match(/\.styl$/);
+ });
+}
+
+// --sourcemap flag is not working with stdio
+if (sourcemap && !files.length) sourcemap = false;
+
+/**
+ * Open the default browser to the CSS property `name`.
+ *
+ * @param {String} name
+ */
+
+function help(name) {
+ var url
+ , exec = require('child_process').exec
+ , command;
+
+ name = encodeURIComponent(name);
+
+ switch (browser) {
+ case 'safari':
+ case 'webkit':
+ url = 'https://developer.apple.com/library/safari/search/?q=' + name;
+ break;
+ case 'opera':
+ url = 'http://dev.opera.com/search/?term=' + name;
+ break;
+ case 'w3c':
+ url = 'http://www.google.com/search?q=site%3Awww.w3.org%2FTR+' + name;
+ break;
+ case 'ms':
+ url = 'http://social.msdn.microsoft.com/search/en-US/ie?query=' + name + '&refinement=59%2c61';
+ break;
+ case 'caniuse':
+ url = 'http://caniuse.com/#search=' + name;
+ break;
+ case 'quirksmode':
+ url = 'http://www.google.com/search?q=site%3Awww.quirksmode.org+' + name;
+ break;
+ default:
+ url = 'https://developer.mozilla.org/en/CSS/' + name;
+ }
+
+ switch (process.platform) {
+ case 'linux': command = 'x-www-browser'; break;
+ default: command = 'open';
+ }
+
+ exec(command + ' "' + url + '"', function(){
+ process.exit(0);
+ });
+}
+
+// Compilation options
+
+if (files.length > 1 && extname(dest) === '.css') {
+ dest = dirname(dest);
+}
+
+var options = {
+ filename: 'stdin'
+ , compress: compress
+ , firebug: firebug
+ , linenos: linenos
+ , sourcemap: sourcemap
+ , paths: [process.cwd()].concat(paths)
+ , prefix: prefix
+ , dest: dest
+ , 'hoist atrules': hoist
+};
+
+// Buffer stdin
+
+var str = '';
+
+// Convert CSS to Stylus
+
+if (convertCSS) {
+ switch (files.length) {
+ case 2:
+ compileCSSFile(files[0], files[1]);
+ break;
+ case 1:
+ var file = files[0];
+ compileCSSFile(file, join(dirname(file), basename(file, extname(file))) + '.styl');
+ break;
+ default:
+ var stdin = process.openStdin();
+ stdin.setEncoding('utf8');
+ stdin.on('data', function(chunk){ str += chunk; });
+ stdin.on('end', function(){
+ var out = stylus.convertCSS(str);
+ console.log(out);
+ });
+ }
+} else if (interactive) {
+ repl();
+} else if (deps) {
+ // if --deps is used, just display list of the dependencies
+ // not working with stdio and dirs
+ displayDeps();
+} else {
+ if (files.length) {
+ compileFiles(files);
+ } else {
+ compileStdio();
+ }
+}
+
+/**
+ * Start Stylus REPL.
+ */
+
+function repl() {
+ var options = { cache: false, filename: 'stdin', imports: [join(__dirname, '..', 'lib', 'functions')] }
+ , parser = new stylus.Parser('', options)
+ , evaluator = new stylus.Evaluator(parser.parse(), options)
+ , rl = require('readline')
+ , repl = rl.createInterface(process.stdin, process.stdout, autocomplete)
+ , global = evaluator.global.scope;
+
+ // expose BIFs
+ evaluator.evaluate();
+
+ // readline
+ repl.setPrompt('> ');
+ repl.prompt();
+
+ // HACK: flat-list auto-complete
+ function autocomplete(line){
+ var out = process.stdout
+ , keys = Object.keys(global.locals)
+ , len = keys.length
+ , words = line.split(/\s+/)
+ , word = words.pop()
+ , names = []
+ , name
+ , node
+ , key;
+
+ // find words that match
+ for (var i = 0; i < len; ++i) {
+ key = keys[i];
+ if (0 == key.indexOf(word)) {
+ node = global.lookup(key);
+ switch (node.nodeName) {
+ case 'function':
+ names.push(node.toString());
+ break;
+ default:
+ names.push(key);
+ }
+ }
+ }
+
+ return [names, line];
+ };
+
+ repl.on('line', function(line){
+ if (!line.trim().length) return repl.prompt();
+ parser = new stylus.Parser(line, options);
+ parser.state.push('expression');
+ evaluator.return = true;
+ try {
+ var expr = parser.parse();
+ evaluator.root = expr;
+ var ret = evaluator.evaluate();
+ var node;
+ while (node = ret.nodes.pop()) {
+ if (!node.suppress) {
+ var str = node.toString();
+ if ('(' == str[0]) str = str.replace(/^\(|\)$/g, '');
+ console.log('\033[90m=> \033[0m' + highlight(str));
+ break;
+ }
+ }
+ repl.prompt();
+ } catch (err) {
+ console.error('\033[31merror: %s\033[0m', err.message || err.stack);
+ repl.prompt();
+ }
+ });
+
+ repl.on('SIGINT', function(){
+ console.log();
+ process.exit(0);
+ });
+}
+
+/**
+ * Highlight the given string of Stylus.
+ */
+
+function highlight(str) {
+ return str
+ .replace(/(#)?(\d+(\.\d+)?)/g, function($0, $1, $2){
+ return $1 ? $0 : '\033[36m' + $2 + '\033[0m';
+ })
+ .replace(/(#[\da-fA-F]+)/g, '\033[33m$1\033[0m')
+ .replace(/('.*?'|".*?")/g, '\033[32m$1\033[0m');
+}
+
+/**
+ * Convert a CSS file to a Styl file
+ */
+
+function compileCSSFile(file, fileOut) {
+ fs.stat(file, function(err, stat){
+ if (err) throw err;
+ if (stat.isFile()) {
+ fs.readFile(file, 'utf8', function(err, str){
+ if (err) throw err;
+ var styl = stylus.convertCSS(str);
+ fs.writeFile(fileOut, styl, function(err){
+ if (err) throw err;
+ });
+ });
+ }
+ });
+}
+
+/**
+ * Compile with stdio.
+ */
+
+function compileStdio() {
+ process.stdin.setEncoding('utf8');
+ process.stdin.on('data', function(chunk){ str += chunk; });
+ process.stdin.on('end', function(){
+ // Compile to css
+ var style = stylus(str, options);
+ if (includeCSS) style.set('include css', true);
+ if (disableCache) style.set('cache', false);
+ usePlugins(style);
+ importFiles(style);
+ style.render(function(err, css){
+ if (err) throw err;
+ if (compare) {
+ console.log('\n\x1b[1mInput:\x1b[0m');
+ console.log(str);
+ console.log('\n\x1b[1mOutput:\x1b[0m');
+ }
+ console.log(css);
+ if (compare) console.log();
+ });
+ }).resume();
+}
+
+/**
+ * Compile the given files.
+ */
+
+function compileFiles(files) {
+ files.forEach(compileFile);
+}
+
+/**
+ * Display dependencies of the compiled files.
+ */
+
+function displayDeps() {
+ files.forEach(function(file){
+ // ensure file exists
+ fs.stat(file, function(err, stat){
+ if (err) throw err;
+ fs.readFile(file, 'utf8', function(err, str){
+ if (err) throw err;
+ options.filename = file;
+ var style = stylus(str, options);
+
+ usePlugins(style);
+ importFiles(style);
+ console.log(style.deps().join('\n'));
+ });
+ });
+ });
+}
+
+/**
+ * Compile the given file.
+ */
+
+function compileFile(file) {
+ // ensure file exists
+ fs.stat(file, function(err, stat){
+ if (err) throw err;
+ // file
+ if (stat.isFile()) {
+ fs.readFile(file, 'utf8', function(err, str){
+ if (err) throw err;
+ options.filename = file;
+ options._imports = [];
+ var style = stylus(str, options);
+ if (includeCSS) style.set('include css', true);
+ if (disableCache) style.set('cache', false);
+ if (sourcemap) style.set('sourcemap', sourcemap);
+
+ usePlugins(style);
+ importFiles(style);
+ style.render(function(err, css){
+ watchImports(file, options._imports);
+ if (err) {
+ if (watchers) {
+ console.error(err.stack || err.message);
+ } else {
+ throw err;
+ }
+ } else {
+ writeFile(file, css);
+ // write sourcemap
+ if (sourcemap && !sourcemap.inline) {
+ writeSourcemap(file, style.sourcemap);
+ }
+ }
+ });
+ });
+ // directory
+ } else if (stat.isDirectory()) {
+ fs.readdir(file, function(err, files){
+ if (err) throw err;
+ files.filter(function(path){
+ return path.match(/\.styl$/);
+ }).map(function(path){
+ return join(file, path);
+ }).forEach(compileFile);
+ });
+ }
+ });
+}
+
+/**
+ * Write the given CSS output.
+ */
+
+function createPath(file, sourceMap) {
+ var out;
+ if (files.length === 1 && extname(dest) === '.css') {
+ return [dest, sourceMap ? '.map' : ''].join('');
+ }
+ // --out support
+ out = [basename(file, extname(file)), sourceMap ? '.css.map' : '.css'].join('');
+ return dest
+ ? join(dest, out)
+ : join(dirname(file), out);
+}
+
+function writeFile(file, css) {
+ // --print support
+ if (print) return process.stdout.write(css);
+ var path = createPath(file);
+ fs.writeFile(path, css, function(err){
+ if (err) throw err;
+ console.log(' \033[90mcompiled\033[0m %s', path);
+ // --watch support
+ watch(file, file);
+ });
+}
+
+/**
+* Write the given sourcemap.
+*/
+
+function writeSourcemap(file, sourcemap) {
+ var path = createPath(file, true);
+ fs.writeFile(path, JSON.stringify(sourcemap), function(err){
+ if (err) throw err;
+ // don't output log message if --print is present
+ if (!print) console.log(' \033[90mgenerated\033[0m %s', path);
+ });
+}
+
+/**
+ * Watch the given `file` and recompiling `rootFile` when modified.
+ */
+
+function watch(file, rootFile) {
+ // not watching
+ if (!watchers) return;
+
+ // already watched
+ if (watchers[file]) {
+ watchers[file][rootFile] = true;
+ return;
+ }
+
+ // watch the file itself
+ watchers[file] = {};
+ watchers[file][rootFile] = true;
+ if (print) {
+ console.error('Stylus CLI Error: Watch and print cannot be used together');
+ process.exit(1);
+ }
+ console.log(' \033[90mwatching\033[0m %s', file);
+ // if is windows use fs.watch api instead
+ // TODO: remove watchFile when fs.watch() works on osx etc
+ if (isWindows) {
+ fs.watch(file, function(event) {
+ if (event === 'change') compile();
+ });
+ } else {
+ fs.watchFile(file, { interval: 300 }, function(curr, prev) {
+ if (curr.mtime > prev.mtime) compile();
+ });
+ }
+
+ function compile() {
+ for (var rootFile in watchers[file]) {
+ compileFile(rootFile);
+ }
+ }
+}
+
+/**
+ * Watch `imports`, re-compiling `file` when they change.
+ */
+
+function watchImports(file, imports) {
+ imports.forEach(function(imported){
+ if (!imported.path) return;
+ watch(imported.path, file);
+ });
+}
+
+/**
+ * Utilize plugins.
+ */
+
+function usePlugins(style) {
+ plugins.forEach(function(plugin){
+ var path = plugin.path;
+ var options = plugin.options;
+ fn = require(/^\.+\//.test(path) ? resolve(path) : path);
+ if ('function' != typeof fn) {
+ throw new Error('plugin ' + path + ' does not export a function');
+ }
+ style.use(fn(options));
+ });
+
+ if (urlFunction) {
+ style.define('url', stylus.url(urlFunction));
+ } else if (resolveURL) {
+ style.define('url', stylus.resolver(resolveURL));
+ }
+}
+
+/**
+ * Imports the indicated files.
+ */
+
+function importFiles(style) {
+ imports.forEach(function(file) {
+ style.import(file);
+ });
+}
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/swig
----------------------------------------------------------------------
diff --git a/node_modules/.bin/swig b/node_modules/.bin/swig
new file mode 100755
index 0000000..3240f66
--- /dev/null
+++ b/node_modules/.bin/swig
@@ -0,0 +1,161 @@
+#!/usr/bin/env node
+/*jslint es5: true */
+
+var swig = require('../index'),
+ optimist = require('optimist'),
+ fs = require('fs'),
+ path = require('path'),
+ filters = require('../lib/filters'),
+ utils = require('../lib/utils'),
+ uglify = require('uglify-js');
+
+var command,
+ argv = optimist
+ .usage('\n Usage:\n' +
+ ' $0 compile [files] [options]\n' +
+ ' $0 run [files] [options]\n' +
+ ' $0 render [files] [options]\n'
+ )
+ .describe({
+ v: 'Show the Swig version number.',
+ o: 'Output location.',
+ h: 'Show this help screen.',
+ j: 'Variable context as a JSON file.',
+ c: 'Variable context as a CommonJS-style file. Used only if option `j` is not provided.',
+ m: 'Minify compiled functions with uglify-js',
+ 'filters': 'Custom filters as a CommonJS-style file',
+ 'tags': 'Custom tags as a CommonJS-style file',
+ 'options': 'Customize Swig\'s Options from a CommonJS-style file',
+ 'wrap-start': 'Template wrapper beginning for "compile".',
+ 'wrap-end': 'Template wrapper end for "compile".',
+ 'method-name': 'Method name to set template to and run from.'
+ })
+ .alias('v', 'version')
+ .alias('o', 'output')
+ .default('o', 'stdout')
+ .alias('h', 'help')
+ .alias('j', 'json')
+ .alias('c', 'context')
+ .alias('m', 'minify')
+ .default('wrap-start', 'var tpl = ')
+ .default('wrap-end', ';')
+ .default('method-name', 'tpl')
+ .check(function (argv) {
+ if (argv.v) {
+ return;
+ }
+
+ if (!argv._.length) {
+ throw new Error('');
+ }
+
+ command = argv._.shift();
+ if (command !== 'compile' && command !== 'render' && command !== 'run') {
+ throw new Error('Unrecognized command "' + command + '". Use -h for help.');
+ }
+
+ if (argv['method-name'] !== 'tpl' && argv['wrap-start'] !== 'var tpl =') {
+ throw new Error('Cannot use arguments "--method-name" and "--wrap-start" together.');
+ }
+
+ if (argv['method-name'] !== 'tpl') {
+ argv['wrap-start'] = 'var ' + argv['method-name'] + ' = ';
+ }
+ })
+ .argv,
+ ctx = {},
+ out = function (file, str) {
+ console.log(str);
+ },
+ efn = function () {},
+ anonymous,
+ files,
+ fn;
+
+// What version?
+if (argv.v) {
+ console.log(require('../package').version);
+ process.exit(0);
+}
+
+// Pull in any context data provided
+if (argv.j) {
+ ctx = JSON.parse(fs.readFileSync(argv.j, 'utf8'));
+} else if (argv.c) {
+ ctx = require(argv.c);
+}
+
+if (argv.o !== 'stdout') {
+ argv.o += '/';
+ argv.o = path.normalize(argv.o);
+
+ try {
+ fs.mkdirSync(argv.o);
+ } catch (e) {
+ if (e.errno !== 47) {
+ throw e;
+ }
+ }
+
+ out = function (file, str) {
+ file = path.basename(file);
+ fs.writeFileSync(argv.o + file, str, { flags: 'w' });
+ console.log('Wrote', argv.o + file);
+ };
+}
+
+// Set any custom filters
+if (argv.filters) {
+ utils.each(require(path.resolve(argv.filters)), function (filter, name) {
+ swig.setFilter(name, filter);
+ });
+}
+
+// Set any custom tags
+if (argv.tags) {
+ utils.each(require(path.resolve(argv.tags)), function (tag, name) {
+ swig.setTag(name, tag.parse, tag.compile, tag.ends, tag.block);
+ });
+}
+
+// Specify swig default options
+if (argv.options) {
+ swig.setDefaults(require(argv.options));
+}
+
+switch (command) {
+case 'compile':
+ fn = function (file, str) {
+ var r = swig.precompile(str, { filename: file, locals: ctx }).tpl.toString().replace('anonymous', '');
+
+ r = argv['wrap-start'] + r + argv['wrap-end'];
+
+ if (argv.m) {
+ r = uglify.minify(r, { fromString: true }).code;
+ }
+
+ out(file, r);
+ };
+ break;
+
+case 'run':
+ fn = function (file, str) {
+ (function () {
+ eval(str);
+ var __tpl = eval(argv['method-name']);
+ out(file, __tpl(swig, ctx, filters, utils, efn));
+ }());
+ };
+ break;
+
+case 'render':
+ fn = function (file, str) {
+ out(file, swig.render(str, { filename: file, locals: ctx }));
+ };
+ break;
+}
+
+argv._.forEach(function (file) {
+ var str = fs.readFileSync(file, 'utf8');
+ fn(file, str);
+});
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/4f8fa326/node_modules/.bin/to-title-case
----------------------------------------------------------------------
diff --git a/node_modules/.bin/to-title-case b/node_modules/.bin/to-title-case
new file mode 100755
index 0000000..af25a98
--- /dev/null
+++ b/node_modules/.bin/to-title-case
@@ -0,0 +1,8 @@
+#!/usr/bin/env node
+
+var toTitleCase = require('./to-title-case')
+
+process.argv.slice(2).forEach(function (a) {
+ console.log(toTitleCase(a))
+})
+