1
0
mirror of https://github.com/S2-/gitlit synced 2025-08-03 12:50:04 +02:00

add node modules to repo

This commit is contained in:
s2
2018-06-03 13:47:11 +02:00
parent e8c95255e8
commit d002126b72
4115 changed files with 440218 additions and 7519 deletions

22
node_modules/isbinaryfile/LICENSE.txt generated vendored Normal file
View File

@@ -0,0 +1,22 @@
Copyright (c) 2017 Garen J. Torikian
MIT License
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.

78
node_modules/isbinaryfile/README.md generated vendored Normal file
View File

@@ -0,0 +1,78 @@
# isBinaryFile
Detects if a file is binary in Node.js. Similar to [Perl's `-B` switch](http://stackoverflow.com/questions/899206/how-does-perl-know-a-file-is-binary), in that:
- it reads the first few thousand bytes of a file
- checks for a `null` byte; if it's found, it's binary
- flags non-ASCII characters. After a certain number of "weird" characters, the file is flagged as binary
Much of the logic is pretty much ported from [ag](https://github.com/ggreer/the_silver_searcher).
Note: if the file doesn't exist, is a directory, or is empty, the function returns `false`.
## Installation
```
npm install isbinaryfile
```
## Usage
### isBinaryFile(filepath, callback)
* `filepath`, a `string` indicating the path to the file.
* `callback`, a `function` for the callback. It has two arguments:
- `err`, the typical Node.js error argument
- `result`, a `boolean` of `true` or `false`, depending on if the file is binary
### isBinaryFile(bytes, size, callback)
* `bytes`, a `Buffer` of the file's contents.
* `size`, an optional `number` indicating the file size.
* `callback`, a `function` for the callback. It has two arguments:
- `err`, the typical Node.js error argument
- `result`, a `boolean` of `true` or `false`, depending on if the file is binary
### isBinaryFile.sync(filepath)
* `filepath`, a `string` indicating the path to the file.
### isBinaryFile.sync(bytes, size)
* `bytes`, a `Buffer` of the file's contents.
* `size`, an `number` indicating the file size.
Returns a `boolean` of `true` or `false`, depending on if the file is binary.
### Examples
```javascript
var isBinaryFile = require("isbinaryfile");
fs.readFile("some_file", function(err, data) {
fs.lstat("some_file", function(err, stat) {
isBinaryFile(data, stat.size, function (err, result) {
if (!err) {
if (result) {
console.log("It is!")
}
else {
console.log("No.")
}
}
});
});
});
isBinaryFile.sync("some_file"); // true or false
var bytes = fs.readFileSync(("some_file"));
var size = fs.lstatSync(("some_file").size;
isBinaryFile.sync(bytes, size); // true or false
```
## Testing
Run `npm install` to install `mocha`, then run `npm test`.

128
node_modules/isbinaryfile/index.js generated vendored Normal file
View File

@@ -0,0 +1,128 @@
var fs = require('fs');
var path = require("path");
var MAX_BYTES = 512;
module.exports = function(bytes, size, cb) {
// Only two args
if (cb === undefined) {
var file = bytes;
cb = size;
fs.stat(file, function(err, stat) {
if (err || !stat.isFile()) return cb(err, false);
fs.open(file, 'r', function(r_err, descriptor){
if (r_err) return cb(r_err);
bytes = new Buffer(MAX_BYTES);
// Read the file with no encoding for raw buffer access.
fs.read(descriptor, bytes, 0, bytes.length, 0, function(err, size, bytes){
fs.close(descriptor, function(c_err){
if (c_err) return cb(c_err, false);
return cb(null, isBinaryCheck(bytes, size));
});
});
});
});
}
else
return cb(null, isBinaryCheck(bytes, size));
};
function isBinaryCheck(bytes, size) {
if (size === 0)
return false;
var suspicious_bytes = 0;
var total_bytes = Math.min(size, MAX_BYTES);
// UTF-8 BOM
if (size >= 3 && bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) {
return false;
}
// UTF-32 BOM
if (size >= 4 && bytes[0] === 0x00 && bytes[1] === 0x00 && bytes[2] == 0xFE && bytes[3] == 0xFF) {
return false;
}
// UTF-32 LE BOM
if (size >= 4 && bytes[0] == 0xFF && bytes[1] == 0xFE && bytes[2] === 0x00 && bytes[3] === 0x00) {
return false;
}
// GB BOM
if (size >= 4 && bytes[0] == 0x84 && bytes[1] == 0x31 && bytes[2] == 0x95 && bytes[3] == 0x33) {
return false;
}
if (total_bytes >= 5 && bytes.slice(0, 5) == "%PDF-") {
/* PDF. This is binary. */
return true;
}
// UTF-16 BE BOM
if (size >= 2 && bytes[0] == 0xFE && bytes[1] == 0xFF) {
return false;
}
// UTF-16 LE BOM
if (size >= 2 && bytes[0] == 0xFF && bytes[1] == 0xFE) {
return false;
}
for (var i = 0; i < total_bytes; i++) {
if (bytes[i] === 0) { // NULL byte--it's binary!
return true;
}
else if ((bytes[i] < 7 || bytes[i] > 14) && (bytes[i] < 32 || bytes[i] > 127)) {
// UTF-8 detection
if (bytes[i] > 193 && bytes[i] < 224 && i + 1 < total_bytes) {
i++;
if (bytes[i] > 127 && bytes[i] < 192) {
continue;
}
}
else if (bytes[i] > 223 && bytes[i] < 240 && i + 2 < total_bytes) {
i++;
if (bytes[i] > 127 && bytes[i] < 192 && bytes[i + 1] > 127 && bytes[i + 1] < 192) {
i++;
continue;
}
}
suspicious_bytes++;
// Read at least 32 bytes before making a decision
if (i > 32 && (suspicious_bytes * 100) / total_bytes > 10) {
return true;
}
}
}
if ((suspicious_bytes * 100) / total_bytes > 10) {
return true;
}
return false;
}
module.exports.sync = function(bytes, size) {
// Only one arg
if (size === undefined) {
var file = bytes;
try {
if(!fs.statSync(file).isFile()) return false;
} catch (err) {
// otherwise continue on
}
var descriptor = fs.openSync(file, 'r');
try {
// Read the file with no encoding for raw buffer access.
bytes = new Buffer(MAX_BYTES);
size = fs.readSync(descriptor, bytes, 0, bytes.length, 0);
} finally {
fs.closeSync(descriptor);
}
return isBinaryCheck(bytes, size);
}
else
return isBinaryCheck(bytes, size);
}

66
node_modules/isbinaryfile/package.json generated vendored Normal file
View File

@@ -0,0 +1,66 @@
{
"_args": [
[
"isbinaryfile@3.0.2",
"/home/s2/Documents/Code/gitlit"
]
],
"_development": true,
"_from": "isbinaryfile@3.0.2",
"_id": "isbinaryfile@3.0.2",
"_inBundle": false,
"_integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
"_location": "/isbinaryfile",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "isbinaryfile@3.0.2",
"name": "isbinaryfile",
"escapedName": "isbinaryfile",
"rawSpec": "3.0.2",
"saveSpec": null,
"fetchSpec": "3.0.2"
},
"_requiredBy": [
"/electron-osx-sign"
],
"_resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
"_spec": "3.0.2",
"_where": "/home/s2/Documents/Code/gitlit",
"bugs": {
"url": "https://github.com/gjtorikian/isBinaryFile/issues"
},
"description": "Detects if a file is binary in Node.js. Similar to Perl's -B.",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-cli": "~0.1.13",
"grunt-exec": "0.4.3",
"grunt-release": "~0.6.0",
"mocha": "^2.2.4"
},
"engines": {
"node": ">=0.6.0"
},
"files": [
"index.js"
],
"homepage": "https://github.com/gjtorikian/isBinaryFile#readme",
"license": "MIT",
"main": "./index.js",
"maintainers": [
{
"name": "Garen J. Torikian",
"email": "gjtorikian@gmail.com"
}
],
"name": "isbinaryfile",
"repository": {
"type": "git",
"url": "git+https://github.com/gjtorikian/isBinaryFile.git"
},
"scripts": {
"test": "mocha"
},
"version": "3.0.2"
}