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