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:45 UTC

[20/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/constantinople/.npmignore
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.npmignore b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.npmignore
new file mode 100644
index 0000000..b83202d
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.npmignore
@@ -0,0 +1,13 @@
+lib-cov
+*.seed
+*.log
+*.csv
+*.dat
+*.out
+*.pid
+*.gz
+pids
+logs
+results
+npm-debug.log
+node_modules

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.travis.yml
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.travis.yml b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.travis.yml
new file mode 100644
index 0000000..a12e3f0
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+  - "0.8"
+  - "0.10"
\ 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/constantinople/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/LICENSE
new file mode 100644
index 0000000..35cc606
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/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/constantinople/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/README.md
new file mode 100644
index 0000000..506f7ea
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/README.md
@@ -0,0 +1,42 @@
+# constantinople
+
+Determine whether a JavaScript expression evaluates to a constant (using acorn).  Here it is assumed to be safe to underestimate how constant something is.
+
+[![Build Status](https://img.shields.io/travis/ForbesLindesay/constantinople/master.svg)](https://travis-ci.org/ForbesLindesay/constantinople)
+[![Dependency Status](https://img.shields.io/gemnasium/ForbesLindesay/constantinople.svg)](https://gemnasium.com/ForbesLindesay/constantinople)
+[![NPM version](https://img.shields.io/npm/v/constantinople.svg)](https://www.npmjs.org/package/constantinople)
+
+## Installation
+
+    npm install constantinople
+
+## Usage
+
+```js
+var isConstant = require('constantinople')
+
+if (isConstant('"foo" + 5')) {
+  console.dir(isConstant.toConstant('"foo" + 5'))
+}
+if (isConstant('Math.floor(10.5)', {Math: Math})) {
+  console.dir(isConstant.toConstant('Math.floor(10.5)', {Math: Math}))
+}
+```
+
+## API
+
+### isConstant(src, [constants])
+
+Returns `true` if `src` evaluates to a constant, `false` otherwise.  It will also return `false` if there is a syntax error, which makes it safe to use on potentially ES6 code.
+
+Constants is an object mapping strings to values, where those values should be treated as constants.  Note that this makes it a pretty bad idea to have `Math` in there if the user might make use of `Math.random` and a pretty bad idea to have `Date` in there.
+
+### toConstant(src, [constants])
+
+Returns the value resulting from evaluating `src`.  This method throws an error if the expression is not constant.  e.g. `toConstant("Math.random()")` would throw an error.
+
+Constants is an object mapping strings to values, where those values should be treated as constants.  Note that this makes it a pretty bad idea to have `Math` in there if the user might make use of `Math.random` and a pretty bad idea to have `Date` in there.
+
+## License
+
+  MIT

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/index.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/index.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/index.js
new file mode 100644
index 0000000..5595eef
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/index.js
@@ -0,0 +1,42 @@
+'use strict'
+
+var detect = require('acorn-globals');
+
+var lastSRC = '(null)';
+var lastRes = true;
+var lastConstants = undefined;
+
+module.exports = isConstant;
+function isConstant(src, constants) {
+  src = '(' + src + ')';
+  if (lastSRC === src && lastConstants === constants) return lastRes;
+  lastSRC = src;
+  lastConstants = constants;
+  try {
+    isExpression(src);
+    return lastRes = (detect(src).filter(function (key) {
+      return !constants || !(key.name in constants);
+    }).length === 0);
+  } catch (ex) {
+    return lastRes = false;
+  }
+}
+isConstant.isConstant = isConstant;
+
+isConstant.toConstant = toConstant;
+function toConstant(src, constants) {
+  if (!isConstant(src, constants)) throw new Error(JSON.stringify(src) + ' is not constant.');
+  return Function(Object.keys(constants || {}).join(','), 'return (' + src + ')').apply(null, Object.keys(constants || {}).map(function (key) {
+    return constants[key];
+  }));
+}
+
+function isExpression(src) {
+  try {
+    eval('throw "STOP"; (function () { return (' + src + '); })()');
+    return false;
+  }
+  catch (err) {
+    return err === 'STOP';
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ef79031/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/LICENSE
new file mode 100644
index 0000000..27cc9f3
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/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/constantinople/node_modules/acorn-globals/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/README.md
new file mode 100644
index 0000000..6356753
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/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/constantinople/node_modules/acorn-globals/index.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/index.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/index.js
new file mode 100644
index 0000000..02983c7
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/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/constantinople/node_modules/acorn-globals/node_modules/.bin/acorn
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/.bin/acorn b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/.bin/acorn
new file mode 120000
index 0000000..cf76760
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/.editorconfig
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.editorconfig b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.editorconfig
new file mode 100644
index 0000000..c14d5c6
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/.gitattributes
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.gitattributes b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.gitattributes
new file mode 100644
index 0000000..fcadb2c
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/.npmignore
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.npmignore b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.npmignore
new file mode 100644
index 0000000..ecba291
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/.tern-project
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.tern-project b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.tern-project
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/.travis.yml
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.travis.yml b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/.travis.yml
new file mode 100644
index 0000000..ffb9f71
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/AUTHORS
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/AUTHORS b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/AUTHORS
new file mode 100644
index 0000000..d832530
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/LICENSE
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/LICENSE b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/LICENSE
new file mode 100644
index 0000000..d4c7fc5
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/README.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/README.md b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/README.md
new file mode 100644
index 0000000..43ead47
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/acorn
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/acorn b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/acorn
new file mode 100755
index 0000000..c1cbe33
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/build-acorn.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/build-acorn.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/generate-identifier-regex.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/generate-identifier-regex.js b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/prepublish.sh
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/prepublish.sh b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/prepublish.sh
new file mode 100755
index 0000000..879834d
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/update_authors.sh
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/update_authors.sh b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/without_eval
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/without_eval b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/bin/without_eval
new file mode 100755
index 0000000..4331e70
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/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/constantinople/node_modules/acorn-globals/node_modules/acorn/dist/.keep
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/dist/.keep b/modules/webconfig/nodejs/node_modules/jade/node_modules/constantinople/node_modules/acorn-globals/node_modules/acorn/dist/.keep
new file mode 100644
index 0000000..e69de29