Game
- Add deltaTime of player bar - Add top jumper animation
This commit is contained in:
4
site/real_game/node_modules/stats/.npmignore
generated
vendored
Normal file
4
site/real_game/node_modules/stats/.npmignore
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
support
|
||||
test
|
||||
examples
|
||||
*.sock
|
41
site/real_game/node_modules/stats/History.md
generated
vendored
Normal file
41
site/real_game/node_modules/stats/History.md
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
1.0.0 / 2012-02-26
|
||||
==================
|
||||
|
||||
* Added 0.6.x support
|
||||
|
||||
0.0.6 / 2011-08-15
|
||||
==================
|
||||
|
||||
* Added `commander` dependency
|
||||
* Changed stats(1) to use the commander module
|
||||
* Fixed error messages for files not found (now throwing)
|
||||
|
||||
0.0.5 / 2011-08-03
|
||||
==================
|
||||
|
||||
* Added shebang support
|
||||
|
||||
0.0.4 / 2011-08-03
|
||||
==================
|
||||
|
||||
* Removed uglifyjs dep (inlined)
|
||||
* Fixed single-file stats [saschagehlich]
|
||||
* Fixed top-level returns
|
||||
* Fixed: show help when no args are present [criso]
|
||||
|
||||
0.0.3 / 2011-08-03
|
||||
==================
|
||||
|
||||
* Fixed mutation of first file's stats
|
||||
|
||||
0.0.2 / 2011-08-03
|
||||
==================
|
||||
|
||||
* Added `-I, --ignore-errors`
|
||||
* Fixed uglify error handling
|
||||
|
||||
0.0.1 / 2010-01-03
|
||||
==================
|
||||
|
||||
* Initial release
|
7
site/real_game/node_modules/stats/Makefile
generated
vendored
Normal file
7
site/real_game/node_modules/stats/Makefile
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
TESTS = $(shell find test -name "test.*.js")
|
||||
|
||||
test:
|
||||
@./test/run $(TESTS)
|
||||
|
||||
.PHONY: test
|
123
site/real_game/node_modules/stats/Readme.md
generated
vendored
Normal file
123
site/real_game/node_modules/stats/Readme.md
generated
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
|
||||
# stats
|
||||
|
||||
JavaScript statistics library built on uglify-js, reporting all sorts of interesting (and non-interesting) stats. Comes complete with an extremely simple js API, as well as a CLI.
|
||||
|
||||
## Installation
|
||||
|
||||
$ npm install -g stats
|
||||
|
||||
## Example
|
||||
|
||||
The following is an example of `stats(1)` running against the nodejs core libraries, completing in less than 300ms.
|
||||
|
||||
```
|
||||
λ projects: stats --totals node/lib
|
||||
|
||||
totals:
|
||||
loc: 14855
|
||||
bytes: 390.80 kb
|
||||
statements: 6547
|
||||
assignments: 3343
|
||||
functions: 868
|
||||
stringBytes: 10.28 kb
|
||||
arrayLiterals: 108
|
||||
objectLiterals: 99
|
||||
objectsCreated: 183
|
||||
regexpLiterals: 60
|
||||
strings: 1211
|
||||
numbers: 512
|
||||
throws: 91
|
||||
```
|
||||
|
||||
## Statistics
|
||||
|
||||
The following are currently supported:
|
||||
|
||||
- **loc**: lines of code as shown in source
|
||||
- **statements**: total number of statements
|
||||
- **assignments**: total number of assignments
|
||||
- **functions**: total number of functions (both statement & expression)
|
||||
- **numbers**: total number of ... numbers :)
|
||||
- **throws**: total number of `throw`s
|
||||
- **strings**: total number of strings
|
||||
- **stringBytes**: total byte-length of all strings
|
||||
- **regexpLiterals**: total number of regexp literals
|
||||
- **arrayLiterals**: total number of array literals
|
||||
- **objectLiterals**: total number of object literals
|
||||
- **objectsCreated**: total number of objects initialized with `new`
|
||||
- **bytes**: byte-length of source
|
||||
|
||||
## API
|
||||
|
||||
### .parse(js)
|
||||
|
||||
Returns statistics for the given string of `js`:
|
||||
|
||||
```js
|
||||
var stats = require('stats');
|
||||
console.log(stats.parse(str))
|
||||
```
|
||||
|
||||
Outputs something similar to:
|
||||
|
||||
```js
|
||||
{ loc: 65,
|
||||
bytes: 1112,
|
||||
statements: 16,
|
||||
assignments: 9,
|
||||
functions: 3,
|
||||
stringBytes: 20,
|
||||
arrayLiterals: 0,
|
||||
objectLiterals: 1,
|
||||
objectsCreated: 1,
|
||||
strings: 4,
|
||||
numbers: 9,
|
||||
throws: 1 }
|
||||
```
|
||||
|
||||
## CLI Usage
|
||||
|
||||
```
|
||||
|
||||
Usage: stats [options] [file|dir ...]
|
||||
|
||||
Options:
|
||||
|
||||
-f, --format <name> Output the given format. text, json
|
||||
-j, --json Output JSON statistics
|
||||
-t, --text Output human-readable plain-text stats
|
||||
-T, --totals Output totals only
|
||||
-V, --version Display the version of stats
|
||||
-h, --help Display help information
|
||||
|
||||
```
|
||||
|
||||
## Running tests
|
||||
|
||||
$ make test
|
||||
|
||||
## License
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
|
||||
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.
|
68
site/real_game/node_modules/stats/bin/stats
generated
vendored
Executable file
68
site/real_game/node_modules/stats/bin/stats
generated
vendored
Executable file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, program = require('commander')
|
||||
, fs = require('fs');
|
||||
|
||||
/**
|
||||
* Statistics.
|
||||
*/
|
||||
|
||||
var statistics = {};
|
||||
|
||||
/**
|
||||
* Options.
|
||||
*/
|
||||
|
||||
program
|
||||
.version(stats.version)
|
||||
.option('-f, --format <name>', 'output the given format. text or json. [text]', 'text')
|
||||
.option('-j, --json', 'output json stats')
|
||||
.option('-t, --text', 'output human-readable text stats')
|
||||
.option('-T, --totals', 'output totals only')
|
||||
.parse(process.argv);
|
||||
|
||||
// format shortcuts
|
||||
|
||||
if (program.text) program.format = 'text';
|
||||
if (program.json) program.format = 'json';
|
||||
|
||||
// paths
|
||||
|
||||
var paths = program.args;
|
||||
|
||||
// process
|
||||
|
||||
var totals = {};
|
||||
stats.find(paths, function(err, files){
|
||||
if (err) throw err;
|
||||
var pending = files.length;
|
||||
files.forEach(function(file){
|
||||
fs.readFile(file, 'utf8', function(err, str){
|
||||
if (err) throw err;
|
||||
statistics[file] = stats.parse(str, program);
|
||||
Object.keys(statistics[file]).forEach(function(key){
|
||||
totals[key] = (totals[key] || 0) + statistics[file][key];
|
||||
});
|
||||
--pending || done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// finished
|
||||
|
||||
function done() {
|
||||
if (program.text) {}
|
||||
var format = stats.formats[program.format];
|
||||
if (!format) throw new Error('invalid format "' + program.format + '"');
|
||||
var obj = { totals: totals };
|
||||
totals.files = Object.keys(statistics).length;
|
||||
if (!program.totals) {
|
||||
for (var file in statistics) obj[file] = statistics[file];
|
||||
}
|
||||
format(obj);
|
||||
}
|
2
site/real_game/node_modules/stats/index.js
generated
vendored
Normal file
2
site/real_game/node_modules/stats/index.js
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
module.exports = require('./lib/stats');
|
83
site/real_game/node_modules/stats/lib/find.js
generated
vendored
Normal file
83
site/real_game/node_modules/stats/lib/find.js
generated
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
|
||||
/*!
|
||||
* stats - find
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var fs = require('fs')
|
||||
, path = require('path')
|
||||
, join = path.join
|
||||
, extname = path.extname
|
||||
, noop = function(){};
|
||||
|
||||
/**
|
||||
* Find JavaScript files by the given `paths`
|
||||
* and callback `fn(err, files)`.
|
||||
*
|
||||
* @param {Array} paths
|
||||
* @param {Function} fn
|
||||
* @api public
|
||||
*/
|
||||
|
||||
module.exports = function(paths, fn){
|
||||
var pending = paths.length
|
||||
, ret = [];
|
||||
|
||||
function find(path) {
|
||||
fs.stat(path, function(err, stat) {
|
||||
if (err) {
|
||||
fn(err);
|
||||
fn = noop;
|
||||
return
|
||||
}
|
||||
|
||||
if (stat.isFile() && isJavaScript(path)) {
|
||||
ret.push(path);
|
||||
--pending || fn(null, ret);
|
||||
} else {
|
||||
fs.readdir(path, function(err, files){
|
||||
if (err) {
|
||||
fn(err);
|
||||
fn = noop;
|
||||
return
|
||||
}
|
||||
|
||||
files.forEach(function(file){
|
||||
file = join(path, file);
|
||||
if (isJavaScript(file)) {
|
||||
ret.push(file);
|
||||
} else {
|
||||
++pending;
|
||||
fs.stat(file, function(err, stat){
|
||||
if (err) return;
|
||||
if (!stat.isDirectory()) return --pending || fn(null, ret);
|
||||
find(file);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
--pending || fn(null, ret);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
paths.forEach(find);
|
||||
};
|
||||
|
||||
/**
|
||||
* Filter `file` by ".js" extension.
|
||||
*
|
||||
* @param {String} file
|
||||
* @return {Boolean}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function isJavaScript(file) {
|
||||
return '.js' == extname(file);
|
||||
}
|
9
site/real_game/node_modules/stats/lib/formats/index.js
generated
vendored
Normal file
9
site/real_game/node_modules/stats/lib/formats/index.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
/*!
|
||||
* stats - formats
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
exports.json = require('./json');
|
||||
exports.text = require('./text');
|
17
site/real_game/node_modules/stats/lib/formats/json.js
generated
vendored
Normal file
17
site/real_game/node_modules/stats/lib/formats/json.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
/*!
|
||||
* stats - formats - json
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Output `stats` as JSON.
|
||||
*
|
||||
* @param {Object} stats
|
||||
* @api private
|
||||
*/
|
||||
|
||||
module.exports = function(stats){
|
||||
process.stdout.write(JSON.stringify(stats));
|
||||
};
|
39
site/real_game/node_modules/stats/lib/formats/text.js
generated
vendored
Normal file
39
site/real_game/node_modules/stats/lib/formats/text.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
/*!
|
||||
* stats - formats - text
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Output `stats` as plain-text.
|
||||
*
|
||||
* @param {Object} stats
|
||||
* @api private
|
||||
*/
|
||||
|
||||
exports = module.exports = function(files){
|
||||
Object.keys(files).forEach(function(file){
|
||||
var stats = files[file];
|
||||
console.log('\n \033[90m%s:\033[0m', file);
|
||||
Object.keys(stats).forEach(function(name){
|
||||
var val = stats[name];
|
||||
if (exports[name]) val = exports[name](val);
|
||||
console.log(' \033[90m%s: \033[36m%s\033[0m', name, val);
|
||||
});
|
||||
});
|
||||
console.log();
|
||||
};
|
||||
|
||||
/**
|
||||
* Format bytes.
|
||||
*/
|
||||
|
||||
exports.bytes =
|
||||
exports.stringBytes = function(n){
|
||||
var kb = 1024
|
||||
, mb = kb * 1024;
|
||||
if (n < kb) return n + ' bytes';
|
||||
if (n < mb) return (n / kb).toFixed(2) + ' kb';
|
||||
return (n / mb).toFixed(2) + ' mb';
|
||||
};
|
253
site/real_game/node_modules/stats/lib/parser.js
generated
vendored
Normal file
253
site/real_game/node_modules/stats/lib/parser.js
generated
vendored
Normal file
@ -0,0 +1,253 @@
|
||||
|
||||
/*!
|
||||
* stats - parser
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var parse = require('./uglify/parser').parse
|
||||
, sys = require('util');
|
||||
|
||||
/**
|
||||
* Return stats for the given javascript `str`.
|
||||
*
|
||||
* @param {String} str
|
||||
* @param {Object} options
|
||||
* @return {Object}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
module.exports = function(str, options){
|
||||
var options = options || {}
|
||||
, stats = {
|
||||
loc: str.split('\n').length
|
||||
, bytes: Buffer.byteLength(str)
|
||||
, statements: 0
|
||||
, assignments: 0
|
||||
, functions: 0
|
||||
, stringBytes: 0
|
||||
, arrayLiterals: 0
|
||||
, objectLiterals: 0
|
||||
, objectsCreated: 0
|
||||
, regexpLiterals: 0
|
||||
, strings: 0
|
||||
, numbers: 0
|
||||
, throws: 0
|
||||
};
|
||||
|
||||
// strip shebang
|
||||
if ('#' == str[0]) str = str.slice(str.indexOf('\n'));
|
||||
|
||||
function visit(node) {
|
||||
if (!node) return;
|
||||
var name = node[0];
|
||||
|
||||
// array support
|
||||
if ('string' != typeof name) {
|
||||
for (var i = 0, len = node.length; i < len; ++i) {
|
||||
visit(node[i]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// rename "name" to "ident"
|
||||
if ('name' == name) name = 'ident';
|
||||
|
||||
// visit the node
|
||||
if (!visit[name]) throw new Error('no visitor implemented for "' + name + '"');
|
||||
visit[name](node);
|
||||
}
|
||||
|
||||
visit['toplevel'] = function(node){
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
visit['seq'] = function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['for-in'] = function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
visit(node[3]);
|
||||
visit(node[4]);
|
||||
};
|
||||
|
||||
visit['switch'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[1]);
|
||||
node[2].forEach(function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
});
|
||||
};
|
||||
|
||||
visit['with'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['try'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[1]);
|
||||
node[2] && visit(node[2][1]);
|
||||
};
|
||||
|
||||
visit['conditional'] = function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
visit(node[3]);
|
||||
};
|
||||
|
||||
visit['break'] = function(node){
|
||||
++stats.statements;
|
||||
};
|
||||
|
||||
visit['array'] = function(node){
|
||||
++stats.arrayLiterals;
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
visit['object'] = function(node){
|
||||
++stats.objectLiterals;
|
||||
node[1].forEach(function(pair){
|
||||
visit(pair[1]);
|
||||
});
|
||||
};
|
||||
|
||||
visit['var'] =
|
||||
visit['const'] = function(node){
|
||||
node[1].forEach(function(node){
|
||||
if (node[1]) ++stats.assignments;
|
||||
visit(node[1]);
|
||||
});
|
||||
++stats.statements;
|
||||
};
|
||||
|
||||
visit['regexp'] = function(node){
|
||||
++stats.regexpLiterals;
|
||||
};
|
||||
|
||||
visit['num'] = function(node){
|
||||
++stats.numbers;
|
||||
};
|
||||
|
||||
visit['do'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['label'] = function(node){
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['atom'] = function(node){};
|
||||
|
||||
visit['unary-prefix'] = function(node){};
|
||||
|
||||
visit['unary-postfix'] = function(node){};
|
||||
|
||||
visit['continue'] = function(node){};
|
||||
|
||||
visit['return'] = function(node){};
|
||||
|
||||
visit['binary'] = function(node){};
|
||||
|
||||
visit['ident'] = function(node){};
|
||||
|
||||
visit['new'] = function(node){
|
||||
++stats.objectsCreated;
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['throw'] = function(node){
|
||||
++stats.throws;
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
visit['for'] = function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
visit(node[3]);
|
||||
visit(node[4]);
|
||||
};
|
||||
|
||||
visit['sub'] = function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['string'] = function(node){
|
||||
++stats.strings;
|
||||
stats.stringBytes += Buffer.byteLength(node[1]);
|
||||
};
|
||||
|
||||
visit['dot'] = function(node){
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
visit['block'] = function(node){
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
visit['while'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['if'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
visit(node[3]);
|
||||
};
|
||||
|
||||
visit['defun'] = function(node){
|
||||
++stats.functions;
|
||||
++stats.statements;
|
||||
visit(node[3]);
|
||||
};
|
||||
|
||||
visit['function'] = function(node){
|
||||
++stats.functions;
|
||||
visit(node[3]);
|
||||
};
|
||||
|
||||
visit['call'] = function(node){
|
||||
visit(node[1]);
|
||||
visit(node[2]);
|
||||
};
|
||||
|
||||
visit['assign'] = function(node){
|
||||
++stats.assignments;
|
||||
visit(node[3]);
|
||||
};
|
||||
|
||||
visit['stat'] = function(node){
|
||||
++stats.statements;
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
try {
|
||||
visit(parse(str));
|
||||
} catch (err) {
|
||||
if ('JS_Parse_Error' != err.constructor.name) throw err;
|
||||
var line = str.split('\n')[err.line];
|
||||
err = new SyntaxError(err.message
|
||||
+ ' on line '
|
||||
+ err.line
|
||||
+ ':' + err.col
|
||||
+ ':\n ' + sys.inspect(line));
|
||||
if (!options.ignoreParseErrors) throw err;
|
||||
}
|
||||
|
||||
return stats;
|
||||
};
|
39
site/real_game/node_modules/stats/lib/stats.js
generated
vendored
Normal file
39
site/real_game/node_modules/stats/lib/stats.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
/*!
|
||||
* stats
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Library version.
|
||||
*/
|
||||
|
||||
exports.version = '0.0.6';
|
||||
|
||||
/**
|
||||
* Return stats for the given javascript `str`.
|
||||
*
|
||||
* @param {String} str
|
||||
* @return {Object}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.parse = require('./parser');
|
||||
|
||||
/**
|
||||
* Find JavaScript files by the given `paths`
|
||||
* and callback `fn(err, files)`.
|
||||
*
|
||||
* @param {Array} paths
|
||||
* @param {Function} fn
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.find = require('./find');
|
||||
|
||||
/**
|
||||
* Expose formatters.
|
||||
*/
|
||||
|
||||
exports.formats = require('./formats');
|
1341
site/real_game/node_modules/stats/lib/uglify/parser.js
generated
vendored
Normal file
1341
site/real_game/node_modules/stats/lib/uglify/parser.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
18
site/real_game/node_modules/stats/package.json
generated
vendored
Normal file
18
site/real_game/node_modules/stats/package.json
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "stats"
|
||||
, "version": "1.0.0"
|
||||
, "description": "JavaScript statistics (LOC, SLOC, etc)"
|
||||
, "keywords": ["metrics", "stats", "statistics", "sloc", "uglify"]
|
||||
, "author": "TJ Holowaychuk <tj@vision-media.ca>"
|
||||
, "bin": {
|
||||
"stats": "./bin/stats"
|
||||
}
|
||||
, "dependencies": {
|
||||
"commander": "0.5.2"
|
||||
}
|
||||
, "devDependencies": {
|
||||
"should": ">= 0.0.1"
|
||||
}
|
||||
, "main": "index"
|
||||
, "engines": { "node": ">=0.4.x" }
|
||||
}
|
13
site/real_game/node_modules/stats/test/common.js
generated
vendored
Normal file
13
site/real_game/node_modules/stats/test/common.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var should = require('should')
|
||||
, fs = require('fs');
|
||||
|
||||
// load fixture path
|
||||
|
||||
global.fixture = function fixture(path) {
|
||||
return fs.readFileSync(__dirname + '/fixtures/' + path, 'utf8');
|
||||
};
|
8
site/real_game/node_modules/stats/test/fixtures/arrays.js
generated
vendored
Normal file
8
site/real_game/node_modules/stats/test/fixtures/arrays.js
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
var foo = [
|
||||
'bar',
|
||||
'baz',
|
||||
'raz'
|
||||
];
|
||||
|
||||
foo.push(['foo', 'bar', 'baz']);
|
8
site/real_game/node_modules/stats/test/fixtures/comments.js
generated
vendored
Normal file
8
site/real_game/node_modules/stats/test/fixtures/comments.js
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
/**
|
||||
* testing stuff.
|
||||
*
|
||||
* @param {Type} name
|
||||
* @return {Type}
|
||||
* @api public
|
||||
*/
|
18
site/real_game/node_modules/stats/test/fixtures/functions.js
generated
vendored
Normal file
18
site/real_game/node_modules/stats/test/fixtures/functions.js
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
function foo() {
|
||||
console.log('test');
|
||||
}
|
||||
|
||||
function bar() {
|
||||
console.log('test');
|
||||
}
|
||||
|
||||
var baz = function(){
|
||||
console.log('stuff');
|
||||
};
|
||||
|
||||
global = function(){
|
||||
console.log('foo');
|
||||
console.log('bar');
|
||||
console.log('baz');
|
||||
}
|
11
site/real_game/node_modules/stats/test/fixtures/http.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/fixtures/http.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var http = require('http');
|
||||
|
||||
http.createServer(function(req, res){
|
||||
res.setHeader('Content-Type', 'text/plain');
|
||||
res.end('Hello World\n');
|
||||
}).listen(3000);
|
65
site/real_game/node_modules/stats/test/fixtures/large.js
generated
vendored
Normal file
65
site/real_game/node_modules/stats/test/fixtures/large.js
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
/*!
|
||||
* jss
|
||||
* Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var parse = require('uglify-js').parser.parse;
|
||||
|
||||
/**
|
||||
* Library version.
|
||||
*/
|
||||
|
||||
exports.version = '0.0.1';
|
||||
|
||||
/**
|
||||
* Return stats for the given javascript `str`.
|
||||
*
|
||||
* @param {String} str
|
||||
* @return {Object}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.stats = function(str){
|
||||
var stats = {
|
||||
statements: 0
|
||||
, assignments: 0
|
||||
, functions: 0
|
||||
, numbers: 0
|
||||
, strings: 0
|
||||
, stringBytes: 0
|
||||
, loc: str.split('\n').length
|
||||
, bytes: Buffer.byteLength(str)
|
||||
};
|
||||
|
||||
function visit(node) {
|
||||
if (!node) return;
|
||||
var name = node[0];
|
||||
|
||||
// array support
|
||||
if ('string' != typeof name) {
|
||||
for (var i = 0, len = node.length; i < len; ++i) {
|
||||
visit(node[i]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// rename "name" to "ident"
|
||||
if ('name' == name) name = 'ident';
|
||||
|
||||
// visit the node
|
||||
if (!visit[name]) throw new Error('no visitor implemented for "' + name + '"');
|
||||
visit[name](node);
|
||||
}
|
||||
|
||||
visit['toplevel'] = function(node){
|
||||
visit(node[1]);
|
||||
};
|
||||
|
||||
return stats;
|
||||
};
|
9
site/real_game/node_modules/stats/test/fixtures/objects.js
generated
vendored
Normal file
9
site/real_game/node_modules/stats/test/fixtures/objects.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
var foo = { foo: 'bar' };
|
||||
|
||||
var tj = {
|
||||
first: 'tj'
|
||||
, last: 'holowaychuk'
|
||||
};
|
||||
|
||||
tj = new User(tj);
|
5
site/real_game/node_modules/stats/test/fixtures/shebang.js
generated
vendored
Normal file
5
site/real_game/node_modules/stats/test/fixtures/shebang.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
console.log('foo')
|
||||
console.log('bar')
|
||||
console.log('baz')
|
9
site/real_game/node_modules/stats/test/fixtures/simple.js
generated
vendored
Normal file
9
site/real_game/node_modules/stats/test/fixtures/simple.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
var foo = 'foo'
|
||||
, bar = 'bar'
|
||||
, baz = 'baz'
|
||||
, test;
|
||||
|
||||
console.log(foo = 'hey');
|
||||
console.log(bar);
|
||||
console.log(baz);
|
9
site/real_game/node_modules/stats/test/fixtures/switch.js
generated
vendored
Normal file
9
site/real_game/node_modules/stats/test/fixtures/switch.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
switch ('foo') {
|
||||
case 'foo':
|
||||
console.log('foo');
|
||||
break;
|
||||
case 'bar':
|
||||
console.log('bar');
|
||||
break;
|
||||
}
|
9
site/real_game/node_modules/stats/test/fixtures/while.js
generated
vendored
Normal file
9
site/real_game/node_modules/stats/test/fixtures/while.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
out: while (foo) {
|
||||
if (bar) continue;
|
||||
break out;
|
||||
}
|
||||
|
||||
do {
|
||||
console.log(foo);
|
||||
} while(bar);
|
5
site/real_game/node_modules/stats/test/fixtures/with.js
generated
vendored
Normal file
5
site/real_game/node_modules/stats/test/fixtures/with.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
with (foo) {
|
||||
bar();
|
||||
baz();
|
||||
}
|
16
site/real_game/node_modules/stats/test/run
generated
vendored
Executable file
16
site/real_game/node_modules/stats/test/run
generated
vendored
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
export NODE_ENV=test
|
||||
|
||||
echo
|
||||
for file in $@; do
|
||||
printf "\033[90m ${file#test/}\033[0m "
|
||||
node $file 2> /tmp/stderr && echo "\033[36m✓\033[0m"
|
||||
code=$?
|
||||
if test $code -ne 0; then
|
||||
echo "\033[31m✖\033[0m"
|
||||
cat /tmp/stderr >&2
|
||||
exit $code
|
||||
fi
|
||||
done
|
||||
echo
|
11
site/real_game/node_modules/stats/test/test.arrays.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.arrays.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('arrays.js'));
|
||||
stats.should.have.property('arrayLiterals', 2);
|
||||
stats.should.have.property('strings', 6);
|
11
site/real_game/node_modules/stats/test/test.comments.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.comments.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('comments.js'));
|
||||
stats.should.have.property('statements', 0);
|
||||
stats.should.have.property('loc', 8);
|
11
site/real_game/node_modules/stats/test/test.forin.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.forin.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse('for (var key in val) "hey";');
|
||||
stats.should.have.property('statements', 2);
|
||||
stats.should.have.property('strings', 1);
|
12
site/real_game/node_modules/stats/test/test.functions.js
generated
vendored
Normal file
12
site/real_game/node_modules/stats/test/test.functions.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('functions.js'));
|
||||
stats.should.have.property('statements', 10);
|
||||
stats.should.have.property('assignments', 2);
|
||||
stats.should.have.property('functions', 4);
|
15
site/real_game/node_modules/stats/test/test.http.js
generated
vendored
Normal file
15
site/real_game/node_modules/stats/test/test.http.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('http.js'));
|
||||
stats.should.have.property('strings', 4);
|
||||
stats.should.have.property('numbers', 1);
|
||||
stats.should.have.property('statements', 4);
|
||||
stats.should.have.property('assignments', 1);
|
||||
stats.should.have.property('stringBytes', 38);
|
||||
stats.should.have.property('loc', 11);
|
15
site/real_game/node_modules/stats/test/test.large.js
generated
vendored
Normal file
15
site/real_game/node_modules/stats/test/test.large.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('large.js'));
|
||||
stats.should.have.property('statements', 16);
|
||||
stats.should.have.property('assignments', 9);
|
||||
stats.should.have.property('loc', 65);
|
||||
stats.should.have.property('objectLiterals', 1);
|
||||
stats.should.have.property('objectsCreated', 1);
|
||||
stats.should.have.property('throws', 1);
|
11
site/real_game/node_modules/stats/test/test.objects.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.objects.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('objects.js'));
|
||||
stats.should.have.property('objectLiterals', 2);
|
||||
stats.should.have.property('objectsCreated', 1);
|
9
site/real_game/node_modules/stats/test/test.postfix.js
generated
vendored
Normal file
9
site/real_game/node_modules/stats/test/test.postfix.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse('foo++');
|
11
site/real_game/node_modules/stats/test/test.regexp.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.regexp.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse('foo.text(/something/)');
|
||||
stats.should.have.property('statements', 1);
|
||||
stats.should.have.property('regexpLiterals', 1);
|
11
site/real_game/node_modules/stats/test/test.sequence.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.sequence.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse('("foo", "bar", "baz")');
|
||||
stats.should.have.property('statements', 1);
|
||||
stats.should.have.property('strings', 3);
|
10
site/real_game/node_modules/stats/test/test.shebang.js
generated
vendored
Normal file
10
site/real_game/node_modules/stats/test/test.shebang.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('shebang.js'));
|
||||
stats.should.have.property('statements', 3);
|
15
site/real_game/node_modules/stats/test/test.simple.js
generated
vendored
Normal file
15
site/real_game/node_modules/stats/test/test.simple.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
stats.should.have.property('version');
|
||||
|
||||
var stats = stats.parse(fixture('simple.js'));
|
||||
stats.should.have.property('statements', 4);
|
||||
stats.should.have.property('assignments', 4);
|
||||
stats.should.have.property('loc', 9);
|
||||
stats.should.have.property('bytes', 121);
|
10
site/real_game/node_modules/stats/test/test.switch.js
generated
vendored
Normal file
10
site/real_game/node_modules/stats/test/test.switch.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('switch.js'));
|
||||
stats.should.have.property('statements', 5);
|
11
site/real_game/node_modules/stats/test/test.ternary.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.ternary.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse('"foo" ? "bar" : "baz"');
|
||||
stats.should.have.property('statements', 1);
|
||||
stats.should.have.property('strings', 3);
|
11
site/real_game/node_modules/stats/test/test.trycatch.js
generated
vendored
Normal file
11
site/real_game/node_modules/stats/test/test.trycatch.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse('try { "test" } catch (err) { "testing" }');
|
||||
stats.should.have.property('statements', 3);
|
||||
stats.should.have.property('strings', 2);
|
10
site/real_game/node_modules/stats/test/test.while.js
generated
vendored
Normal file
10
site/real_game/node_modules/stats/test/test.while.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('while.js'));
|
||||
stats.should.have.property('statements', 5);
|
10
site/real_game/node_modules/stats/test/test.with.js
generated
vendored
Normal file
10
site/real_game/node_modules/stats/test/test.with.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var stats = require('../')
|
||||
, common = require('./common');
|
||||
|
||||
var stats = stats.parse(fixture('with.js'));
|
||||
stats.should.have.property('statements', 3);
|
Reference in New Issue
Block a user