You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/05/08 13:36:28 UTC
[03/52] [partial] incubator-ignite git commit: # ignite-843 WIP.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/transformers/package.json
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/transformers/package.json b/modules/webconfig/nodejs/node_modules/jade/node_modules/transformers/package.json
new file mode 100644
index 0000000..7530650
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/transformers/package.json
@@ -0,0 +1,89 @@
+{
+ "name": "transformers",
+ "version": "2.1.0",
+ "description": "String/Data transformations for use in templating libraries, static site generators and web frameworks",
+ "main": "lib/transformers.js",
+ "scripts": {
+ "pretest": "node test/update-package && npm install",
+ "test": "mocha test/test.js -R spec"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/ForbesLindesay/transformers.git"
+ },
+ "author": {
+ "name": "ForbesLindesay"
+ },
+ "license": "MIT",
+ "gitHead": "4b46e72cba3ad3403fd5ed3802d5472dcfa77311",
+ "devDependencies": {
+ "mocha": "~1.8",
+ "expect.js": "~0.2",
+ "swig": "*",
+ "atpl": "*",
+ "liquor": "*",
+ "ejs": "*",
+ "eco": "*",
+ "jqtpl": "*",
+ "hamljs": "*",
+ "haml-coffee": "*",
+ "whiskers": "*",
+ "hogan.js": "*",
+ "handlebars": "*",
+ "underscore": "*",
+ "walrus": "*",
+ "mustache": "*",
+ "mote": "*",
+ "toffee": "*",
+ "just": "*",
+ "ect": "*",
+ "jade": "*",
+ "then-jade": "*",
+ "dust": "*",
+ "dustjs-linkedin": "*",
+ "jazz": "*",
+ "qejs": "*",
+ "less": "*",
+ "stylus": "*",
+ "sass": "*",
+ "marked": "*",
+ "supermarked": "*",
+ "markdown-js": "*",
+ "markdown": "*",
+ "coffee-script": "*",
+ "cson": "*",
+ "coffeekup": "*",
+ "coffeecup": "*",
+ "templayed": "*",
+ "plates": "*",
+ "dot": "*",
+ "component-builder": "*",
+ "html2jade": "*",
+ "highlight.js": "*"
+ },
+ "dependencies": {
+ "promise": "~2.0",
+ "css": "~1.0.8",
+ "uglify-js": "~2.2.5"
+ },
+ "_id": "transformers@2.1.0",
+ "dist": {
+ "shasum": "5d23cb35561dd85dc67fb8482309b47d53cce9a7",
+ "tarball": "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz"
+ },
+ "_from": "transformers@2.1.0",
+ "_npmVersion": "1.2.10",
+ "_npmUser": {
+ "name": "forbeslindesay",
+ "email": "forbes@lindesay.co.uk"
+ },
+ "maintainers": [
+ {
+ "name": "forbeslindesay",
+ "email": "forbes@lindesay.co.uk"
+ }
+ ],
+ "directories": {},
+ "_shasum": "5d23cb35561dd85dc67fb8482309b47d53cce9a7",
+ "_resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz"
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.gitattributes
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.gitattributes b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.gitattributes
new file mode 100644
index 0000000..176a458
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.gitattributes
@@ -0,0 +1 @@
+* text=auto
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.npmignore
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.npmignore b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.npmignore
new file mode 100644
index 0000000..3c3629e
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.npmignore
@@ -0,0 +1 @@
+node_modules
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.travis.yml
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.travis.yml b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.travis.yml
new file mode 100644
index 0000000..3c6757d
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+ - '0.10'
+ - '0.11'
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/LICENSE
new file mode 100644
index 0000000..2d3845b
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/LICENSE
@@ -0,0 +1,22 @@
+(The MIT License)
+
+Copyright (c) 2014 hemanth
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/README.md
new file mode 100644
index 0000000..e8e0654
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/README.md
@@ -0,0 +1,27 @@
+void-elements
+==============
+
+### Array of "void elements" defined by the HTML specification
+
+Exports an Array of "void element" node names as defined by the HTML spec.
+
+The list is programatically generated from the [latest W3C HTML draft](http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements).
+
+[![Build Status](https://img.shields.io/travis/jadejs/void-elements/master.svg?style=flat)](https://travis-ci.org/jadejs/void-elements)
+[![Developing Dependency Status](https://img.shields.io/david/dev/jadejs/void-elements.svg?style=flat)](https://david-dm.org/jadejs/void-elements#info=devDependencies)
+[![NPM version](https://img.shields.io/npm/v/void-elements.svg?style=flat)](https://www.npmjs.org/package/void-elements)
+
+Usage
+-----
+
+```js
+var voidElements = require('void-elements');
+
+assert(voidElements.indexOf('span') === -1, '<span> is not a void element');
+assert(voidElements.indexOf('img') !== -1, '<img> is a void element');
+```
+
+License
+-------
+
+MIT
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/index.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/index.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/index.js
new file mode 100644
index 0000000..363b624
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/index.js
@@ -0,0 +1,23 @@
+/**
+ * This file automatically generated from `pre-publish.js`.
+ * Do not manually edit.
+ */
+
+module.exports = {
+ "area": true,
+ "base": true,
+ "br": true,
+ "col": true,
+ "embed": true,
+ "hr": true,
+ "img": true,
+ "input": true,
+ "keygen": true,
+ "link": true,
+ "menuitem": true,
+ "meta": true,
+ "param": true,
+ "source": true,
+ "track": true,
+ "wbr": true
+};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/package.json
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/package.json b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/package.json
new file mode 100644
index 0000000..1b48ada
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/package.json
@@ -0,0 +1,57 @@
+{
+ "name": "void-elements",
+ "version": "2.0.1",
+ "description": "Array of \"void elements\" defined by the HTML specification.",
+ "main": "index.js",
+ "scripts": {
+ "test": "node test",
+ "prepublish": "node pre-publish.js > index.js"
+ },
+ "keywords": [
+ "html",
+ "void",
+ "elements"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/hemanth/void-elements"
+ },
+ "author": {
+ "name": "hemanth.hm"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/hemanth/void-elements/issues"
+ },
+ "homepage": "https://github.com/hemanth/void-elements",
+ "devDependencies": {
+ "cheerio": "^0.18.0"
+ },
+ "_id": "void-elements@2.0.1",
+ "dist": {
+ "shasum": "c066afb582bb1cb4128d60ea92392e94d5e9dbec",
+ "tarball": "http://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
+ },
+ "_from": "void-elements@>=2.0.1 <2.1.0",
+ "_npmVersion": "1.3.11",
+ "_npmUser": {
+ "name": "hemanth",
+ "email": "hemanth.hm@gmail.com"
+ },
+ "maintainers": [
+ {
+ "name": "hemanth",
+ "email": "hemanth.hm@gmail.com"
+ },
+ {
+ "name": "forbeslindesay",
+ "email": "forbes@lindesay.co.uk"
+ }
+ ],
+ "directories": {},
+ "_shasum": "c066afb582bb1cb4128d60ea92392e94d5e9dbec",
+ "_resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/pre-publish.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/pre-publish.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/pre-publish.js
new file mode 100644
index 0000000..93218ab
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/pre-publish.js
@@ -0,0 +1,29 @@
+var cheerio = require('cheerio')
+ , http = require('http');
+
+http.get('http://www.w3.org/html/wg/drafts/html/master/syntax.html', function (res) {
+ var str = '';
+ res.setEncoding('utf8');
+ res.on('data', function (buf) {
+ str += buf;
+ }).on('end', function () {
+ var $ = cheerio.load(str);
+ var codes = $('dfn#void-elements')
+ .parent()
+ .next()
+ .text()
+ .replace(/\s/gm,'')
+ .split(",")
+ .reduce(function (obj, code) {
+ obj[code] = true;
+ return obj;
+ }, {});
+
+ console.log('/**');
+ console.log(' * This file automatically generated from `pre-publish.js`.');
+ console.log(' * Do not manually edit.');
+ console.log(' */');
+ console.log();
+ console.log('module.exports = %s;', JSON.stringify(codes, null, 2));
+ });
+});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/test/index.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/test/index.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/test/index.js
new file mode 100644
index 0000000..4d71973
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/void-elements/test/index.js
@@ -0,0 +1,5 @@
+var assert = require('assert');
+var voidElements = require('../');
+assert(!voidElements.span, '<span> is not a void element');
+assert(voidElements.img, '<img> is a void element');
+console.log('tests passed');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/.npmignore
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/.npmignore b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/.npmignore
new file mode 100644
index 0000000..cefaa67
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/.npmignore
@@ -0,0 +1,2 @@
+test/
+.travis.yml
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/LICENSE
new file mode 100644
index 0000000..35cc606
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2013 Forbes Lindesay
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/README.md
new file mode 100644
index 0000000..ed88b0c
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/README.md
@@ -0,0 +1,81 @@
+# with
+
+Compile time `with` for strict mode JavaScript
+
+[![build status](https://secure.travis-ci.org/ForbesLindesay/with.png)](http://travis-ci.org/ForbesLindesay/with)
+[![Dependency Status](https://img.shields.io/gemnasium/ForbesLindesay/with.svg)](https://gemnasium.com/ForbesLindesay/with)
+[![NPM version](https://img.shields.io/npm/v/with.svg)](http://badge.fury.io/js/with)
+
+## Installation
+
+ $ npm install with
+
+## Usage
+
+```js
+var addWith = require('with')
+
+addWith('obj', 'console.log(a)')
+// => ';(function (console, a) {
+// console.log(a)
+// }("console" in obj ? obj.console :
+// typeof console!=="undefined" ? console : undefined,
+// "a" in obj ? obj.a :
+// typeof a !== "undefined" ? a : undefined));'
+
+addWith('obj', 'console.log(a)', ['console'])
+// => ';(function (console, a) {
+// console.log(a)
+// }("a" in obj ? obj.a :
+// typeof a !== "undefined" ? a : undefined));'
+```
+
+## API
+
+### addWith(obj, src[, exclude])
+
+The idea is that this is roughly equivallent to:
+
+```js
+with (obj) {
+ src
+}
+```
+
+There are a few differences though. For starters, assignments to variables will always remain contained within the with block.
+
+e.g.
+
+```js
+var foo = 'foo'
+with ({}) {
+ foo = 'bar'
+}
+assert(foo === 'bar')// => This fails for compile time with but passes for native with
+
+var obj = {foo: 'foo'}
+with ({}) {
+ foo = 'bar'
+}
+assert(obj.foo === 'bar')// => This fails for compile time with but passes for native with
+```
+
+It also makes everything be declared, so you can always do:
+
+```js
+if (foo === undefined)
+```
+
+instead of
+
+```js
+if (typeof foo === 'undefined')
+```
+
+This is not the case if foo is in `exclude`. If a variable is excluded, we ignore it entirely. This is useful if you know a variable will be global as it can lead to efficiency improvements.
+
+It is also safe to use in strict mode (unlike `with`) and it minifies properly (`with` disables virtually all minification).
+
+## License
+
+ MIT
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/index.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/index.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/index.js
new file mode 100644
index 0000000..7632ee7
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/index.js
@@ -0,0 +1,125 @@
+'use strict';
+
+var detect = require('acorn-globals');
+var acorn = require('acorn');
+var walk = require('acorn/dist/walk');
+
+// polyfill for https://github.com/marijnh/acorn/pull/231
+walk.base.ExportNamedDeclaration = walk.base.ExportDefaultDeclaration = function (node, st, c) {
+ return c(node.declaration, st);
+};
+walk.base.ImportDefaultSpecifier = walk.base.ImportNamespaceSpecifier = function () {};
+
+// hacky fix for https://github.com/marijnh/acorn/issues/227
+function reallyParse(source) {
+ try {
+ return acorn.parse(source, {
+ ecmaVersion: 5,
+ allowReturnOutsideFunction: true
+ });
+ } catch (ex) {
+ if (ex.name !== 'SyntaxError') {
+ throw ex;
+ }
+ return acorn.parse(source, {
+ ecmaVersion: 6,
+ allowReturnOutsideFunction: true
+ });
+ }
+}
+
+module.exports = addWith
+
+/**
+ * Mimic `with` as far as possible but at compile time
+ *
+ * @param {String} obj The object part of a with expression
+ * @param {String} src The body of the with expression
+ * @param {Array.<String>} exclude A list of variable names to explicitly exclude
+ */
+function addWith(obj, src, exclude) {
+ obj = obj + ''
+ src = src + ''
+ exclude = exclude || []
+ exclude = exclude.concat(detect(obj).map(function (global) { return global.name; }))
+ var vars = detect(src).map(function (global) { return global.name; })
+ .filter(function (v) {
+ return exclude.indexOf(v) === -1
+ })
+
+ if (vars.length === 0) return src
+
+ var declareLocal = ''
+ var local = 'locals_for_with'
+ var result = 'result_of_with'
+ if (/^[a-zA-Z0-9$_]+$/.test(obj)) {
+ local = obj
+ } else {
+ while (vars.indexOf(local) != -1 || exclude.indexOf(local) != -1) {
+ local += '_'
+ }
+ declareLocal = 'var ' + local + ' = (' + obj + ')'
+ }
+ while (vars.indexOf(result) != -1 || exclude.indexOf(result) != -1) {
+ result += '_'
+ }
+
+ var inputVars = vars.map(function (v) {
+ return JSON.stringify(v) + ' in ' + local + '?' +
+ local + '.' + v + ':' +
+ 'typeof ' + v + '!=="undefined"?' + v + ':undefined'
+ })
+
+ src = '(function (' + vars.join(', ') + ') {' +
+ src +
+ '}.call(this' + inputVars.map(function (v) { return ',' + v; }).join('') + '))'
+
+ return ';' + declareLocal + ';' + unwrapReturns(src, result) + ';'
+}
+
+/**
+ * Take a self calling function, and unwrap it such that return inside the function
+ * results in return outside the function
+ *
+ * @param {String} src Some JavaScript code representing a self-calling function
+ * @param {String} result A temporary variable to store the result in
+ */
+function unwrapReturns(src, result) {
+ var originalSource = src
+ var hasReturn = false
+ var ast = reallyParse(src)
+ var ref
+ src = src.split('')
+
+ // get a reference to the function that was inserted to add an inner context
+ if ((ref = ast.body).length !== 1
+ || (ref = ref[0]).type !== 'ExpressionStatement'
+ || (ref = ref.expression).type !== 'CallExpression'
+ || (ref = ref.callee).type !== 'MemberExpression' || ref.computed !== false || ref.property.name !== 'call'
+ || (ref = ref.object).type !== 'FunctionExpression')
+ throw new Error('AST does not seem to represent a self-calling function')
+ var fn = ref
+
+ walk.recursive(ast, null, {
+ Function: function (node, st, c) {
+ if (node === fn) {
+ c(node.body, st, "ScopeBody");
+ }
+ },
+ ReturnStatement: function (node) {
+ hasReturn = true
+ replace(node, 'return {value: ' + source(node.argument) + '};');
+ }
+ });
+ function source(node) {
+ return src.slice(node.start, node.end).join('')
+ }
+ function replace(node, str) {
+ for (var i = node.start; i < node.end; i++) {
+ src[i] = ''
+ }
+ src[node.start] = str
+ }
+ if (!hasReturn) return originalSource
+ else return 'var ' + result + '=' + src.join('') + ';if (' + result + ') return ' + result + '.value'
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/.bin/acorn
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/.bin/acorn b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/.bin/acorn
new file mode 120000
index 0000000..cf76760
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/.bin/acorn
@@ -0,0 +1 @@
+../acorn/bin/acorn
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/LICENSE
new file mode 100644
index 0000000..27cc9f3
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2014 Forbes Lindesay
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/README.md
new file mode 100644
index 0000000..6356753
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/README.md
@@ -0,0 +1,76 @@
+# acorn-globals
+
+Detect global variables in JavaScript using acorn
+
+[![Build Status](https://img.shields.io/travis/ForbesLindesay/acorn-globals/master.svg)](https://travis-ci.org/ForbesLindesay/acorn-globals)
+[![Dependency Status](https://img.shields.io/gemnasium/ForbesLindesay/acorn-globals.svg)](https://gemnasium.com/ForbesLindesay/acorn-globals)
+[![NPM version](https://img.shields.io/npm/v/acorn-globals.svg)](https://www.npmjs.org/package/acorn-globals)
+
+## Installation
+
+ npm install acorn-globals
+
+## Usage
+
+detect.js
+
+```js
+var fs = require('fs');
+var detect = require('acorn-globals');
+
+var src = fs.readFileSync(__dirname + '/input.js', 'utf8');
+
+var scope = detect(src);
+console.dir(scope);
+```
+
+input.js
+
+```js
+var x = 5;
+var y = 3, z = 2;
+
+w.foo();
+w = 2;
+
+RAWR=444;
+RAWR.foo();
+
+BLARG=3;
+
+foo(function () {
+ var BAR = 3;
+ process.nextTick(function (ZZZZZZZZZZZZ) {
+ console.log('beep boop');
+ var xyz = 4;
+ x += 10;
+ x.zzzzzz;
+ ZZZ=6;
+ });
+ function doom () {
+ }
+ ZZZ.foo();
+
+});
+
+console.log(xyz);
+```
+
+output:
+
+```
+$ node example/detect.js
+[ { name: 'BLARG', nodes: [ [Object] ] },
+ { name: 'RAWR', nodes: [ [Object], [Object] ] },
+ { name: 'ZZZ', nodes: [ [Object], [Object] ] },
+ { name: 'console', nodes: [ [Object], [Object] ] },
+ { name: 'foo', nodes: [ [Object] ] },
+ { name: 'process', nodes: [ [Object] ] },
+ { name: 'w', nodes: [ [Object], [Object] ] },
+ { name: 'xyz', nodes: [ [Object] ] } ]
+```
+
+
+## License
+
+ MIT
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/index.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/index.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/index.js
new file mode 100644
index 0000000..02983c7
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/index.js
@@ -0,0 +1,155 @@
+'use strict';
+
+var acorn = require('acorn');
+var walk = require('acorn/dist/walk');
+
+// polyfill for https://github.com/marijnh/acorn/pull/231
+walk.base.ExportNamedDeclaration = walk.base.ExportDefaultDeclaration = function (node, st, c) {
+ return c(node.declaration, st);
+};
+walk.base.ImportDefaultSpecifier = walk.base.ImportNamespaceSpecifier = function () {};
+
+function isScope(node) {
+ return node.type === 'FunctionExpression' || node.type === 'FunctionDeclaration' || node.type === 'Program';
+}
+function isBlockScope(node) {
+ return node.type === 'BlockStatement' || isScope(node);
+}
+
+function declaresArguments(node) {
+ return node.type === 'FunctionExpression' || node.type === 'FunctionDeclaration' || node.type === 'ArrowFunction';
+}
+function declaresThis(node) {
+ return node.type === 'FunctionExpression' || node.type === 'FunctionDeclaration';
+}
+
+function reallyParse(source) {
+ try {
+ return acorn.parse(source, {
+ ecmaVersion: 6,
+ allowReturnOutsideFunction: true,
+ sourceType: 'module'
+ });
+ } catch (ex) {
+ if (ex.name !== 'SyntaxError') {
+ throw ex;
+ }
+ try {
+ return acorn.parse(source, {
+ ecmaVersion: 6,
+ allowReturnOutsideFunction: true
+ });
+ } catch (ex) {
+ if (ex.name !== 'SyntaxError') {
+ throw ex;
+ }
+ return acorn.parse(source, {
+ ecmaVersion: 5,
+ allowReturnOutsideFunction: true
+ });
+ }
+ }
+}
+module.exports = findGlobals;
+module.exports.parse = reallyParse;
+function findGlobals(source) {
+ var globals = [];
+ var ast = typeof source === 'string' ?
+ ast = reallyParse(source) :
+ source;
+ if (!(ast && typeof ast === 'object' && ast.type === 'Program')) {
+ throw new TypeError('Source must be either a string of JavaScript or an acorn AST');
+ }
+ var declareFunction = function (node) {
+ var fn = node;
+ fn.locals = fn.locals || {};
+ node.params.forEach(function (node) {
+ fn.locals[node.name] = true;
+ });
+ if (node.id) {
+ fn.locals[node.id.name] = true;
+ }
+ }
+ walk.ancestor(ast, {
+ 'VariableDeclaration': function (node, parents) {
+ var parent = null;
+ for (var i = parents.length - 1; i >= 0 && parent === null; i--) {
+ if (node.kind === 'var' ? isScope(parents[i]) : isBlockScope(parents[i])) {
+ parent = parents[i];
+ }
+ }
+ parent.locals = parent.locals || {};
+ node.declarations.forEach(function (declaration) {
+ parent.locals[declaration.id.name] = true;
+ });
+ },
+ 'FunctionDeclaration': function (node, parents) {
+ var parent = null;
+ for (var i = parents.length - 2; i >= 0 && parent === null; i--) {
+ if (isScope(parents[i])) {
+ parent = parents[i];
+ }
+ }
+ parent.locals = parent.locals || {};
+ parent.locals[node.id.name] = true;
+ declareFunction(node);
+ },
+ 'Function': declareFunction,
+ 'TryStatement': function (node) {
+ node.handler.body.locals = node.handler.body.locals || {};
+ node.handler.body.locals[node.handler.param.name] = true;
+ },
+ 'ImportDefaultSpecifier': function (node) {
+ if (node.local.type === 'Identifier') {
+ ast.locals = ast.locals || {};
+ ast.locals[node.local.name] = true;
+ }
+ },
+ 'ImportSpecifier': function (node) {
+ var id = node.local ? node.local : node.imported;
+ if (id.type === 'Identifier') {
+ ast.locals = ast.locals || {};
+ ast.locals[id.name] = true;
+ }
+ },
+ 'ImportNamespaceSpecifier': function (node) {
+ if (node.local.type === 'Identifier') {
+ ast.locals = ast.locals || {};
+ ast.locals[node.local.name] = true;
+ }
+ }
+ });
+ walk.ancestor(ast, {
+ 'Identifier': function (node, parents) {
+ var name = node.name;
+ if (name === 'undefined') return;
+ for (var i = 0; i < parents.length; i++) {
+ if (name === 'arguments' && declaresArguments(parents[i])) {
+ return;
+ }
+ if (parents[i].locals && name in parents[i].locals) {
+ return;
+ }
+ }
+ node.parents = parents;
+ globals.push(node);
+ },
+ ThisExpression: function (node, parents) {
+ for (var i = 0; i < parents.length; i++) {
+ if (declaresThis(parents[i])) {
+ return;
+ }
+ }
+ node.parents = parents;
+ globals.push(node);
+ }
+ });
+ var groupedGlobals = {};
+ globals.forEach(function (node) {
+ groupedGlobals[node.name] = (groupedGlobals[node.name] || []);
+ groupedGlobals[node.name].push(node);
+ });
+ return Object.keys(groupedGlobals).sort().map(function (name) {
+ return {name: name, nodes: groupedGlobals[name]};
+ });
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/package.json
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/package.json b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/package.json
new file mode 100644
index 0000000..81f92b7
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn-globals/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "acorn-globals",
+ "version": "1.0.4",
+ "description": "Detect global variables in JavaScript using acorn",
+ "keywords": [
+ "ast",
+ "variable",
+ "name",
+ "lexical",
+ "scope",
+ "local",
+ "global",
+ "implicit"
+ ],
+ "files": [
+ "index.js",
+ "LICENSE"
+ ],
+ "dependencies": {
+ "acorn": "^1.0.1"
+ },
+ "devDependencies": {
+ "testit": "^1.2.0"
+ },
+ "scripts": {
+ "test": "node test"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/ForbesLindesay/acorn-globals.git"
+ },
+ "author": {
+ "name": "ForbesLindesay"
+ },
+ "license": "MIT",
+ "gitHead": "4ad8a64daa0e4028ce0d1596dbceec26b433235c",
+ "bugs": {
+ "url": "https://github.com/ForbesLindesay/acorn-globals/issues"
+ },
+ "homepage": "https://github.com/ForbesLindesay/acorn-globals",
+ "_id": "acorn-globals@1.0.4",
+ "_shasum": "4e8528e724b4fa24ba553ad479c4c78589afbfcf",
+ "_from": "acorn-globals@>=1.0.0 <2.0.0",
+ "_npmVersion": "2.7.1",
+ "_nodeVersion": "1.6.2",
+ "_npmUser": {
+ "name": "forbeslindesay",
+ "email": "forbes@lindesay.co.uk"
+ },
+ "maintainers": [
+ {
+ "name": "forbeslindesay",
+ "email": "forbes@lindeay.co.uk"
+ }
+ ],
+ "dist": {
+ "shasum": "4e8528e724b4fa24ba553ad479c4c78589afbfcf",
+ "tarball": "http://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.4.tgz"
+ },
+ "directories": {},
+ "_resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.4.tgz"
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.editorconfig
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.editorconfig b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.editorconfig
new file mode 100644
index 0000000..c14d5c6
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.editorconfig
@@ -0,0 +1,7 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+insert_final_newline = true
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.gitattributes
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.gitattributes b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.gitattributes
new file mode 100644
index 0000000..fcadb2c
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.npmignore
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.npmignore b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.npmignore
new file mode 100644
index 0000000..ecba291
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.npmignore
@@ -0,0 +1,3 @@
+/.tern-port
+/test
+/local
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.tern-project
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.tern-project b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.tern-project
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.tern-project
@@ -0,0 +1 @@
+{}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.travis.yml
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.travis.yml b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.travis.yml
new file mode 100644
index 0000000..ffb9f71
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/.travis.yml
@@ -0,0 +1,2 @@
+language: node_js
+node_js: '0.10'
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/AUTHORS
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/AUTHORS b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/AUTHORS
new file mode 100644
index 0000000..d832530
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/AUTHORS
@@ -0,0 +1,36 @@
+List of Acorn contributors. Updated before every release.
+
+Alistair Braidwood
+Andres Suarez
+Aparajita Fishman
+Arian Stolwijk
+Artem Govorov
+Brandon Mills
+Charles Hughes
+Conrad Irwin
+David Bonnet
+Forbes Lindesay
+impinball
+Ingvar Stepanyan
+Jiaxing Wang
+Johannes Herr
+Jürg Lehni
+keeyipchan
+krator
+Marijn Haverbeke
+Martin Carlberg
+Mathias Bynens
+Mathieu 'p01' Henri
+Max Schaefer
+Max Zerzouri
+Mihai Bazon
+Mike Rennie
+Nick Fitzgerald
+Oskar Schöldström
+Paul Harper
+Peter Rust
+PlNG
+r-e-d
+Rich Harris
+Sebastian McKenzie
+zsjforcn
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/LICENSE
new file mode 100644
index 0000000..d4c7fc5
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/LICENSE
@@ -0,0 +1,19 @@
+Copyright (C) 2012-2014 by various contributors (see AUTHORS)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/README.md
new file mode 100644
index 0000000..43ead47
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/README.md
@@ -0,0 +1,375 @@
+# Acorn
+
+[![Build Status](https://travis-ci.org/marijnh/acorn.svg?branch=master)](https://travis-ci.org/marijnh/acorn)
+[![NPM version](https://img.shields.io/npm/v/acorn.svg)](https://www.npmjs.org/package/acorn)
+[Author funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png?force)](https://marijnhaverbeke.nl/fund/)
+
+A tiny, fast JavaScript parser, written completely in JavaScript.
+
+## Installation
+
+The easiest way to install acorn is with [`npm`][npm].
+
+[npm]: http://npmjs.org
+
+```sh
+npm install acorn
+```
+
+Alternately, download the source.
+
+```sh
+git clone https://github.com/marijnh/acorn.git
+```
+
+## Components
+
+When run in a CommonJS (node.js) or AMD environment, exported values
+appear in the interfaces exposed by the individual files, as usual.
+When loaded in the browser (Acorn works in any JS-enabled browser more
+recent than IE5) without any kind of module management, a single
+global object `acorn` will be defined, and all the exported properties
+will be added to that.
+
+### Main parser
+
+This is implemented in `dist/acorn.js`, and is what you get when you
+`require("acorn")` in node.js.
+
+**parse**`(input, options)` is used to parse a JavaScript program.
+The `input` parameter is a string, `options` can be undefined or an
+object setting some of the options listed below. The return value will
+be an abstract syntax tree object as specified by the
+[Mozilla Parser API][mozapi].
+
+When encountering a syntax error, the parser will raise a
+`SyntaxError` object with a meaningful message. The error object will
+have a `pos` property that indicates the character offset at which the
+error occurred, and a `loc` object that contains a `{line, column}`
+object referring to that same position.
+
+[mozapi]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
+
+- **ecmaVersion**: Indicates the ECMAScript version to parse. Must be
+ either 3, 5, or 6. This influences support for strict mode, the set
+ of reserved words, and support for new syntax features. Default is 5.
+
+- **sourceType**: Indicate the mode the code should be parsed in. Can be
+ either `"script"` or `"module"`.
+
+- **onInsertedSemicolon**: If given a callback, that callback will be
+ called whenever a missing semicolon is inserted by the parser. The
+ callback will be given the character offset of the point where the
+ semicolon is inserted as argument, and if `locations` is on, also a
+ `{line, column}` object representing this position.
+
+- **onTrailingComma**: Like `onInsertedSemicolon`, but for trailing
+ commas.
+
+- **allowReserved**: If `false`, using a reserved word will generate
+ an error. Defaults to `true`. When given the value `"never"`,
+ reserved words and keywords can also not be used as property names
+ (as in Internet Explorer's old parser).
+
+- **allowReturnOutsideFunction**: By default, a return statement at
+ the top level raises an error. Set this to `true` to accept such
+ code.
+
+- **allowImportExportEverywhere**: By default, `import` and `export`
+ declarations can only appear at a program's top level. Setting this
+ option to `true` allows them anywhere where a statement is allowed.
+
+- **allowHashBang**: When this is enabled (off by default), if the
+ code starts with the characters `#!` (as in a shellscript), the
+ first line will be treated as a comment.
+
+- **locations**: When `true`, each node has a `loc` object attached
+ with `start` and `end` subobjects, each of which contains the
+ one-based line and zero-based column numbers in `{line, column}`
+ form. Default is `false`.
+
+- **onToken**: If a function is passed for this option, each found
+ token will be passed in same format as `tokenize()` returns.
+
+ If array is passed, each found token is pushed to it.
+
+ Note that you are not allowed to call the parser from the
+ callback—that will corrupt its internal state.
+
+- **onComment**: If a function is passed for this option, whenever a
+ comment is encountered the function will be called with the
+ following parameters:
+
+ - `block`: `true` if the comment is a block comment, false if it
+ is a line comment.
+ - `text`: The content of the comment.
+ - `start`: Character offset of the start of the comment.
+ - `end`: Character offset of the end of the comment.
+
+ When the `locations` options is on, the `{line, column}` locations
+ of the comment’s start and end are passed as two additional
+ parameters.
+
+ If array is passed for this option, each found comment is pushed
+ to it as object in Esprima format:
+
+ ```javascript
+ {
+ "type": "Line" | "Block",
+ "value": "comment text",
+ "range": ...,
+ "loc": ...
+ }
+ ```
+
+ Note that you are not allowed to call the parser from the
+ callback—that will corrupt its internal state.
+
+- **ranges**: Nodes have their start and end characters offsets
+ recorded in `start` and `end` properties (directly on the node,
+ rather than the `loc` object, which holds line/column data. To also
+ add a [semi-standardized][range] "range" property holding a
+ `[start, end]` array with the same numbers, set the `ranges` option
+ to `true`.
+
+- **program**: It is possible to parse multiple files into a single
+ AST by passing the tree produced by parsing the first file as the
+ `program` option in subsequent parses. This will add the toplevel
+ forms of the parsed file to the "Program" (top) node of an existing
+ parse tree.
+
+- **sourceFile**: When the `locations` option is `true`, you can pass
+ this option to add a `source` attribute in every node’s `loc`
+ object. Note that the contents of this option are not examined or
+ processed in any way; you are free to use whatever format you
+ choose.
+
+- **directSourceFile**: Like `sourceFile`, but a `sourceFile` property
+ will be added directly to the nodes, rather than the `loc` object.
+
+- **preserveParens**: If this option is `true`, parenthesized expressions
+ are represented by (non-standard) `ParenthesizedExpression` nodes
+ that have a single `expression` property containing the expression
+ inside parentheses.
+
+[range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
+
+**parseExpressionAt**`(input, offset, options)` will parse a single
+expression in a string, and return its AST. It will not complain if
+there is more of the string left after the expression.
+
+**getLineInfo**`(input, offset)` can be used to get a `{line,
+column}` object for a given program string and character offset.
+
+**tokenizer**`(input, options)` returns an object with a `getToken`
+method that can be called repeatedly to get the next token, a `{start,
+end, type, value}` object (with added `loc` property when the
+`locations` option is enabled and `range` property when the `ranges`
+option is enabled). When the token's type is `tokTypes.eof`, you
+should stop calling the method, since it will keep returning that same
+token forever.
+
+In ES6 environment, returned result can be used as any other
+protocol-compliant iterable:
+
+```javascript
+for (let token of acorn.tokenize(str)) {
+ // iterate over the tokens
+}
+
+// transform code to array of tokens:
+var tokens = [...acorn.tokenize(str)];
+```
+
+**tokTypes** holds an object mapping names to the token type objects
+that end up in the `type` properties of tokens.
+
+#### Note on using with [Escodegen][escodegen]
+
+Escodegen supports generating comments from AST, attached in
+Esprima-specific format. In order to simulate same format in
+Acorn, consider following example:
+
+```javascript
+var comments = [], tokens = [];
+
+var ast = acorn.parse('var x = 42; // answer', {
+ // collect ranges for each node
+ ranges: true,
+ // collect comments in Esprima's format
+ onComment: comments,
+ // collect token ranges
+ onToken: tokens
+});
+
+// attach comments using collected information
+escodegen.attachComments(ast, comments, tokens);
+
+// generate code
+console.log(escodegen.generate(ast, {comment: true}));
+// > 'var x = 42; // answer'
+```
+
+[escodegen]: https://github.com/Constellation/escodegen
+
+#### Using Acorn in an environment with a Content Security Policy
+
+Some contexts, such as Chrome Web Apps, disallow run-time code evaluation.
+Acorn uses `new Function` to generate fast functions that test whether
+a word is in a given set, and will trigger a security error when used
+in a context with such a
+[Content Security Policy](http://www.html5rocks.com/en/tutorials/security/content-security-policy/#eval-too)
+(see [#90](https://github.com/marijnh/acorn/issues/90) and
+[#123](https://github.com/marijnh/acorn/issues/123)).
+
+The `dist/acorn_csp.js` file in the distribution (which is built
+by the `bin/without_eval` script) has the generated code inlined, and
+can thus run without evaluating anything.
+
+### dist/acorn_loose.js ###
+
+This file implements an error-tolerant parser. It exposes a single
+function.
+
+**parse_dammit**`(input, options)` takes the same arguments and
+returns the same syntax tree as the `parse` function in `acorn.js`,
+but never raises an error, and will do its best to parse syntactically
+invalid code in as meaningful a way as it can. It'll insert identifier
+nodes with name `"✖"` as placeholders in places where it can't make
+sense of the input. Depends on `acorn.js`, because it uses the same
+tokenizer.
+
+### dist/walk.js ###
+
+Implements an abstract syntax tree walker. Will store its interface in
+`acorn.walk` when loaded without a module system.
+
+**simple**`(node, visitors, base, state)` does a 'simple' walk over
+a tree. `node` should be the AST node to walk, and `visitors` an
+object with properties whose names correspond to node types in the
+[Mozilla Parser API][mozapi]. The properties should contain functions
+that will be called with the node object and, if applicable the state
+at that point. The last two arguments are optional. `base` is a walker
+algorithm, and `state` is a start state. The default walker will
+simply visit all statements and expressions and not produce a
+meaningful state. (An example of a use of state it to track scope at
+each point in the tree.)
+
+**ancestor**`(node, visitors, base, state)` does a 'simple' walk over
+a tree, building up an array of ancestor nodes (including the current node)
+and passing the array to callbacks in the `state` parameter.
+
+**recursive**`(node, state, functions, base)` does a 'recursive'
+walk, where the walker functions are responsible for continuing the
+walk on the child nodes of their target node. `state` is the start
+state, and `functions` should contain an object that maps node types
+to walker functions. Such functions are called with `(node, state, c)`
+arguments, and can cause the walk to continue on a sub-node by calling
+the `c` argument on it with `(node, state)` arguments. The optional
+`base` argument provides the fallback walker functions for node types
+that aren't handled in the `functions` object. If not given, the
+default walkers will be used.
+
+**make**`(functions, base)` builds a new walker object by using the
+walker functions in `functions` and filling in the missing ones by
+taking defaults from `base`.
+
+**findNodeAt**`(node, start, end, test, base, state)` tries to
+locate a node in a tree at the given start and/or end offsets, which
+satisfies the predicate `test`. `start` end `end` can be either `null`
+(as wildcard) or a number. `test` may be a string (indicating a node
+type) or a function that takes `(nodeType, node)` arguments and
+returns a boolean indicating whether this node is interesting. `base`
+and `state` are optional, and can be used to specify a custom walker.
+Nodes are tested from inner to outer, so if two nodes match the
+boundaries, the inner one will be preferred.
+
+**findNodeAround**`(node, pos, test, base, state)` is a lot like
+`findNodeAt`, but will match any node that exists 'around' (spanning)
+the given position.
+
+**findNodeAfter**`(node, pos, test, base, state)` is similar to
+`findNodeAround`, but will match all nodes *after* the given position
+(testing outer nodes before inner nodes).
+
+## Command line interface
+
+The `bin/acorn` utility can be used to parse a file from the command
+line. It accepts as arguments its input file and the following
+options:
+
+- `--ecma3|--ecma5|--ecma6`: Sets the ECMAScript version to parse. Default is
+ version 5.
+
+- `--locations`: Attaches a "loc" object to each node with "start" and
+ "end" subobjects, each of which contains the one-based line and
+ zero-based column numbers in `{line, column}` form.
+
+- `--compact`: No whitespace is used in the AST output.
+
+- `--silent`: Do not output the AST, just return the exit status.
+
+- `--help`: Print the usage information and quit.
+
+The utility spits out the syntax tree as JSON data.
+
+## Build system
+
+Acorn is written in ECMAScript 6, as a set of small modules, in the
+project's `src` directory, and compiled down to bigger ECMAScript 3
+files in `dist` using [Browserify](http://browserify.org) and
+[Babel](http://babeljs.io/). If you are already using Babel, you can
+consider including the modules directly.
+
+The command-line test runner (`npm test`) uses the ES6 modules. The
+browser-based test page (`test/index.html`) uses the compiled modules.
+The `bin/build-acorn.js` script builds the latter from the former.
+
+If you are working on Acorn, you'll probably want to try the code out
+directly, without an intermediate build step. In your scripts, you can
+register the Babel require shim like this:
+
+ require("babelify/node_modules/babel-core/register")
+
+That will allow you to directly `require` the ES6 modules.
+
+## Plugins
+
+Acorn is designed support allow plugins which, within reasonable
+bounds, redefine the way the parser works. Plugins can add new token
+types and new tokenizer contexts (if necessary), and extend methods in
+the parser object. This is not a clean, elegant API—using it requires
+an understanding of Acorn's internals, and plugins are likely to break
+whenever those internals are significantly changed. But still, it is
+_possible_, in this way, to create parsers for JavaScript dialects
+without forking all of Acorn. And in principle it is even possible to
+combine such plugins, so that if you have, for example, a plugin for
+parsing types and a plugin for parsing JSX-style XML literals, you
+could load them both and parse code with both JSX tags and types.
+
+A plugin should register itself by adding a property to
+`acorn.plugins`, which holds a function. Calling `acorn.parse`, a
+`plugin` option can be passed, holding an object mapping plugin names
+to configuration values (or just `true` for plugins that don't take
+options). After the parser object has been created, the initialization
+functions for the chosen plugins are called with `(parser,
+configValue)` arguments. They are expected to use the `parser.extend`
+method to extend parser methods. For example, the `readToken` method
+could be extended like this:
+
+```javascript
+parser.extend("readToken", function(nextMethod) {
+ return function(code) {
+ console.log("Reading a token!")
+ return nextMethod.call(this, code)
+ }
+})
+```
+
+The `nextMethod` argument passed to `extend`'s second argument is the
+previous value of this method, and should usually be called through to
+whenever the extended method does not handle the call itself.
+
+There is a proof-of-concept JSX plugin in the [`jsx`
+branch](https://github.com/marijnh/acorn/tree/jsx) branch of the
+Github repository.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/acorn
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/acorn b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/acorn
new file mode 100755
index 0000000..c1cbe33
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/acorn
@@ -0,0 +1,53 @@
+#!/usr/bin/env node
+
+var path = require("path");
+var fs = require("fs");
+var acorn = require("../dist/acorn.js");
+
+var infile, parsed, tokens, options = {}, silent = false, compact = false, tokenize = false;
+
+function help(status) {
+ var print = (status == 0) ? console.log : console.error;
+ print("usage: " + path.basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6]");
+ print(" [--tokenize] [--locations] [--compact] [--silent] [--help] [--] infile");
+ process.exit(status);
+}
+
+for (var i = 2; i < process.argv.length; ++i) {
+ var arg = process.argv[i];
+ if (arg[0] != "-" && !infile) infile = arg;
+ else if (arg == "--" && !infile && i + 2 == process.argv.length) infile = process.argv[++i];
+ else if (arg == "--ecma3") options.ecmaVersion = 3;
+ else if (arg == "--ecma5") options.ecmaVersion = 5;
+ else if (arg == "--ecma6") options.ecmaVersion = 6;
+ else if (arg == "--ecma7") options.ecmaVersion = 7;
+ else if (arg == "--locations") options.locations = true;
+ else if (arg == "--silent") silent = true;
+ else if (arg == "--compact") compact = true;
+ else if (arg == "--help") help(0);
+ else if (arg == "--tokenize") tokenize = true;
+ else help(1);
+}
+
+try {
+ var code = fs.readFileSync(infile, "utf8");
+
+ if (!tokenize)
+ parsed = acorn.parse(code, options);
+ else {
+ var get = acorn.tokenize(code, options);
+ tokens = [];
+ while (true) {
+ var token = get();
+ tokens.push(token);
+ if (token.type.type == "eof")
+ break;
+ }
+ }
+} catch(e) {
+ console.log(e.message);
+ process.exit(1);
+}
+
+if (!silent)
+ console.log(JSON.stringify(tokenize ? tokens : parsed, null, compact ? null : 2));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/build-acorn.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/build-acorn.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/build-acorn.js
new file mode 100644
index 0000000..a97b757
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/build-acorn.js
@@ -0,0 +1,51 @@
+var fs = require("fs"), path = require("path")
+var stream = require("stream")
+
+var browserify = require("browserify")
+var babelify = require("babelify").configure({loose: "all"})
+
+process.chdir(path.resolve(__dirname, ".."))
+
+browserify({standalone: "acorn"})
+ .plugin(require('browserify-derequire'))
+ .transform(babelify)
+ .require("./src/index.js", {entry: true})
+ .bundle()
+ .on("error", function (err) { console.log("Error: " + err.message) })
+ .pipe(fs.createWriteStream("dist/acorn.js"))
+
+function acornShim(file) {
+ var tr = new stream.Transform
+ if (file == path.resolve(__dirname, "../src/index.js")) {
+ var sent = false
+ tr._transform = function(chunk, _, callback) {
+ if (!sent) {
+ sent = true
+ callback(null, "module.exports = typeof acorn != 'undefined' ? acorn : _dereq_(\"./acorn\")")
+ } else {
+ callback()
+ }
+ }
+ } else {
+ tr._transform = function(chunk, _, callback) { callback(null, chunk) }
+ }
+ return tr
+}
+
+browserify({standalone: "acorn.loose"})
+ .plugin(require('browserify-derequire'))
+ .transform(acornShim)
+ .transform(babelify)
+ .require("./src/loose/index.js", {entry: true})
+ .bundle()
+ .on("error", function (err) { console.log("Error: " + err.message) })
+ .pipe(fs.createWriteStream("dist/acorn_loose.js"))
+
+browserify({standalone: "acorn.walk"})
+ .plugin(require('browserify-derequire'))
+ .transform(acornShim)
+ .transform(babelify)
+ .require("./src/walk/index.js", {entry: true})
+ .bundle()
+ .on("error", function (err) { console.log("Error: " + err.message) })
+ .pipe(fs.createWriteStream("dist/walk.js"))
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/generate-identifier-regex.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/generate-identifier-regex.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/generate-identifier-regex.js
new file mode 100644
index 0000000..0d7c50f
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/generate-identifier-regex.js
@@ -0,0 +1,47 @@
+// Note: run `npm install unicode-7.0.0` first.
+
+// Which Unicode version should be used?
+var version = '7.0.0';
+
+var start = require('unicode-' + version + '/properties/ID_Start/code-points')
+ .filter(function(ch) { return ch > 127; });
+var cont = [0x200c, 0x200d].concat(require('unicode-' + version + '/properties/ID_Continue/code-points')
+ .filter(function(ch) { return ch > 127 && start.indexOf(ch) == -1; }));
+
+function pad(str, width) {
+ while (str.length < width) str = "0" + str;
+ return str;
+}
+
+function esc(code) {
+ var hex = code.toString(16);
+ if (hex.length <= 2) return "\\x" + pad(hex, 2);
+ else return "\\u" + pad(hex, 4);
+}
+
+function generate(chars) {
+ var astral = [], re = "";
+ for (var i = 0, at = 0x10000; i < chars.length; i++) {
+ var from = chars[i], to = from;
+ while (i < chars.length - 1 && chars[i + 1] == to + 1) {
+ i++;
+ to++;
+ }
+ if (to <= 0xffff) {
+ if (from == to) re += esc(from);
+ else if (from + 1 == to) re += esc(from) + esc(to);
+ else re += esc(from) + "-" + esc(to);
+ } else {
+ astral.push(from - at, to - from);
+ at = to;
+ }
+ }
+ return {nonASCII: re, astral: astral};
+}
+
+var startData = generate(start), contData = generate(cont);
+
+console.log(" var nonASCIIidentifierStartChars = \"" + startData.nonASCII + "\";");
+console.log(" var nonASCIIidentifierChars = \"" + contData.nonASCII + "\";");
+console.log(" var astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";");
+console.log(" var astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";");
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/prepublish.sh
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/prepublish.sh b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/prepublish.sh
new file mode 100755
index 0000000..879834d
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/prepublish.sh
@@ -0,0 +1,2 @@
+node bin/build-acorn.js
+node bin/without_eval > dist/acorn_csp.js
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/update_authors.sh
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/update_authors.sh b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/update_authors.sh
new file mode 100755
index 0000000..466c8db
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/update_authors.sh
@@ -0,0 +1,6 @@
+# Combine existing list of authors with everyone known in git, sort, add header.
+tail --lines=+3 AUTHORS > AUTHORS.tmp
+git log --format='%aN' | grep -v abraidwood >> AUTHORS.tmp
+echo -e "List of Acorn contributors. Updated before every release.\n" > AUTHORS
+sort -u AUTHORS.tmp >> AUTHORS
+rm -f AUTHORS.tmp
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/without_eval
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/without_eval b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/without_eval
new file mode 100755
index 0000000..4331e70
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/bin/without_eval
@@ -0,0 +1,48 @@
+#!/usr/bin/env node
+
+var fs = require("fs")
+
+var acornSrc = fs.readFileSync(require.resolve("../dist/acorn"), "utf8")
+var acorn = require("../dist/acorn"), walk = require("../dist/walk")
+
+var ast = acorn.parse(acornSrc)
+var touchups = [], uses = []
+
+var makePred
+
+walk.simple(ast, {
+ FunctionDeclaration: function(node) {
+ if (node.id.name == "makePredicate") {
+ makePred = node
+ touchups.push({text: "// Removed to create an eval-free library", from: node.start, to: node.end})
+ }
+ },
+ ObjectExpression: function(node) {
+ node.properties.forEach(function(prop) {
+ if (prop.value.type == "CallExpression" &&
+ prop.value.callee.name == "makePredicate")
+ uses.push(prop.value)
+ })
+ }
+})
+
+var results = []
+var dryRun = acornSrc.slice(0, makePred.end) + "; makePredicate = (function(mp) {" +
+ "return function(words) { var r = mp(words); predicates.push(r); return r }})(makePredicate);" +
+ acornSrc.slice(makePred.end)
+;(new Function("predicates", dryRun))(results)
+
+uses.forEach(function (node, i) {
+ touchups.push({text: results[i].toString(), from: node.start, to: node.end})
+})
+
+var result = "", pos = 0
+touchups.sort(function(a, b) { return a.from - b.from })
+touchups.forEach(function(touchup) {
+ result += acornSrc.slice(pos, touchup.from)
+ result += touchup.text
+ pos = touchup.to
+})
+result += acornSrc.slice(pos)
+
+process.stdout.write(result)
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/dist/.keep
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/dist/.keep b/modules/webconfig/nodejs/node_modules/jade/node_modules/with/node_modules/acorn/dist/.keep
new file mode 100644
index 0000000..e69de29