mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-11 18:32:50 +00:00
updated bunch of file paths and changed the way posts are loaded
This commit is contained in:
14
node_modules/serve-favicon/HISTORY.md
generated
vendored
14
node_modules/serve-favicon/HISTORY.md
generated
vendored
@@ -1,3 +1,17 @@
|
||||
2.3.0 / 2015-06-13
|
||||
==================
|
||||
|
||||
* Send non-chunked response for `OPTIONS`
|
||||
* deps: etag@~1.7.0
|
||||
- Always include entity length in ETags for hash length extensions
|
||||
- Generate non-Stats ETags using MD5 only (no longer CRC32)
|
||||
- Remove base64 padding in ETags to shorten
|
||||
* deps: fresh@0.3.0
|
||||
- Add weak `ETag` matching support
|
||||
* perf: enable strict mode
|
||||
* perf: remove argument reassignment
|
||||
* perf: remove bitwise operations
|
||||
|
||||
2.2.1 / 2015-05-14
|
||||
==================
|
||||
|
||||
|
||||
2
node_modules/serve-favicon/LICENSE
generated
vendored
2
node_modules/serve-favicon/LICENSE
generated
vendored
@@ -3,7 +3,7 @@
|
||||
Copyright (c) 2010 Sencha Inc.
|
||||
Copyright (c) 2011 LearnBoost
|
||||
Copyright (c) 2011 TJ Holowaychuk
|
||||
Copyright (c) 2014 Douglas Christopher Wilson
|
||||
Copyright (c) 2014-2015 Douglas Christopher Wilson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
|
||||
28
node_modules/serve-favicon/index.js
generated
vendored
28
node_modules/serve-favicon/index.js
generated
vendored
@@ -2,10 +2,12 @@
|
||||
* serve-favicon
|
||||
* Copyright(c) 2010 Sencha Inc.
|
||||
* Copyright(c) 2011 TJ Holowaychuk
|
||||
* Copyright(c) 2014 Douglas Christopher Wilson
|
||||
* Copyright(c) 2014-2015 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
* @private
|
||||
@@ -19,6 +21,13 @@ var parseUrl = require('parseurl');
|
||||
var path = require('path');
|
||||
var resolve = path.resolve;
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
* @public
|
||||
*/
|
||||
|
||||
module.exports = favicon;
|
||||
|
||||
/**
|
||||
* Module variables.
|
||||
* @private
|
||||
@@ -31,16 +40,16 @@ var maxMaxAge = 60 * 60 * 24 * 365 * 1000; // 1 year
|
||||
*
|
||||
* @public
|
||||
* @param {String|Buffer} path
|
||||
* @param {Object} options
|
||||
* @param {Object} [options]
|
||||
* @return {Function} middleware
|
||||
*/
|
||||
|
||||
module.exports = function favicon(path, options){
|
||||
options = options || {};
|
||||
function favicon(path, options) {
|
||||
var opts = options || {};
|
||||
|
||||
var buf;
|
||||
var icon; // favicon cache
|
||||
var maxAge = calcMaxAge(options.maxAge);
|
||||
var maxAge = calcMaxAge(opts.maxAge);
|
||||
var stat;
|
||||
|
||||
if (!path) throw new TypeError('path to favicon.ico is required');
|
||||
@@ -64,9 +73,10 @@ module.exports = function favicon(path, options){
|
||||
return;
|
||||
}
|
||||
|
||||
if ('GET' !== req.method && 'HEAD' !== req.method) {
|
||||
var status = 'OPTIONS' === req.method ? 200 : 405;
|
||||
res.writeHead(status, {'Allow': 'GET, HEAD, OPTIONS'});
|
||||
if (req.method !== 'GET' && req.method !== 'HEAD') {
|
||||
res.statusCode = req.method === 'OPTIONS' ? 200 : 405;
|
||||
res.setHeader('Allow', 'GET, HEAD, OPTIONS');
|
||||
res.setHeader('Content-Length', '0');
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
@@ -112,7 +122,7 @@ function createIcon(buf, maxAge) {
|
||||
return {
|
||||
body: buf,
|
||||
headers: {
|
||||
'Cache-Control': 'public, max-age=' + ~~(maxAge / 1000),
|
||||
'Cache-Control': 'public, max-age=' + Math.floor(maxAge / 1000),
|
||||
'ETag': etag(buf)
|
||||
}
|
||||
};
|
||||
|
||||
62
node_modules/serve-favicon/node_modules/etag/HISTORY.md
generated
vendored
62
node_modules/serve-favicon/node_modules/etag/HISTORY.md
generated
vendored
@@ -1,62 +0,0 @@
|
||||
1.6.0 / 2015-05-10
|
||||
==================
|
||||
|
||||
* Improve support for JXcore
|
||||
* Remove requirement of `atime` in the stats object
|
||||
* Support "fake" stats objects in environments without `fs`
|
||||
|
||||
1.5.1 / 2014-11-19
|
||||
==================
|
||||
|
||||
* deps: crc@3.2.1
|
||||
- Minor fixes
|
||||
|
||||
1.5.0 / 2014-10-14
|
||||
==================
|
||||
|
||||
* Improve string performance
|
||||
* Slightly improve speed for weak ETags over 1KB
|
||||
|
||||
1.4.0 / 2014-09-21
|
||||
==================
|
||||
|
||||
* Support "fake" stats objects
|
||||
* Support Node.js 0.6
|
||||
|
||||
1.3.1 / 2014-09-14
|
||||
==================
|
||||
|
||||
* Use the (new and improved) `crc` for crc32
|
||||
|
||||
1.3.0 / 2014-08-29
|
||||
==================
|
||||
|
||||
* Default strings to strong ETags
|
||||
* Improve speed for weak ETags over 1KB
|
||||
|
||||
1.2.1 / 2014-08-29
|
||||
==================
|
||||
|
||||
* Use the (much faster) `buffer-crc32` for crc32
|
||||
|
||||
1.2.0 / 2014-08-24
|
||||
==================
|
||||
|
||||
* Add support for file stat objects
|
||||
|
||||
1.1.0 / 2014-08-24
|
||||
==================
|
||||
|
||||
* Add fast-path for empty entity
|
||||
* Add weak ETag generation
|
||||
* Shrink size of generated ETags
|
||||
|
||||
1.0.1 / 2014-08-24
|
||||
==================
|
||||
|
||||
* Fix behavior of string containing Unicode
|
||||
|
||||
1.0.0 / 2014-05-18
|
||||
==================
|
||||
|
||||
* Initial release
|
||||
22
node_modules/serve-favicon/node_modules/etag/LICENSE
generated
vendored
22
node_modules/serve-favicon/node_modules/etag/LICENSE
generated
vendored
@@ -1,22 +0,0 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2014-2015 Douglas Christopher Wilson
|
||||
|
||||
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.
|
||||
150
node_modules/serve-favicon/node_modules/etag/README.md
generated
vendored
150
node_modules/serve-favicon/node_modules/etag/README.md
generated
vendored
@@ -1,150 +0,0 @@
|
||||
# etag
|
||||
|
||||
[![NPM Version][npm-image]][npm-url]
|
||||
[![NPM Downloads][downloads-image]][downloads-url]
|
||||
[![Node.js Version][node-version-image]][node-version-url]
|
||||
[![Build Status][travis-image]][travis-url]
|
||||
[![Test Coverage][coveralls-image]][coveralls-url]
|
||||
|
||||
Create simple ETags
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ npm install etag
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
```js
|
||||
var etag = require('etag')
|
||||
```
|
||||
|
||||
### etag(entity, [options])
|
||||
|
||||
Generate a strong ETag for the given entity. This should be the complete
|
||||
body of the entity. Strings, `Buffer`s, and `fs.Stats` are accepted. By
|
||||
default, a strong ETag is generated except for `fs.Stats`, which will
|
||||
generate a weak ETag (this can be overwritten by `options.weak`).
|
||||
|
||||
```js
|
||||
res.setHeader('ETag', etag(body))
|
||||
```
|
||||
|
||||
#### Options
|
||||
|
||||
`etag` accepts these properties in the options object.
|
||||
|
||||
##### weak
|
||||
|
||||
Specifies if a "strong" or a "weak" ETag will be generated. The ETag can only
|
||||
really be a strong as the given input.
|
||||
|
||||
## Testing
|
||||
|
||||
```sh
|
||||
$ npm test
|
||||
```
|
||||
|
||||
## Benchmark
|
||||
|
||||
```bash
|
||||
$ npm run-script bench
|
||||
|
||||
> etag@1.6.0 bench nodejs-etag
|
||||
> node benchmark/index.js
|
||||
|
||||
http_parser@1.0
|
||||
node@0.10.33
|
||||
v8@3.14.5.9
|
||||
ares@1.9.0-DEV
|
||||
uv@0.10.29
|
||||
zlib@1.2.3
|
||||
modules@11
|
||||
openssl@1.0.1j
|
||||
|
||||
> node benchmark/body0-100b.js
|
||||
|
||||
100B body
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
4 tests completed.
|
||||
|
||||
buffer - strong x 425,007 ops/sec ±1.47% (184 runs sampled)
|
||||
* buffer - weak x 1,009,859 ops/sec ±0.18% (197 runs sampled)
|
||||
string - strong x 442,096 ops/sec ±1.20% (181 runs sampled)
|
||||
string - weak x 325,063 ops/sec ±0.31% (192 runs sampled)
|
||||
|
||||
> node benchmark/body1-1kb.js
|
||||
|
||||
1KB body
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
4 tests completed.
|
||||
|
||||
buffer - strong x 263,069 ops/sec ±1.60% (190 runs sampled)
|
||||
* buffer - weak x 295,732 ops/sec ±0.43% (199 runs sampled)
|
||||
string - strong x 274,822 ops/sec ±1.15% (191 runs sampled)
|
||||
string - weak x 169,473 ops/sec ±1.59% (194 runs sampled)
|
||||
|
||||
> node benchmark/body2-5kb.js
|
||||
|
||||
5KB body
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
4 tests completed.
|
||||
|
||||
buffer - strong x 104,299 ops/sec ±0.60% (193 runs sampled)
|
||||
* buffer - weak x 108,126 ops/sec ±0.65% (196 runs sampled)
|
||||
string - strong x 101,736 ops/sec ±0.78% (194 runs sampled)
|
||||
string - weak x 101,266 ops/sec ±0.85% (192 runs sampled)
|
||||
|
||||
> node benchmark/body3-10kb.js
|
||||
|
||||
10KB body
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
4 tests completed.
|
||||
|
||||
buffer - strong x 59,007 ops/sec ±0.29% (198 runs sampled)
|
||||
* buffer - weak x 60,968 ops/sec ±0.48% (197 runs sampled)
|
||||
string - strong x 51,873 ops/sec ±1.78% (178 runs sampled)
|
||||
string - weak x 52,307 ops/sec ±2.63% (193 runs sampled)
|
||||
|
||||
> node benchmark/body4-100kb.js
|
||||
|
||||
100KB body
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
4 tests completed.
|
||||
|
||||
buffer - strong x 6,712 ops/sec ±0.11% (198 runs sampled)
|
||||
* buffer - weak x 6,716 ops/sec ±0.50% (196 runs sampled)
|
||||
string - strong x 6,397 ops/sec ±0.36% (196 runs sampled)
|
||||
string - weak x 6,635 ops/sec ±0.15% (198 runs sampled)
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
[npm-image]: https://img.shields.io/npm/v/etag.svg
|
||||
[npm-url]: https://npmjs.org/package/etag
|
||||
[node-version-image]: https://img.shields.io/node/v/etag.svg
|
||||
[node-version-url]: http://nodejs.org/download/
|
||||
[travis-image]: https://img.shields.io/travis/jshttp/etag/master.svg
|
||||
[travis-url]: https://travis-ci.org/jshttp/etag
|
||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/etag/master.svg
|
||||
[coveralls-url]: https://coveralls.io/r/jshttp/etag?branch=master
|
||||
[downloads-image]: https://img.shields.io/npm/dm/etag.svg
|
||||
[downloads-url]: https://npmjs.org/package/etag
|
||||
166
node_modules/serve-favicon/node_modules/etag/index.js
generated
vendored
166
node_modules/serve-favicon/node_modules/etag/index.js
generated
vendored
@@ -1,166 +0,0 @@
|
||||
/*!
|
||||
* etag
|
||||
* Copyright(c) 2014-2015 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
*/
|
||||
|
||||
module.exports = etag
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var crc = require('crc').crc32
|
||||
var crypto = require('crypto')
|
||||
var Stats = require('fs').Stats
|
||||
|
||||
/**
|
||||
* Module variables.
|
||||
*/
|
||||
|
||||
var crc32threshold = 1000 // 1KB
|
||||
var NULL = new Buffer([0])
|
||||
var toString = Object.prototype.toString
|
||||
|
||||
/**
|
||||
* Create a simple ETag.
|
||||
*
|
||||
* @param {string|Buffer|Stats} entity
|
||||
* @param {object} [options]
|
||||
* @param {boolean} [options.weak]
|
||||
* @return {String}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function etag(entity, options) {
|
||||
if (entity == null) {
|
||||
throw new TypeError('argument entity is required')
|
||||
}
|
||||
|
||||
var isStats = isstats(entity)
|
||||
var weak = options && typeof options.weak === 'boolean'
|
||||
? options.weak
|
||||
: isStats
|
||||
|
||||
// support fs.Stats object
|
||||
if (isStats) {
|
||||
return stattag(entity, weak)
|
||||
}
|
||||
|
||||
if (typeof entity !== 'string' && !Buffer.isBuffer(entity)) {
|
||||
throw new TypeError('argument entity must be string, Buffer, or fs.Stats')
|
||||
}
|
||||
|
||||
var hash = weak
|
||||
? weakhash(entity)
|
||||
: stronghash(entity)
|
||||
|
||||
return weak
|
||||
? 'W/"' + hash + '"'
|
||||
: '"' + hash + '"'
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if object is a Stats object.
|
||||
*
|
||||
* @param {object} obj
|
||||
* @return {boolean}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function isstats(obj) {
|
||||
// genuine fs.Stats
|
||||
if (typeof Stats === 'function' && obj instanceof Stats) {
|
||||
return true
|
||||
}
|
||||
|
||||
// quack quack
|
||||
return obj && typeof obj === 'object'
|
||||
&& 'ctime' in obj && toString.call(obj.ctime) === '[object Date]'
|
||||
&& 'mtime' in obj && toString.call(obj.mtime) === '[object Date]'
|
||||
&& 'ino' in obj && typeof obj.ino === 'number'
|
||||
&& 'size' in obj && typeof obj.size === 'number'
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a tag for a stat.
|
||||
*
|
||||
* @param {Buffer} entity
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function stattag(stat, weak) {
|
||||
var mtime = stat.mtime.toISOString()
|
||||
var size = stat.size.toString(16)
|
||||
|
||||
if (weak) {
|
||||
return 'W/"' + size + '-' + crc(mtime) + '"'
|
||||
}
|
||||
|
||||
var hash = crypto
|
||||
.createHash('md5')
|
||||
.update('file', 'utf8')
|
||||
.update(NULL)
|
||||
.update(size, 'utf8')
|
||||
.update(NULL)
|
||||
.update(mtime, 'utf8')
|
||||
.digest('base64')
|
||||
|
||||
return '"' + hash + '"'
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a strong hash.
|
||||
*
|
||||
* @param {Buffer} entity
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function stronghash(entity) {
|
||||
if (entity.length === 0) {
|
||||
// fast-path empty
|
||||
return '1B2M2Y8AsgTpgAmY7PhCfg=='
|
||||
}
|
||||
|
||||
return crypto
|
||||
.createHash('md5')
|
||||
.update(entity, 'utf8')
|
||||
.digest('base64')
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a weak hash.
|
||||
*
|
||||
* @param {Buffer} entity
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function weakhash(entity) {
|
||||
if (entity.length === 0) {
|
||||
// fast-path empty
|
||||
return '0-0'
|
||||
}
|
||||
|
||||
var len = typeof entity === 'string'
|
||||
? Buffer.byteLength(entity, 'utf8')
|
||||
: entity.length
|
||||
|
||||
if (len <= crc32threshold) {
|
||||
// crc32 plus length when it's fast
|
||||
// crc(str) only accepts utf-8 encoding
|
||||
return len.toString(16) + '-' + crc(entity).toString(16)
|
||||
}
|
||||
|
||||
// use md4 for long strings
|
||||
return crypto
|
||||
.createHash('md4')
|
||||
.update(entity, 'utf8')
|
||||
.digest('base64')
|
||||
}
|
||||
5
node_modules/serve-favicon/node_modules/etag/node_modules/crc/.npmignore
generated
vendored
5
node_modules/serve-favicon/node_modules/etag/node_modules/crc/.npmignore
generated
vendored
@@ -1,5 +0,0 @@
|
||||
benchmark
|
||||
src
|
||||
test
|
||||
.travis.yml
|
||||
bitcoin.png
|
||||
22
node_modules/serve-favicon/node_modules/etag/node_modules/crc/LICENSE
generated
vendored
22
node_modules/serve-favicon/node_modules/etag/node_modules/crc/LICENSE
generated
vendored
@@ -1,22 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright 2014 Alex Gorbatchev
|
||||
|
||||
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.
|
||||
98
node_modules/serve-favicon/node_modules/etag/node_modules/crc/README.md
generated
vendored
98
node_modules/serve-favicon/node_modules/etag/node_modules/crc/README.md
generated
vendored
@@ -1,98 +0,0 @@
|
||||
# crc
|
||||
|
||||
[](https://www.gittip.com/alexgorbatchev/)
|
||||
[](https://david-dm.org/alexgorbatchev/node-crc)
|
||||
[](https://david-dm.org/alexgorbatchev/node-crc#info=devDependencies)
|
||||
[](https://travis-ci.org/alexgorbatchev/node-crc)
|
||||
|
||||
[](https://npmjs.org/package/node-crc)
|
||||
|
||||
Module for calculating Cyclic Redundancy Check (CRC).
|
||||
|
||||
## Features
|
||||
|
||||
* Full test suite comparing values against reference `pycrc` implementation.
|
||||
* Version 3.x is 3x to 4x faster than version 2.x.
|
||||
* Pure JavaScript implementation, no dependencies.
|
||||
* Provides CRC Tables for optimized calculations.
|
||||
* Provides support for the following CRC algorithms:
|
||||
* CRC1 `crc.crc1(…)`
|
||||
* CRC8 `crc.crc8(…)`
|
||||
* CRC8 1-Wire `crc.crc81wire(…)`
|
||||
* CRC16 `crc.crc16(…)`
|
||||
* CRC16 CCITT `crc.crc16ccitt(…)`
|
||||
* CRC16 Modbus `crc.crc16modbus(…)`
|
||||
* CRC24 `crc.crc24(…)`
|
||||
* CRC32 `crc.crc32(…)`
|
||||
|
||||
## IMPORTANT
|
||||
|
||||
If you've used `crc` module prior to version 2.x, you might have some inconsistentcies with the current implementation because it relied on very old code and wasn't checked against reference implementation. If you upgrading from 1.x, please take special care.
|
||||
|
||||
## Support
|
||||
|
||||
<a href="https://blockchain.info/address/1CZyBREeHTmy8C5zVGHZHPwqBuWFmEuUCQ"><img src="bitcoin.png" width="150" align="right"/></a> Please support me on [GitTip](https://www.gittip.com/alexgorbatchev/). I've spend days developing and grooming this module and hope to spend more time. If you have bitcoin, please use the QR code or this wallet address [`1CZyBREeHTmy8C5zVGHZHPwqBuWFmEuUCQ`](https://blockchain.info/address/1CZyBREeHTmy8C5zVGHZHPwqBuWFmEuUCQ):
|
||||
|
||||
## Installation
|
||||
|
||||
npm install crc
|
||||
|
||||
## Running tests
|
||||
|
||||
$ npm install
|
||||
$ npm test
|
||||
|
||||
## Usage Example
|
||||
|
||||
Calculate a CRC32:
|
||||
|
||||
var crc = require('crc');
|
||||
|
||||
crc.crc32('hello').toString(16);
|
||||
# => "3610a686"
|
||||
|
||||
Calculate a CRC32 of a file:
|
||||
|
||||
crc.crc32(fs.readFileSync('README.md', 'utf8')).toString(16);
|
||||
# => "127ad531"
|
||||
|
||||
Or using a `Buffer`:
|
||||
|
||||
crc.crc32(fs.readFileSync('README.md')).toString(16);
|
||||
# => "127ad531"
|
||||
|
||||
Incrementally calculate a CRC32:
|
||||
|
||||
value = crc32('one');
|
||||
value = crc32('two', value);
|
||||
value = crc32('three', value);
|
||||
value.toString(16);
|
||||
# => "09e1c092"
|
||||
|
||||
## Thanks!
|
||||
|
||||
[pycrc](http://www.tty1.net/pycrc/) library is which the source of all of the CRC tables.
|
||||
|
||||
# License
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Alex Gorbatchev
|
||||
|
||||
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.
|
||||
71
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc.js
generated
vendored
71
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc.js
generated
vendored
@@ -1,71 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var CRC, hex;
|
||||
|
||||
hex = require('./hex');
|
||||
|
||||
module.exports = CRC = (function() {
|
||||
CRC.prototype.INIT_CRC = 0x00;
|
||||
|
||||
CRC.prototype.XOR_MASK = 0x00;
|
||||
|
||||
CRC.prototype.WIDTH = 0;
|
||||
|
||||
CRC.prototype.pack = function(crc) {
|
||||
return '';
|
||||
};
|
||||
|
||||
CRC.prototype.each_byte = function(buf, cb) {
|
||||
var i, _i, _ref, _results;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
_results = [];
|
||||
for (i = _i = 0, _ref = buf.length - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
|
||||
_results.push(cb(buf[i]));
|
||||
}
|
||||
return _results;
|
||||
};
|
||||
|
||||
function CRC() {
|
||||
this.crc = this.INIT_CRC;
|
||||
}
|
||||
|
||||
CRC.prototype.digest_length = function() {
|
||||
return Math.ceil(this.WIDTH / 8.0);
|
||||
};
|
||||
|
||||
CRC.prototype.update = function(data) {};
|
||||
|
||||
CRC.prototype.reset = function() {
|
||||
return this.crc = this.INIT_CRC;
|
||||
};
|
||||
|
||||
CRC.prototype.checksum = function(signed) {
|
||||
var sum;
|
||||
if (signed == null) {
|
||||
signed = true;
|
||||
}
|
||||
sum = this.crc ^ this.XOR_MASK;
|
||||
if (signed) {
|
||||
sum = sum >>> 0;
|
||||
}
|
||||
return sum;
|
||||
};
|
||||
|
||||
CRC.prototype.finish = function() {
|
||||
return this.pack(this.checksum());
|
||||
};
|
||||
|
||||
CRC.prototype.hexdigest = function(value) {
|
||||
var result;
|
||||
if (value != null) {
|
||||
this.update(value);
|
||||
}
|
||||
result = this.finish();
|
||||
this.reset();
|
||||
return result;
|
||||
};
|
||||
|
||||
return CRC;
|
||||
|
||||
})();
|
||||
21
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc1.js
generated
vendored
21
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc1.js
generated
vendored
@@ -1,21 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
module.exports = create('crc1', function(buf, previous) {
|
||||
var accum, byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = ~~previous;
|
||||
accum = 0;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
accum += byte;
|
||||
}
|
||||
crc += accum % 256;
|
||||
return crc % 256;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc16.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc16.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x0000, 0xc0c1, 0xc181, 0x0140, 0xc301, 0x03c0, 0x0280, 0xc241, 0xc601, 0x06c0, 0x0780, 0xc741, 0x0500, 0xc5c1, 0xc481, 0x0440, 0xcc01, 0x0cc0, 0x0d80, 0xcd41, 0x0f00, 0xcfc1, 0xce81, 0x0e40, 0x0a00, 0xcac1, 0xcb81, 0x0b40, 0xc901, 0x09c0, 0x0880, 0xc841, 0xd801, 0x18c0, 0x1980, 0xd941, 0x1b00, 0xdbc1, 0xda81, 0x1a40, 0x1e00, 0xdec1, 0xdf81, 0x1f40, 0xdd01, 0x1dc0, 0x1c80, 0xdc41, 0x1400, 0xd4c1, 0xd581, 0x1540, 0xd701, 0x17c0, 0x1680, 0xd641, 0xd201, 0x12c0, 0x1380, 0xd341, 0x1100, 0xd1c1, 0xd081, 0x1040, 0xf001, 0x30c0, 0x3180, 0xf141, 0x3300, 0xf3c1, 0xf281, 0x3240, 0x3600, 0xf6c1, 0xf781, 0x3740, 0xf501, 0x35c0, 0x3480, 0xf441, 0x3c00, 0xfcc1, 0xfd81, 0x3d40, 0xff01, 0x3fc0, 0x3e80, 0xfe41, 0xfa01, 0x3ac0, 0x3b80, 0xfb41, 0x3900, 0xf9c1, 0xf881, 0x3840, 0x2800, 0xe8c1, 0xe981, 0x2940, 0xeb01, 0x2bc0, 0x2a80, 0xea41, 0xee01, 0x2ec0, 0x2f80, 0xef41, 0x2d00, 0xedc1, 0xec81, 0x2c40, 0xe401, 0x24c0, 0x2580, 0xe541, 0x2700, 0xe7c1, 0xe681, 0x2640, 0x2200, 0xe2c1, 0xe381, 0x2340, 0xe101, 0x21c0, 0x2080, 0xe041, 0xa001, 0x60c0, 0x6180, 0xa141, 0x6300, 0xa3c1, 0xa281, 0x6240, 0x6600, 0xa6c1, 0xa781, 0x6740, 0xa501, 0x65c0, 0x6480, 0xa441, 0x6c00, 0xacc1, 0xad81, 0x6d40, 0xaf01, 0x6fc0, 0x6e80, 0xae41, 0xaa01, 0x6ac0, 0x6b80, 0xab41, 0x6900, 0xa9c1, 0xa881, 0x6840, 0x7800, 0xb8c1, 0xb981, 0x7940, 0xbb01, 0x7bc0, 0x7a80, 0xba41, 0xbe01, 0x7ec0, 0x7f80, 0xbf41, 0x7d00, 0xbdc1, 0xbc81, 0x7c40, 0xb401, 0x74c0, 0x7580, 0xb541, 0x7700, 0xb7c1, 0xb681, 0x7640, 0x7200, 0xb2c1, 0xb381, 0x7340, 0xb101, 0x71c0, 0x7080, 0xb041, 0x5000, 0x90c1, 0x9181, 0x5140, 0x9301, 0x53c0, 0x5280, 0x9241, 0x9601, 0x56c0, 0x5780, 0x9741, 0x5500, 0x95c1, 0x9481, 0x5440, 0x9c01, 0x5cc0, 0x5d80, 0x9d41, 0x5f00, 0x9fc1, 0x9e81, 0x5e40, 0x5a00, 0x9ac1, 0x9b81, 0x5b40, 0x9901, 0x59c0, 0x5880, 0x9841, 0x8801, 0x48c0, 0x4980, 0x8941, 0x4b00, 0x8bc1, 0x8a81, 0x4a40, 0x4e00, 0x8ec1, 0x8f81, 0x4f40, 0x8d01, 0x4dc0, 0x4c80, 0x8c41, 0x4400, 0x84c1, 0x8581, 0x4540, 0x8701, 0x47c0, 0x4680, 0x8641, 0x8201, 0x42c0, 0x4380, 0x8341, 0x4100, 0x81c1, 0x8081, 0x4040];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('crc-16', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = ~~previous;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = (TABLE[(crc ^ byte) & 0xff] ^ (crc >> 8)) & 0xffff;
|
||||
}
|
||||
return crc;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc16_ccitt.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc16_ccitt.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('ccitt', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = previous != null ? ~~previous : 0xffff;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = (TABLE[((crc >> 8) ^ byte) & 0xff] ^ (crc << 8)) & 0xffff;
|
||||
}
|
||||
return crc;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc16_modbus.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc16_modbus.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x0000, 0xc0c1, 0xc181, 0x0140, 0xc301, 0x03c0, 0x0280, 0xc241, 0xc601, 0x06c0, 0x0780, 0xc741, 0x0500, 0xc5c1, 0xc481, 0x0440, 0xcc01, 0x0cc0, 0x0d80, 0xcd41, 0x0f00, 0xcfc1, 0xce81, 0x0e40, 0x0a00, 0xcac1, 0xcb81, 0x0b40, 0xc901, 0x09c0, 0x0880, 0xc841, 0xd801, 0x18c0, 0x1980, 0xd941, 0x1b00, 0xdbc1, 0xda81, 0x1a40, 0x1e00, 0xdec1, 0xdf81, 0x1f40, 0xdd01, 0x1dc0, 0x1c80, 0xdc41, 0x1400, 0xd4c1, 0xd581, 0x1540, 0xd701, 0x17c0, 0x1680, 0xd641, 0xd201, 0x12c0, 0x1380, 0xd341, 0x1100, 0xd1c1, 0xd081, 0x1040, 0xf001, 0x30c0, 0x3180, 0xf141, 0x3300, 0xf3c1, 0xf281, 0x3240, 0x3600, 0xf6c1, 0xf781, 0x3740, 0xf501, 0x35c0, 0x3480, 0xf441, 0x3c00, 0xfcc1, 0xfd81, 0x3d40, 0xff01, 0x3fc0, 0x3e80, 0xfe41, 0xfa01, 0x3ac0, 0x3b80, 0xfb41, 0x3900, 0xf9c1, 0xf881, 0x3840, 0x2800, 0xe8c1, 0xe981, 0x2940, 0xeb01, 0x2bc0, 0x2a80, 0xea41, 0xee01, 0x2ec0, 0x2f80, 0xef41, 0x2d00, 0xedc1, 0xec81, 0x2c40, 0xe401, 0x24c0, 0x2580, 0xe541, 0x2700, 0xe7c1, 0xe681, 0x2640, 0x2200, 0xe2c1, 0xe381, 0x2340, 0xe101, 0x21c0, 0x2080, 0xe041, 0xa001, 0x60c0, 0x6180, 0xa141, 0x6300, 0xa3c1, 0xa281, 0x6240, 0x6600, 0xa6c1, 0xa781, 0x6740, 0xa501, 0x65c0, 0x6480, 0xa441, 0x6c00, 0xacc1, 0xad81, 0x6d40, 0xaf01, 0x6fc0, 0x6e80, 0xae41, 0xaa01, 0x6ac0, 0x6b80, 0xab41, 0x6900, 0xa9c1, 0xa881, 0x6840, 0x7800, 0xb8c1, 0xb981, 0x7940, 0xbb01, 0x7bc0, 0x7a80, 0xba41, 0xbe01, 0x7ec0, 0x7f80, 0xbf41, 0x7d00, 0xbdc1, 0xbc81, 0x7c40, 0xb401, 0x74c0, 0x7580, 0xb541, 0x7700, 0xb7c1, 0xb681, 0x7640, 0x7200, 0xb2c1, 0xb381, 0x7340, 0xb101, 0x71c0, 0x7080, 0xb041, 0x5000, 0x90c1, 0x9181, 0x5140, 0x9301, 0x53c0, 0x5280, 0x9241, 0x9601, 0x56c0, 0x5780, 0x9741, 0x5500, 0x95c1, 0x9481, 0x5440, 0x9c01, 0x5cc0, 0x5d80, 0x9d41, 0x5f00, 0x9fc1, 0x9e81, 0x5e40, 0x5a00, 0x9ac1, 0x9b81, 0x5b40, 0x9901, 0x59c0, 0x5880, 0x9841, 0x8801, 0x48c0, 0x4980, 0x8941, 0x4b00, 0x8bc1, 0x8a81, 0x4a40, 0x4e00, 0x8ec1, 0x8f81, 0x4f40, 0x8d01, 0x4dc0, 0x4c80, 0x8c41, 0x4400, 0x84c1, 0x8581, 0x4540, 0x8701, 0x47c0, 0x4680, 0x8641, 0x8201, 0x42c0, 0x4380, 0x8341, 0x4100, 0x81c1, 0x8081, 0x4040];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('crc-16-modbus', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = previous != null ? ~~previous : 0xffff;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = (TABLE[(crc ^ byte) & 0xff] ^ (crc >> 8)) & 0xffff;
|
||||
}
|
||||
return crc;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc24.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc24.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x000000, 0x864cfb, 0x8ad50d, 0x0c99f6, 0x93e6e1, 0x15aa1a, 0x1933ec, 0x9f7f17, 0xa18139, 0x27cdc2, 0x2b5434, 0xad18cf, 0x3267d8, 0xb42b23, 0xb8b2d5, 0x3efe2e, 0xc54e89, 0x430272, 0x4f9b84, 0xc9d77f, 0x56a868, 0xd0e493, 0xdc7d65, 0x5a319e, 0x64cfb0, 0xe2834b, 0xee1abd, 0x685646, 0xf72951, 0x7165aa, 0x7dfc5c, 0xfbb0a7, 0x0cd1e9, 0x8a9d12, 0x8604e4, 0x00481f, 0x9f3708, 0x197bf3, 0x15e205, 0x93aefe, 0xad50d0, 0x2b1c2b, 0x2785dd, 0xa1c926, 0x3eb631, 0xb8faca, 0xb4633c, 0x322fc7, 0xc99f60, 0x4fd39b, 0x434a6d, 0xc50696, 0x5a7981, 0xdc357a, 0xd0ac8c, 0x56e077, 0x681e59, 0xee52a2, 0xe2cb54, 0x6487af, 0xfbf8b8, 0x7db443, 0x712db5, 0xf7614e, 0x19a3d2, 0x9fef29, 0x9376df, 0x153a24, 0x8a4533, 0x0c09c8, 0x00903e, 0x86dcc5, 0xb822eb, 0x3e6e10, 0x32f7e6, 0xb4bb1d, 0x2bc40a, 0xad88f1, 0xa11107, 0x275dfc, 0xdced5b, 0x5aa1a0, 0x563856, 0xd074ad, 0x4f0bba, 0xc94741, 0xc5deb7, 0x43924c, 0x7d6c62, 0xfb2099, 0xf7b96f, 0x71f594, 0xee8a83, 0x68c678, 0x645f8e, 0xe21375, 0x15723b, 0x933ec0, 0x9fa736, 0x19ebcd, 0x8694da, 0x00d821, 0x0c41d7, 0x8a0d2c, 0xb4f302, 0x32bff9, 0x3e260f, 0xb86af4, 0x2715e3, 0xa15918, 0xadc0ee, 0x2b8c15, 0xd03cb2, 0x567049, 0x5ae9bf, 0xdca544, 0x43da53, 0xc596a8, 0xc90f5e, 0x4f43a5, 0x71bd8b, 0xf7f170, 0xfb6886, 0x7d247d, 0xe25b6a, 0x641791, 0x688e67, 0xeec29c, 0x3347a4, 0xb50b5f, 0xb992a9, 0x3fde52, 0xa0a145, 0x26edbe, 0x2a7448, 0xac38b3, 0x92c69d, 0x148a66, 0x181390, 0x9e5f6b, 0x01207c, 0x876c87, 0x8bf571, 0x0db98a, 0xf6092d, 0x7045d6, 0x7cdc20, 0xfa90db, 0x65efcc, 0xe3a337, 0xef3ac1, 0x69763a, 0x578814, 0xd1c4ef, 0xdd5d19, 0x5b11e2, 0xc46ef5, 0x42220e, 0x4ebbf8, 0xc8f703, 0x3f964d, 0xb9dab6, 0xb54340, 0x330fbb, 0xac70ac, 0x2a3c57, 0x26a5a1, 0xa0e95a, 0x9e1774, 0x185b8f, 0x14c279, 0x928e82, 0x0df195, 0x8bbd6e, 0x872498, 0x016863, 0xfad8c4, 0x7c943f, 0x700dc9, 0xf64132, 0x693e25, 0xef72de, 0xe3eb28, 0x65a7d3, 0x5b59fd, 0xdd1506, 0xd18cf0, 0x57c00b, 0xc8bf1c, 0x4ef3e7, 0x426a11, 0xc426ea, 0x2ae476, 0xaca88d, 0xa0317b, 0x267d80, 0xb90297, 0x3f4e6c, 0x33d79a, 0xb59b61, 0x8b654f, 0x0d29b4, 0x01b042, 0x87fcb9, 0x1883ae, 0x9ecf55, 0x9256a3, 0x141a58, 0xefaaff, 0x69e604, 0x657ff2, 0xe33309, 0x7c4c1e, 0xfa00e5, 0xf69913, 0x70d5e8, 0x4e2bc6, 0xc8673d, 0xc4fecb, 0x42b230, 0xddcd27, 0x5b81dc, 0x57182a, 0xd154d1, 0x26359f, 0xa07964, 0xace092, 0x2aac69, 0xb5d37e, 0x339f85, 0x3f0673, 0xb94a88, 0x87b4a6, 0x01f85d, 0x0d61ab, 0x8b2d50, 0x145247, 0x921ebc, 0x9e874a, 0x18cbb1, 0xe37b16, 0x6537ed, 0x69ae1b, 0xefe2e0, 0x709df7, 0xf6d10c, 0xfa48fa, 0x7c0401, 0x42fa2f, 0xc4b6d4, 0xc82f22, 0x4e63d9, 0xd11cce, 0x575035, 0x5bc9c3, 0xdd8538];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('crc-24', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = previous != null ? ~~previous : 0xb704ce;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = (TABLE[((crc >> 16) ^ byte) & 0xff] ^ (crc << 8)) & 0xffffff;
|
||||
}
|
||||
return crc;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc32.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc32.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('crc-32', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = previous === 0 ? 0 : ~~previous ^ -1;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = TABLE[(crc ^ byte) & 0xff] ^ (crc >>> 8);
|
||||
}
|
||||
return crc ^ -1;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc8.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc8.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x00, 0x07, 0x0e, 0x09, 0x1c, 0x1b, 0x12, 0x15, 0x38, 0x3f, 0x36, 0x31, 0x24, 0x23, 0x2a, 0x2d, 0x70, 0x77, 0x7e, 0x79, 0x6c, 0x6b, 0x62, 0x65, 0x48, 0x4f, 0x46, 0x41, 0x54, 0x53, 0x5a, 0x5d, 0xe0, 0xe7, 0xee, 0xe9, 0xfc, 0xfb, 0xf2, 0xf5, 0xd8, 0xdf, 0xd6, 0xd1, 0xc4, 0xc3, 0xca, 0xcd, 0x90, 0x97, 0x9e, 0x99, 0x8c, 0x8b, 0x82, 0x85, 0xa8, 0xaf, 0xa6, 0xa1, 0xb4, 0xb3, 0xba, 0xbd, 0xc7, 0xc0, 0xc9, 0xce, 0xdb, 0xdc, 0xd5, 0xd2, 0xff, 0xf8, 0xf1, 0xf6, 0xe3, 0xe4, 0xed, 0xea, 0xb7, 0xb0, 0xb9, 0xbe, 0xab, 0xac, 0xa5, 0xa2, 0x8f, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9d, 0x9a, 0x27, 0x20, 0x29, 0x2e, 0x3b, 0x3c, 0x35, 0x32, 0x1f, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0d, 0x0a, 0x57, 0x50, 0x59, 0x5e, 0x4b, 0x4c, 0x45, 0x42, 0x6f, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7d, 0x7a, 0x89, 0x8e, 0x87, 0x80, 0x95, 0x92, 0x9b, 0x9c, 0xb1, 0xb6, 0xbf, 0xb8, 0xad, 0xaa, 0xa3, 0xa4, 0xf9, 0xfe, 0xf7, 0xf0, 0xe5, 0xe2, 0xeb, 0xec, 0xc1, 0xc6, 0xcf, 0xc8, 0xdd, 0xda, 0xd3, 0xd4, 0x69, 0x6e, 0x67, 0x60, 0x75, 0x72, 0x7b, 0x7c, 0x51, 0x56, 0x5f, 0x58, 0x4d, 0x4a, 0x43, 0x44, 0x19, 0x1e, 0x17, 0x10, 0x05, 0x02, 0x0b, 0x0c, 0x21, 0x26, 0x2f, 0x28, 0x3d, 0x3a, 0x33, 0x34, 0x4e, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5c, 0x5b, 0x76, 0x71, 0x78, 0x7f, 0x6a, 0x6d, 0x64, 0x63, 0x3e, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2c, 0x2b, 0x06, 0x01, 0x08, 0x0f, 0x1a, 0x1d, 0x14, 0x13, 0xae, 0xa9, 0xa0, 0xa7, 0xb2, 0xb5, 0xbc, 0xbb, 0x96, 0x91, 0x98, 0x9f, 0x8a, 0x8d, 0x84, 0x83, 0xde, 0xd9, 0xd0, 0xd7, 0xc2, 0xc5, 0xcc, 0xcb, 0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('crc-8', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = ~~previous;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = TABLE[(crc ^ byte) & 0xff] & 0xff;
|
||||
}
|
||||
return crc;
|
||||
});
|
||||
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc8_1wire.js
generated
vendored
25
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/crc8_1wire.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
var Buffer, TABLE, create;
|
||||
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
create = require('./create');
|
||||
|
||||
TABLE = [0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83, 0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41, 0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e, 0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc, 0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0, 0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62, 0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d, 0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff, 0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5, 0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07, 0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58, 0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a, 0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6, 0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24, 0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b, 0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9, 0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f, 0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd, 0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92, 0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50, 0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c, 0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee, 0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1, 0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73, 0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49, 0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b, 0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4, 0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16, 0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a, 0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8, 0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7, 0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35];
|
||||
|
||||
if (typeof Int32Array !== 'undefined') {
|
||||
TABLE = new Int32Array(TABLE);
|
||||
}
|
||||
|
||||
module.exports = create('dallas-1-wire', function(buf, previous) {
|
||||
var byte, crc, _i, _len;
|
||||
if (!Buffer.isBuffer(buf)) {
|
||||
buf = Buffer(buf);
|
||||
}
|
||||
crc = ~~previous;
|
||||
for (_i = 0, _len = buf.length; _i < _len; _i++) {
|
||||
byte = buf[_i];
|
||||
crc = TABLE[(crc ^ byte) & 0xff] & 0xff;
|
||||
}
|
||||
return crc;
|
||||
});
|
||||
11
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/create.js
generated
vendored
11
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/create.js
generated
vendored
@@ -1,11 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
module.exports = function(model, calc) {
|
||||
var fn;
|
||||
fn = function(buf, previous) {
|
||||
return calc(buf, previous) >>> 0;
|
||||
};
|
||||
fn.signed = calc;
|
||||
fn.unsigned = fn;
|
||||
fn.model = model;
|
||||
return fn;
|
||||
};
|
||||
9
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/hex.js
generated
vendored
9
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/hex.js
generated
vendored
@@ -1,9 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
module.exports = function(number) {
|
||||
var result;
|
||||
result = number.toString(16);
|
||||
while (result.length % 2) {
|
||||
result = "0" + result;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
11
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/index.js
generated
vendored
11
node_modules/serve-favicon/node_modules/etag/node_modules/crc/lib/index.js
generated
vendored
@@ -1,11 +0,0 @@
|
||||
// Generated by CoffeeScript 1.7.1
|
||||
module.exports = {
|
||||
crc1: require('./crc1'),
|
||||
crc8: require('./crc8'),
|
||||
crc81wire: require('./crc8_1wire'),
|
||||
crc16: require('./crc16'),
|
||||
crc16ccitt: require('./crc16_ccitt'),
|
||||
crc16modbus: require('./crc16_modbus'),
|
||||
crc24: require('./crc24'),
|
||||
crc32: require('./crc32')
|
||||
};
|
||||
58
node_modules/serve-favicon/node_modules/etag/node_modules/crc/package.json
generated
vendored
58
node_modules/serve-favicon/node_modules/etag/node_modules/crc/package.json
generated
vendored
@@ -1,58 +0,0 @@
|
||||
{
|
||||
"name": "crc",
|
||||
"version": "3.2.1",
|
||||
"description": "Various CRC JavaScript implementations",
|
||||
"keywords": [
|
||||
"crc"
|
||||
],
|
||||
"main": "./lib/index.js",
|
||||
"scripts": {
|
||||
"test": "mocha test/*.spec.coffee",
|
||||
"pretest": "coffee --bare --output ./lib --compile ./src/*.coffee"
|
||||
},
|
||||
"author": {
|
||||
"name": "Alex Gorbatchev",
|
||||
"url": "https://github.com/alexgorbatchev"
|
||||
},
|
||||
"devDependencies": {
|
||||
"beautify-benchmark": "^0.2.4",
|
||||
"benchmark": "^1.0.0",
|
||||
"buffer-crc32": "^0.2.3",
|
||||
"chai": "~1.9.1",
|
||||
"coffee-errors": "~0.8.6",
|
||||
"coffee-script": "~1.7.1",
|
||||
"mocha": "*",
|
||||
"seedrandom": "^2.3.6"
|
||||
},
|
||||
"homepage": "https://github.com/alexgorbatchev/node-crc",
|
||||
"bugs": {
|
||||
"url": "https://github.com/alexgorbatchev/node-crc/issues"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/alexgorbatchev/node-crc.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"gitHead": "71caf362b061992bfe4ca8706ee264e764d2e88e",
|
||||
"_id": "crc@3.2.1",
|
||||
"_shasum": "5d9c8fb77a245cd5eca291e5d2d005334bab0082",
|
||||
"_from": "crc@3.2.1",
|
||||
"_npmVersion": "1.4.13",
|
||||
"_npmUser": {
|
||||
"name": "alexgorbatchev",
|
||||
"email": "alex.gorbatchev@gmail.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "alexgorbatchev",
|
||||
"email": "alex.gorbatchev@gmail.com"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "5d9c8fb77a245cd5eca291e5d2d005334bab0082",
|
||||
"tarball": "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/crc/-/crc-3.2.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
||||
76
node_modules/serve-favicon/node_modules/etag/package.json
generated
vendored
76
node_modules/serve-favicon/node_modules/etag/package.json
generated
vendored
@@ -1,76 +0,0 @@
|
||||
{
|
||||
"name": "etag",
|
||||
"description": "Create simple ETags",
|
||||
"version": "1.6.0",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
},
|
||||
{
|
||||
"name": "David Björklund",
|
||||
"email": "david.bjorklund@gmail.com"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"etag",
|
||||
"http",
|
||||
"res"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jshttp/etag.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"crc": "3.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"benchmark": "1.0.0",
|
||||
"beautify-benchmark": "0.2.4",
|
||||
"istanbul": "0.3.9",
|
||||
"mocha": "~1.21.4",
|
||||
"seedrandom": "2.3.11"
|
||||
},
|
||||
"files": [
|
||||
"LICENSE",
|
||||
"HISTORY.md",
|
||||
"README.md",
|
||||
"index.js"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
},
|
||||
"scripts": {
|
||||
"bench": "node benchmark/index.js",
|
||||
"test": "mocha --reporter spec --bail --check-leaks test/",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
|
||||
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
|
||||
},
|
||||
"gitHead": "76a8f5250b02e85bc1c9b1b049d83b853a87df44",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/etag/issues"
|
||||
},
|
||||
"homepage": "https://github.com/jshttp/etag",
|
||||
"_id": "etag@1.6.0",
|
||||
"_shasum": "8bcb2c6af1254c481dfc8b997c906ef4e442c207",
|
||||
"_from": "etag@>=1.6.0 <1.7.0",
|
||||
"_npmVersion": "1.4.28",
|
||||
"_npmUser": {
|
||||
"name": "dougwilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "dougwilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "8bcb2c6af1254c481dfc8b997c906ef4e442c207",
|
||||
"tarball": "http://registry.npmjs.org/etag/-/etag-1.6.0.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/etag/-/etag-1.6.0.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
||||
24
node_modules/serve-favicon/node_modules/fresh/HISTORY.md
generated
vendored
24
node_modules/serve-favicon/node_modules/fresh/HISTORY.md
generated
vendored
@@ -1,24 +0,0 @@
|
||||
0.2.4 / 2014-09-07
|
||||
==================
|
||||
|
||||
* Support Node.js 0.6
|
||||
|
||||
0.2.3 / 2014-09-07
|
||||
==================
|
||||
|
||||
* Move repository to jshttp
|
||||
|
||||
0.2.2 / 2014-02-19
|
||||
==================
|
||||
|
||||
* Revert "Fix for blank page on Safari reload"
|
||||
|
||||
0.2.1 / 2014-01-29
|
||||
==================
|
||||
|
||||
* fix: support max-age=0 for end-to-end revalidation
|
||||
|
||||
0.2.0 / 2013-08-11
|
||||
==================
|
||||
|
||||
* fix: return false for no-cache
|
||||
22
node_modules/serve-favicon/node_modules/fresh/LICENSE
generated
vendored
22
node_modules/serve-favicon/node_modules/fresh/LICENSE
generated
vendored
@@ -1,22 +0,0 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2012 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.
|
||||
58
node_modules/serve-favicon/node_modules/fresh/README.md
generated
vendored
58
node_modules/serve-favicon/node_modules/fresh/README.md
generated
vendored
@@ -1,58 +0,0 @@
|
||||
# fresh
|
||||
|
||||
[![NPM Version][npm-image]][npm-url]
|
||||
[![NPM Downloads][downloads-image]][downloads-url]
|
||||
[![Node.js Version][node-version-image]][node-version-url]
|
||||
[![Build Status][travis-image]][travis-url]
|
||||
[![Test Coverage][coveralls-image]][coveralls-url]
|
||||
|
||||
HTTP response freshness testing
|
||||
|
||||
## Installation
|
||||
|
||||
```
|
||||
$ npm install fresh
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
```js
|
||||
var fresh = require('fresh')
|
||||
```
|
||||
|
||||
### fresh(req, res)
|
||||
|
||||
Check freshness of `req` and `res` headers.
|
||||
|
||||
When the cache is "fresh" __true__ is returned,
|
||||
otherwise __false__ is returned to indicate that
|
||||
the cache is now stale.
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
var req = { 'if-none-match': 'tobi' };
|
||||
var res = { 'etag': 'luna' };
|
||||
fresh(req, res);
|
||||
// => false
|
||||
|
||||
var req = { 'if-none-match': 'tobi' };
|
||||
var res = { 'etag': 'tobi' };
|
||||
fresh(req, res);
|
||||
// => true
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
[npm-image]: https://img.shields.io/npm/v/fresh.svg?style=flat
|
||||
[npm-url]: https://npmjs.org/package/fresh
|
||||
[node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat
|
||||
[node-version-url]: http://nodejs.org/download/
|
||||
[travis-image]: https://img.shields.io/travis/jshttp/fresh.svg?style=flat
|
||||
[travis-url]: https://travis-ci.org/jshttp/fresh
|
||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh.svg?style=flat
|
||||
[coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master
|
||||
[downloads-image]: https://img.shields.io/npm/dm/fresh.svg?style=flat
|
||||
[downloads-url]: https://npmjs.org/package/fresh
|
||||
53
node_modules/serve-favicon/node_modules/fresh/index.js
generated
vendored
53
node_modules/serve-favicon/node_modules/fresh/index.js
generated
vendored
@@ -1,53 +0,0 @@
|
||||
|
||||
/**
|
||||
* Expose `fresh()`.
|
||||
*/
|
||||
|
||||
module.exports = fresh;
|
||||
|
||||
/**
|
||||
* Check freshness of `req` and `res` headers.
|
||||
*
|
||||
* When the cache is "fresh" __true__ is returned,
|
||||
* otherwise __false__ is returned to indicate that
|
||||
* the cache is now stale.
|
||||
*
|
||||
* @param {Object} req
|
||||
* @param {Object} res
|
||||
* @return {Boolean}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function fresh(req, res) {
|
||||
// defaults
|
||||
var etagMatches = true;
|
||||
var notModified = true;
|
||||
|
||||
// fields
|
||||
var modifiedSince = req['if-modified-since'];
|
||||
var noneMatch = req['if-none-match'];
|
||||
var lastModified = res['last-modified'];
|
||||
var etag = res['etag'];
|
||||
var cc = req['cache-control'];
|
||||
|
||||
// unconditional request
|
||||
if (!modifiedSince && !noneMatch) return false;
|
||||
|
||||
// check for no-cache cache request directive
|
||||
if (cc && cc.indexOf('no-cache') !== -1) return false;
|
||||
|
||||
// parse if-none-match
|
||||
if (noneMatch) noneMatch = noneMatch.split(/ *, */);
|
||||
|
||||
// if-none-match
|
||||
if (noneMatch) etagMatches = ~noneMatch.indexOf(etag) || '*' == noneMatch[0];
|
||||
|
||||
// if-modified-since
|
||||
if (modifiedSince) {
|
||||
modifiedSince = new Date(modifiedSince);
|
||||
lastModified = new Date(lastModified);
|
||||
notModified = lastModified <= modifiedSince;
|
||||
}
|
||||
|
||||
return !! (etagMatches && notModified);
|
||||
}
|
||||
77
node_modules/serve-favicon/node_modules/fresh/package.json
generated
vendored
77
node_modules/serve-favicon/node_modules/fresh/package.json
generated
vendored
@@ -1,77 +0,0 @@
|
||||
{
|
||||
"name": "fresh",
|
||||
"description": "HTTP response freshness testing",
|
||||
"version": "0.2.4",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca",
|
||||
"url": "http://tjholowaychuk.com"
|
||||
},
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"fresh",
|
||||
"http",
|
||||
"conditional",
|
||||
"cache"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jshttp/fresh.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"istanbul": "0",
|
||||
"mocha": "1",
|
||||
"should": "3"
|
||||
},
|
||||
"files": [
|
||||
"HISTORY.md",
|
||||
"LICENSE",
|
||||
"index.js"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha --reporter spec --require should",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should",
|
||||
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"
|
||||
},
|
||||
"gitHead": "8440a4ca75fb091dec06e88654b3b1c31d7e7164",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/fresh/issues"
|
||||
},
|
||||
"homepage": "https://github.com/jshttp/fresh",
|
||||
"_id": "fresh@0.2.4",
|
||||
"_shasum": "3582499206c9723714190edd74b4604feb4a614c",
|
||||
"_from": "fresh@0.2.4",
|
||||
"_npmVersion": "1.4.21",
|
||||
"_npmUser": {
|
||||
"name": "dougwilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "tjholowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
},
|
||||
{
|
||||
"name": "jonathanong",
|
||||
"email": "jonathanrichardong@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "dougwilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
},
|
||||
{
|
||||
"name": "jongleberry",
|
||||
"email": "jonathanrichardong@gmail.com"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "3582499206c9723714190edd74b4604feb4a614c",
|
||||
"tarball": "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
||||
5
node_modules/serve-favicon/node_modules/ms/.npmignore
generated
vendored
5
node_modules/serve-favicon/node_modules/ms/.npmignore
generated
vendored
@@ -1,5 +0,0 @@
|
||||
node_modules
|
||||
test
|
||||
History.md
|
||||
Makefile
|
||||
component.json
|
||||
66
node_modules/serve-favicon/node_modules/ms/History.md
generated
vendored
66
node_modules/serve-favicon/node_modules/ms/History.md
generated
vendored
@@ -1,66 +0,0 @@
|
||||
|
||||
0.7.1 / 2015-04-20
|
||||
==================
|
||||
|
||||
* prevent extraordinary long inputs (@evilpacket)
|
||||
* Fixed broken readme link
|
||||
|
||||
0.7.0 / 2014-11-24
|
||||
==================
|
||||
|
||||
* add time abbreviations, updated tests and readme for the new units
|
||||
* fix example in the readme.
|
||||
* add LICENSE file
|
||||
|
||||
0.6.2 / 2013-12-05
|
||||
==================
|
||||
|
||||
* Adding repository section to package.json to suppress warning from NPM.
|
||||
|
||||
0.6.1 / 2013-05-10
|
||||
==================
|
||||
|
||||
* fix singularization [visionmedia]
|
||||
|
||||
0.6.0 / 2013-03-15
|
||||
==================
|
||||
|
||||
* fix minutes
|
||||
|
||||
0.5.1 / 2013-02-24
|
||||
==================
|
||||
|
||||
* add component namespace
|
||||
|
||||
0.5.0 / 2012-11-09
|
||||
==================
|
||||
|
||||
* add short formatting as default and .long option
|
||||
* add .license property to component.json
|
||||
* add version to component.json
|
||||
|
||||
0.4.0 / 2012-10-22
|
||||
==================
|
||||
|
||||
* add rounding to fix crazy decimals
|
||||
|
||||
0.3.0 / 2012-09-07
|
||||
==================
|
||||
|
||||
* fix `ms(<String>)` [visionmedia]
|
||||
|
||||
0.2.0 / 2012-09-03
|
||||
==================
|
||||
|
||||
* add component.json [visionmedia]
|
||||
* add days support [visionmedia]
|
||||
* add hours support [visionmedia]
|
||||
* add minutes support [visionmedia]
|
||||
* add seconds support [visionmedia]
|
||||
* add ms string support [visionmedia]
|
||||
* refactor tests to facilitate ms(number) [visionmedia]
|
||||
|
||||
0.1.0 / 2012-03-07
|
||||
==================
|
||||
|
||||
* Initial release
|
||||
20
node_modules/serve-favicon/node_modules/ms/LICENSE
generated
vendored
20
node_modules/serve-favicon/node_modules/ms/LICENSE
generated
vendored
@@ -1,20 +0,0 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2014 Guillermo Rauch <rauchg@gmail.com>
|
||||
|
||||
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.
|
||||
35
node_modules/serve-favicon/node_modules/ms/README.md
generated
vendored
35
node_modules/serve-favicon/node_modules/ms/README.md
generated
vendored
@@ -1,35 +0,0 @@
|
||||
# ms.js: miliseconds conversion utility
|
||||
|
||||
```js
|
||||
ms('2 days') // 172800000
|
||||
ms('1d') // 86400000
|
||||
ms('10h') // 36000000
|
||||
ms('2.5 hrs') // 9000000
|
||||
ms('2h') // 7200000
|
||||
ms('1m') // 60000
|
||||
ms('5s') // 5000
|
||||
ms('100') // 100
|
||||
```
|
||||
|
||||
```js
|
||||
ms(60000) // "1m"
|
||||
ms(2 * 60000) // "2m"
|
||||
ms(ms('10 hours')) // "10h"
|
||||
```
|
||||
|
||||
```js
|
||||
ms(60000, { long: true }) // "1 minute"
|
||||
ms(2 * 60000, { long: true }) // "2 minutes"
|
||||
ms(ms('10 hours'), { long: true }) // "10 hours"
|
||||
```
|
||||
|
||||
- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).
|
||||
- If a number is supplied to `ms`, a string with a unit is returned.
|
||||
- If a string that contains the number is supplied, it returns it as
|
||||
a number (e.g: it returns `100` for `'100'`).
|
||||
- If you pass a string with a number and a valid unit, the number of
|
||||
equivalent ms is returned.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
125
node_modules/serve-favicon/node_modules/ms/index.js
generated
vendored
125
node_modules/serve-favicon/node_modules/ms/index.js
generated
vendored
@@ -1,125 +0,0 @@
|
||||
/**
|
||||
* Helpers.
|
||||
*/
|
||||
|
||||
var s = 1000;
|
||||
var m = s * 60;
|
||||
var h = m * 60;
|
||||
var d = h * 24;
|
||||
var y = d * 365.25;
|
||||
|
||||
/**
|
||||
* Parse or format the given `val`.
|
||||
*
|
||||
* Options:
|
||||
*
|
||||
* - `long` verbose formatting [false]
|
||||
*
|
||||
* @param {String|Number} val
|
||||
* @param {Object} options
|
||||
* @return {String|Number}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
module.exports = function(val, options){
|
||||
options = options || {};
|
||||
if ('string' == typeof val) return parse(val);
|
||||
return options.long
|
||||
? long(val)
|
||||
: short(val);
|
||||
};
|
||||
|
||||
/**
|
||||
* Parse the given `str` and return milliseconds.
|
||||
*
|
||||
* @param {String} str
|
||||
* @return {Number}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function parse(str) {
|
||||
str = '' + str;
|
||||
if (str.length > 10000) return;
|
||||
var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);
|
||||
if (!match) return;
|
||||
var n = parseFloat(match[1]);
|
||||
var type = (match[2] || 'ms').toLowerCase();
|
||||
switch (type) {
|
||||
case 'years':
|
||||
case 'year':
|
||||
case 'yrs':
|
||||
case 'yr':
|
||||
case 'y':
|
||||
return n * y;
|
||||
case 'days':
|
||||
case 'day':
|
||||
case 'd':
|
||||
return n * d;
|
||||
case 'hours':
|
||||
case 'hour':
|
||||
case 'hrs':
|
||||
case 'hr':
|
||||
case 'h':
|
||||
return n * h;
|
||||
case 'minutes':
|
||||
case 'minute':
|
||||
case 'mins':
|
||||
case 'min':
|
||||
case 'm':
|
||||
return n * m;
|
||||
case 'seconds':
|
||||
case 'second':
|
||||
case 'secs':
|
||||
case 'sec':
|
||||
case 's':
|
||||
return n * s;
|
||||
case 'milliseconds':
|
||||
case 'millisecond':
|
||||
case 'msecs':
|
||||
case 'msec':
|
||||
case 'ms':
|
||||
return n;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Short format for `ms`.
|
||||
*
|
||||
* @param {Number} ms
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function short(ms) {
|
||||
if (ms >= d) return Math.round(ms / d) + 'd';
|
||||
if (ms >= h) return Math.round(ms / h) + 'h';
|
||||
if (ms >= m) return Math.round(ms / m) + 'm';
|
||||
if (ms >= s) return Math.round(ms / s) + 's';
|
||||
return ms + 'ms';
|
||||
}
|
||||
|
||||
/**
|
||||
* Long format for `ms`.
|
||||
*
|
||||
* @param {Number} ms
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function long(ms) {
|
||||
return plural(ms, d, 'day')
|
||||
|| plural(ms, h, 'hour')
|
||||
|| plural(ms, m, 'minute')
|
||||
|| plural(ms, s, 'second')
|
||||
|| ms + ' ms';
|
||||
}
|
||||
|
||||
/**
|
||||
* Pluralization helper.
|
||||
*/
|
||||
|
||||
function plural(ms, n, name) {
|
||||
if (ms < n) return;
|
||||
if (ms < n * 1.5) return Math.floor(ms / n) + ' ' + name;
|
||||
return Math.ceil(ms / n) + ' ' + name + 's';
|
||||
}
|
||||
48
node_modules/serve-favicon/node_modules/ms/package.json
generated
vendored
48
node_modules/serve-favicon/node_modules/ms/package.json
generated
vendored
@@ -1,48 +0,0 @@
|
||||
{
|
||||
"name": "ms",
|
||||
"version": "0.7.1",
|
||||
"description": "Tiny ms conversion utility",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/guille/ms.js.git"
|
||||
},
|
||||
"main": "./index",
|
||||
"devDependencies": {
|
||||
"mocha": "*",
|
||||
"expect.js": "*",
|
||||
"serve": "*"
|
||||
},
|
||||
"component": {
|
||||
"scripts": {
|
||||
"ms/index.js": "index.js"
|
||||
}
|
||||
},
|
||||
"gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909",
|
||||
"bugs": {
|
||||
"url": "https://github.com/guille/ms.js/issues"
|
||||
},
|
||||
"homepage": "https://github.com/guille/ms.js",
|
||||
"_id": "ms@0.7.1",
|
||||
"scripts": {},
|
||||
"_shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
|
||||
"_from": "ms@0.7.1",
|
||||
"_npmVersion": "2.7.5",
|
||||
"_nodeVersion": "0.12.2",
|
||||
"_npmUser": {
|
||||
"name": "rauchg",
|
||||
"email": "rauchg@gmail.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "rauchg",
|
||||
"email": "rauchg@gmail.com"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
|
||||
"tarball": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
||||
4
node_modules/serve-favicon/node_modules/parseurl/.npmignore
generated
vendored
4
node_modules/serve-favicon/node_modules/parseurl/.npmignore
generated
vendored
@@ -1,4 +0,0 @@
|
||||
benchmark/
|
||||
coverage/
|
||||
test/
|
||||
.travis.yml
|
||||
42
node_modules/serve-favicon/node_modules/parseurl/HISTORY.md
generated
vendored
42
node_modules/serve-favicon/node_modules/parseurl/HISTORY.md
generated
vendored
@@ -1,42 +0,0 @@
|
||||
1.3.0 / 2014-08-09
|
||||
==================
|
||||
|
||||
* Add `parseurl.original` for parsing `req.originalUrl` with fallback
|
||||
* Return `undefined` if `req.url` is `undefined`
|
||||
|
||||
1.2.0 / 2014-07-21
|
||||
==================
|
||||
|
||||
* Cache URLs based on original value
|
||||
* Remove no-longer-needed URL mis-parse work-around
|
||||
* Simplify the "fast-path" `RegExp`
|
||||
|
||||
1.1.3 / 2014-07-08
|
||||
==================
|
||||
|
||||
* Fix typo
|
||||
|
||||
1.1.2 / 2014-07-08
|
||||
==================
|
||||
|
||||
* Seriously fix Node.js 0.8 compatibility
|
||||
|
||||
1.1.1 / 2014-07-08
|
||||
==================
|
||||
|
||||
* Fix Node.js 0.8 compatibility
|
||||
|
||||
1.1.0 / 2014-07-08
|
||||
==================
|
||||
|
||||
* Incorporate URL href-only parse fast-path
|
||||
|
||||
1.0.1 / 2014-03-08
|
||||
==================
|
||||
|
||||
* Add missing `require`
|
||||
|
||||
1.0.0 / 2014-03-08
|
||||
==================
|
||||
|
||||
* Genesis from `connect`
|
||||
24
node_modules/serve-favicon/node_modules/parseurl/LICENSE
generated
vendored
24
node_modules/serve-favicon/node_modules/parseurl/LICENSE
generated
vendored
@@ -1,24 +0,0 @@
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
|
||||
Copyright (c) 2014 Douglas Christopher Wilson <doug@somethingdoug.com>
|
||||
|
||||
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.
|
||||
107
node_modules/serve-favicon/node_modules/parseurl/README.md
generated
vendored
107
node_modules/serve-favicon/node_modules/parseurl/README.md
generated
vendored
@@ -1,107 +0,0 @@
|
||||
# parseurl
|
||||
|
||||
[](http://badge.fury.io/js/parseurl)
|
||||
[](https://travis-ci.org/expressjs/parseurl)
|
||||
[](https://coveralls.io/r/expressjs/parseurl)
|
||||
|
||||
Parse a URL with memoization.
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
$ npm install parseurl
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
```js
|
||||
var parseurl = require('parseurl')
|
||||
```
|
||||
|
||||
### parseurl(req)
|
||||
|
||||
Parse the URL of the given request object (looks at the `req.url` property)
|
||||
and return the result. The result is the same as `url.parse` in Node.js core.
|
||||
Calling this function multiple times on the same `req` where `req.url` does
|
||||
not change will return a cached parsed object, rather than parsing again.
|
||||
|
||||
### parseurl.original(req)
|
||||
|
||||
Parse the original URL of the given request object and return the result.
|
||||
This works by trying to parse `req.originalUrl` if it is a string, otherwise
|
||||
parses `req.url`. The result is the same as `url.parse` in Node.js core.
|
||||
Calling this function multiple times on the same `req` where `req.originalUrl`
|
||||
does not change will return a cached parsed object, rather than parsing again.
|
||||
|
||||
## Benchmark
|
||||
|
||||
```bash
|
||||
$ npm run-script bench
|
||||
|
||||
> parseurl@1.3.0 bench nodejs-parseurl
|
||||
> node benchmark/index.js
|
||||
|
||||
> node benchmark/fullurl.js
|
||||
|
||||
Parsing URL "http://localhost:8888/foo/bar?user=tj&pet=fluffy"
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
|
||||
fasturl x 1,290,780 ops/sec ±0.46% (195 runs sampled)
|
||||
nativeurl x 56,401 ops/sec ±0.22% (196 runs sampled)
|
||||
parseurl x 55,231 ops/sec ±0.22% (194 runs sampled)
|
||||
|
||||
> node benchmark/pathquery.js
|
||||
|
||||
Parsing URL "/foo/bar?user=tj&pet=fluffy"
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
|
||||
fasturl x 1,986,668 ops/sec ±0.27% (190 runs sampled)
|
||||
nativeurl x 98,740 ops/sec ±0.21% (195 runs sampled)
|
||||
parseurl x 2,628,171 ops/sec ±0.36% (195 runs sampled)
|
||||
|
||||
> node benchmark/samerequest.js
|
||||
|
||||
Parsing URL "/foo/bar?user=tj&pet=fluffy" on same request object
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
|
||||
fasturl x 2,184,468 ops/sec ±0.40% (194 runs sampled)
|
||||
nativeurl x 99,437 ops/sec ±0.71% (194 runs sampled)
|
||||
parseurl x 10,498,005 ops/sec ±0.61% (186 runs sampled)
|
||||
|
||||
> node benchmark/simplepath.js
|
||||
|
||||
Parsing URL "/foo/bar"
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
|
||||
fasturl x 4,535,825 ops/sec ±0.27% (191 runs sampled)
|
||||
nativeurl x 98,769 ops/sec ±0.54% (191 runs sampled)
|
||||
parseurl x 4,164,865 ops/sec ±0.34% (192 runs sampled)
|
||||
|
||||
> node benchmark/slash.js
|
||||
|
||||
Parsing URL "/"
|
||||
|
||||
1 test completed.
|
||||
2 tests completed.
|
||||
3 tests completed.
|
||||
|
||||
fasturl x 4,908,405 ops/sec ±0.42% (191 runs sampled)
|
||||
nativeurl x 100,945 ops/sec ±0.59% (188 runs sampled)
|
||||
parseurl x 4,333,208 ops/sec ±0.27% (194 runs sampled)
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
136
node_modules/serve-favicon/node_modules/parseurl/index.js
generated
vendored
136
node_modules/serve-favicon/node_modules/parseurl/index.js
generated
vendored
@@ -1,136 +0,0 @@
|
||||
/*!
|
||||
* parseurl
|
||||
* Copyright(c) 2014 Jonathan Ong
|
||||
* Copyright(c) 2014 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var url = require('url')
|
||||
var parse = url.parse
|
||||
var Url = url.Url
|
||||
|
||||
/**
|
||||
* Pattern for a simple path case.
|
||||
* See: https://github.com/joyent/node/pull/7878
|
||||
*/
|
||||
|
||||
var simplePathRegExp = /^(\/\/?(?!\/)[^\?#\s]*)(\?[^#\s]*)?$/
|
||||
|
||||
/**
|
||||
* Exports.
|
||||
*/
|
||||
|
||||
module.exports = parseurl
|
||||
module.exports.original = originalurl
|
||||
|
||||
/**
|
||||
* Parse the `req` url with memoization.
|
||||
*
|
||||
* @param {ServerRequest} req
|
||||
* @return {Object}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function parseurl(req) {
|
||||
var url = req.url
|
||||
|
||||
if (url === undefined) {
|
||||
// URL is undefined
|
||||
return undefined
|
||||
}
|
||||
|
||||
var parsed = req._parsedUrl
|
||||
|
||||
if (fresh(url, parsed)) {
|
||||
// Return cached URL parse
|
||||
return parsed
|
||||
}
|
||||
|
||||
// Parse the URL
|
||||
parsed = fastparse(url)
|
||||
parsed._raw = url
|
||||
|
||||
return req._parsedUrl = parsed
|
||||
};
|
||||
|
||||
/**
|
||||
* Parse the `req` original url with fallback and memoization.
|
||||
*
|
||||
* @param {ServerRequest} req
|
||||
* @return {Object}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function originalurl(req) {
|
||||
var url = req.originalUrl
|
||||
|
||||
if (typeof url !== 'string') {
|
||||
// Fallback
|
||||
return parseurl(req)
|
||||
}
|
||||
|
||||
var parsed = req._parsedOriginalUrl
|
||||
|
||||
if (fresh(url, parsed)) {
|
||||
// Return cached URL parse
|
||||
return parsed
|
||||
}
|
||||
|
||||
// Parse the URL
|
||||
parsed = fastparse(url)
|
||||
parsed._raw = url
|
||||
|
||||
return req._parsedOriginalUrl = parsed
|
||||
};
|
||||
|
||||
/**
|
||||
* Parse the `str` url with fast-path short-cut.
|
||||
*
|
||||
* @param {string} str
|
||||
* @return {Object}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function fastparse(str) {
|
||||
// Try fast path regexp
|
||||
// See: https://github.com/joyent/node/pull/7878
|
||||
var simplePath = typeof str === 'string' && simplePathRegExp.exec(str)
|
||||
|
||||
// Construct simple URL
|
||||
if (simplePath) {
|
||||
var pathname = simplePath[1]
|
||||
var search = simplePath[2] || null
|
||||
var url = Url !== undefined
|
||||
? new Url()
|
||||
: {}
|
||||
url.path = str
|
||||
url.href = str
|
||||
url.pathname = pathname
|
||||
url.search = search
|
||||
url.query = search && search.substr(1)
|
||||
|
||||
return url
|
||||
}
|
||||
|
||||
return parse(str)
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if parsed is still fresh for url.
|
||||
*
|
||||
* @param {string} url
|
||||
* @param {object} parsedUrl
|
||||
* @return {boolean}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function fresh(url, parsedUrl) {
|
||||
return typeof parsedUrl === 'object'
|
||||
&& parsedUrl !== null
|
||||
&& (Url === undefined || parsedUrl instanceof Url)
|
||||
&& parsedUrl._raw === url
|
||||
}
|
||||
44
node_modules/serve-favicon/node_modules/parseurl/package.json
generated
vendored
44
node_modules/serve-favicon/node_modules/parseurl/package.json
generated
vendored
@@ -1,44 +0,0 @@
|
||||
{
|
||||
"name": "parseurl",
|
||||
"description": "parse a url with memoization",
|
||||
"version": "1.3.0",
|
||||
"author": {
|
||||
"name": "Jonathan Ong",
|
||||
"email": "me@jongleberry.com",
|
||||
"url": "http://jongleberry.com"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/expressjs/parseurl.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"benchmark": "1.0.0",
|
||||
"beautify-benchmark": "0.2.4",
|
||||
"fast-url-parser": "~1.0.0",
|
||||
"istanbul": "0.3.0",
|
||||
"mocha": "~1.21.4"
|
||||
},
|
||||
"scripts": {
|
||||
"bench": "node benchmark/index.js",
|
||||
"test": "mocha --check-leaks --bail --reporter spec test/",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/",
|
||||
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/"
|
||||
},
|
||||
"readme": "# parseurl\n\n[](http://badge.fury.io/js/parseurl)\n[](https://travis-ci.org/expressjs/parseurl)\n[](https://coveralls.io/r/expressjs/parseurl)\n\nParse a URL with memoization.\n\n## Install\n\n```bash\n$ npm install parseurl\n```\n\n## API\n\n```js\nvar parseurl = require('parseurl')\n```\n\n### parseurl(req)\n\nParse the URL of the given request object (looks at the `req.url` property)\nand return the result. The result is the same as `url.parse` in Node.js core.\nCalling this function multiple times on the same `req` where `req.url` does\nnot change will return a cached parsed object, rather than parsing again.\n\n### parseurl.original(req)\n\nParse the original URL of the given request object and return the result.\nThis works by trying to parse `req.originalUrl` if it is a string, otherwise\nparses `req.url`. The result is the same as `url.parse` in Node.js core.\nCalling this function multiple times on the same `req` where `req.originalUrl`\ndoes not change will return a cached parsed object, rather than parsing again.\n\n## Benchmark\n\n```bash\n$ npm run-script bench\n\n> parseurl@1.3.0 bench nodejs-parseurl\n> node benchmark/index.js\n\n> node benchmark/fullurl.js\n\n Parsing URL \"http://localhost:8888/foo/bar?user=tj&pet=fluffy\"\n\n 1 test completed.\n 2 tests completed.\n 3 tests completed.\n\n fasturl x 1,290,780 ops/sec ±0.46% (195 runs sampled)\n nativeurl x 56,401 ops/sec ±0.22% (196 runs sampled)\n parseurl x 55,231 ops/sec ±0.22% (194 runs sampled)\n\n> node benchmark/pathquery.js\n\n Parsing URL \"/foo/bar?user=tj&pet=fluffy\"\n\n 1 test completed.\n 2 tests completed.\n 3 tests completed.\n\n fasturl x 1,986,668 ops/sec ±0.27% (190 runs sampled)\n nativeurl x 98,740 ops/sec ±0.21% (195 runs sampled)\n parseurl x 2,628,171 ops/sec ±0.36% (195 runs sampled)\n\n> node benchmark/samerequest.js\n\n Parsing URL \"/foo/bar?user=tj&pet=fluffy\" on same request object\n\n 1 test completed.\n 2 tests completed.\n 3 tests completed.\n\n fasturl x 2,184,468 ops/sec ±0.40% (194 runs sampled)\n nativeurl x 99,437 ops/sec ±0.71% (194 runs sampled)\n parseurl x 10,498,005 ops/sec ±0.61% (186 runs sampled)\n\n> node benchmark/simplepath.js\n\n Parsing URL \"/foo/bar\"\n\n 1 test completed.\n 2 tests completed.\n 3 tests completed.\n\n fasturl x 4,535,825 ops/sec ±0.27% (191 runs sampled)\n nativeurl x 98,769 ops/sec ±0.54% (191 runs sampled)\n parseurl x 4,164,865 ops/sec ±0.34% (192 runs sampled)\n\n> node benchmark/slash.js\n\n Parsing URL \"/\"\n\n 1 test completed.\n 2 tests completed.\n 3 tests completed.\n\n fasturl x 4,908,405 ops/sec ±0.42% (191 runs sampled)\n nativeurl x 100,945 ops/sec ±0.59% (188 runs sampled)\n parseurl x 4,333,208 ops/sec ±0.27% (194 runs sampled)\n```\n\n## License\n\n [MIT](LICENSE)\n",
|
||||
"readmeFilename": "README.md",
|
||||
"bugs": {
|
||||
"url": "https://github.com/expressjs/parseurl/issues"
|
||||
},
|
||||
"homepage": "https://github.com/expressjs/parseurl#readme",
|
||||
"_id": "parseurl@1.3.0",
|
||||
"_shasum": "b58046db4223e145afa76009e61bac87cc2281b3",
|
||||
"_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz",
|
||||
"_from": "parseurl@>=1.3.0 <1.4.0"
|
||||
}
|
||||
136
node_modules/serve-favicon/package.json
generated
vendored
136
node_modules/serve-favicon/package.json
generated
vendored
@@ -1,70 +1,96 @@
|
||||
{
|
||||
"name": "serve-favicon",
|
||||
"description": "favicon serving middleware with caching",
|
||||
"version": "2.2.1",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
"_args": [
|
||||
[
|
||||
"serve-favicon@*",
|
||||
"/home/mitchell/Desktop/test-mywebsite/mywebsite"
|
||||
]
|
||||
],
|
||||
"_from": "serve-favicon@*",
|
||||
"_id": "serve-favicon@2.3.0",
|
||||
"_inCache": true,
|
||||
"_installable": true,
|
||||
"_location": "/serve-favicon",
|
||||
"_npmUser": {
|
||||
"email": "doug@somethingdoug.com",
|
||||
"name": "dougwilson"
|
||||
},
|
||||
"license": "MIT",
|
||||
"_npmVersion": "1.4.28",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"name": "serve-favicon",
|
||||
"raw": "serve-favicon@*",
|
||||
"rawSpec": "*",
|
||||
"scope": null,
|
||||
"spec": "*",
|
||||
"type": "range"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/",
|
||||
"/mongo-express"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz",
|
||||
"_shasum": "aed36cc6834069a6f189cc7222c6a1a811dc5b39",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "serve-favicon@*",
|
||||
"_where": "/home/mitchell/Desktop/test-mywebsite/mywebsite",
|
||||
"author": {
|
||||
"email": "doug@somethingdoug.com",
|
||||
"name": "Douglas Christopher Wilson"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/expressjs/serve-favicon/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"etag": "~1.7.0",
|
||||
"fresh": "0.3.0",
|
||||
"ms": "0.7.1",
|
||||
"parseurl": "~1.3.0"
|
||||
},
|
||||
"description": "favicon serving middleware with caching",
|
||||
"devDependencies": {
|
||||
"istanbul": "0.3.9",
|
||||
"mocha": "2.2.5",
|
||||
"proxyquire": "~1.2.0",
|
||||
"supertest": "1.0.1"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "aed36cc6834069a6f189cc7222c6a1a811dc5b39",
|
||||
"tarball": "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
},
|
||||
"files": [
|
||||
"HISTORY.md",
|
||||
"LICENSE",
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "3d719b0103a56eefecefa199dc622b4ea87b128b",
|
||||
"homepage": "https://github.com/expressjs/serve-favicon",
|
||||
"keywords": [
|
||||
"express",
|
||||
"favicon",
|
||||
"middleware"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/expressjs/serve-favicon.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"etag": "~1.6.0",
|
||||
"fresh": "0.2.4",
|
||||
"ms": "0.7.1",
|
||||
"parseurl": "~1.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"istanbul": "0.3.9",
|
||||
"mocha": "2.2.4",
|
||||
"proxyquire": "~1.2.0",
|
||||
"supertest": "1.0.1"
|
||||
},
|
||||
"files": [
|
||||
"LICENSE",
|
||||
"HISTORY.md",
|
||||
"index.js"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha --reporter spec --bail --check-leaks test/",
|
||||
"test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
|
||||
},
|
||||
"gitHead": "68ea9f2cb7363db6f66effe39c35e888689d81f6",
|
||||
"bugs": {
|
||||
"url": "https://github.com/expressjs/serve-favicon/issues"
|
||||
},
|
||||
"homepage": "https://github.com/expressjs/serve-favicon",
|
||||
"_id": "serve-favicon@2.2.1",
|
||||
"_shasum": "d97bacc150f66fe0e5cc4c78a84ba15bae5a584a",
|
||||
"_from": "serve-favicon@>=2.2.1 <2.3.0",
|
||||
"_npmVersion": "1.4.28",
|
||||
"_npmUser": {
|
||||
"name": "dougwilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
},
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "dougwilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "d97bacc150f66fe0e5cc4c78a84ba15bae5a584a",
|
||||
"tarball": "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.2.1.tgz"
|
||||
"name": "serve-favicon",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/expressjs/serve-favicon.git"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.2.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
"scripts": {
|
||||
"test": "mocha --reporter spec --bail --check-leaks test/",
|
||||
"test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
|
||||
},
|
||||
"version": "2.3.0"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user