Compare commits
8 Commits
1d339cf614
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 7aaf12d2bf | |||
| 6def97cbae | |||
| d352cd346b | |||
| 4711025fdb | |||
| 39c2a12a3e | |||
| d91969afa6 | |||
| f912e45cc0 | |||
| eee3a5e3fc |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
node_modules
|
node_modules
|
||||||
result
|
result
|
||||||
|
result*
|
||||||
uploads
|
uploads
|
||||||
|
|||||||
24
README.md
Normal file
24
README.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# usage
|
||||||
|
|
||||||
|
works with node2nix. very simple
|
||||||
|
|
||||||
|
## reconfigure node packages
|
||||||
|
updates nix files depending on package.json
|
||||||
|
``` shell
|
||||||
|
node2nix
|
||||||
|
```
|
||||||
|
|
||||||
|
## build
|
||||||
|
``` shell
|
||||||
|
nix-build -A package
|
||||||
|
```
|
||||||
|
|
||||||
|
## run
|
||||||
|
``` shell
|
||||||
|
#run the executable
|
||||||
|
./result/bin/EvidenceDump
|
||||||
|
|
||||||
|
#run jusing node
|
||||||
|
node result/lib/node_modules/EvidenceDump/server.js
|
||||||
|
```
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{pkgs ? import <nixpkgs> {
|
{pkgs ? import <nixpkgs> {
|
||||||
inherit system;
|
inherit system;
|
||||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
|
||||||
|
|
||||||
let
|
let
|
||||||
nodeEnv = import ./node-env.nix {
|
nodeEnv = import ./node-env.nix {
|
||||||
|
|||||||
@@ -45,8 +45,6 @@ footer{
|
|||||||
[data-filepond-item-state='processing-complete'] .filepond--item-panel {
|
[data-filepond-item-state='processing-complete'] .filepond--item-panel {
|
||||||
background-color: #888888;
|
background-color: #888888;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
106
node-env.nix
106
node-env.nix
@@ -165,7 +165,11 @@ let
|
|||||||
if(process.argv[2] == "development") {
|
if(process.argv[2] == "development") {
|
||||||
replaceDependencies(packageObj.devDependencies);
|
replaceDependencies(packageObj.devDependencies);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
packageObj.devDependencies = {};
|
||||||
|
}
|
||||||
replaceDependencies(packageObj.optionalDependencies);
|
replaceDependencies(packageObj.optionalDependencies);
|
||||||
|
replaceDependencies(packageObj.peerDependencies);
|
||||||
|
|
||||||
/* Write the fixed package.json file */
|
/* Write the fixed package.json file */
|
||||||
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
|
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
|
||||||
@@ -270,7 +274,7 @@ let
|
|||||||
|
|
||||||
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
|
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
|
||||||
reconstructPackageLock = writeTextFile {
|
reconstructPackageLock = writeTextFile {
|
||||||
name = "addintegrityfields.js";
|
name = "reconstructpackagelock.js";
|
||||||
text = ''
|
text = ''
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
@@ -280,25 +284,43 @@ let
|
|||||||
var lockObj = {
|
var lockObj = {
|
||||||
name: packageObj.name,
|
name: packageObj.name,
|
||||||
version: packageObj.version,
|
version: packageObj.version,
|
||||||
lockfileVersion: 1,
|
lockfileVersion: 2,
|
||||||
requires: true,
|
requires: true,
|
||||||
|
packages: {
|
||||||
|
"": {
|
||||||
|
name: packageObj.name,
|
||||||
|
version: packageObj.version,
|
||||||
|
license: packageObj.license,
|
||||||
|
bin: packageObj.bin,
|
||||||
|
dependencies: packageObj.dependencies,
|
||||||
|
engines: packageObj.engines,
|
||||||
|
optionalDependencies: packageObj.optionalDependencies
|
||||||
|
}
|
||||||
|
},
|
||||||
dependencies: {}
|
dependencies: {}
|
||||||
};
|
};
|
||||||
|
|
||||||
function augmentPackageJSON(filePath, dependencies) {
|
function augmentPackageJSON(filePath, packages, dependencies) {
|
||||||
var packageJSON = path.join(filePath, "package.json");
|
var packageJSON = path.join(filePath, "package.json");
|
||||||
if(fs.existsSync(packageJSON)) {
|
if(fs.existsSync(packageJSON)) {
|
||||||
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
|
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
|
||||||
|
packages[filePath] = {
|
||||||
|
version: packageObj.version,
|
||||||
|
integrity: "sha1-000000000000000000000000000=",
|
||||||
|
dependencies: packageObj.dependencies,
|
||||||
|
engines: packageObj.engines,
|
||||||
|
optionalDependencies: packageObj.optionalDependencies
|
||||||
|
};
|
||||||
dependencies[packageObj.name] = {
|
dependencies[packageObj.name] = {
|
||||||
version: packageObj.version,
|
version: packageObj.version,
|
||||||
integrity: "sha1-000000000000000000000000000=",
|
integrity: "sha1-000000000000000000000000000=",
|
||||||
dependencies: {}
|
dependencies: {}
|
||||||
};
|
};
|
||||||
processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
|
processDependencies(path.join(filePath, "node_modules"), packages, dependencies[packageObj.name].dependencies);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function processDependencies(dir, dependencies) {
|
function processDependencies(dir, packages, dependencies) {
|
||||||
if(fs.existsSync(dir)) {
|
if(fs.existsSync(dir)) {
|
||||||
var files = fs.readdirSync(dir);
|
var files = fs.readdirSync(dir);
|
||||||
|
|
||||||
@@ -314,23 +336,84 @@ let
|
|||||||
pkgFiles.forEach(function(entry) {
|
pkgFiles.forEach(function(entry) {
|
||||||
if(stats.isDirectory()) {
|
if(stats.isDirectory()) {
|
||||||
var pkgFilePath = path.join(filePath, entry);
|
var pkgFilePath = path.join(filePath, entry);
|
||||||
augmentPackageJSON(pkgFilePath, dependencies);
|
augmentPackageJSON(pkgFilePath, packages, dependencies);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
augmentPackageJSON(filePath, dependencies);
|
augmentPackageJSON(filePath, packages, dependencies);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
processDependencies("node_modules", lockObj.dependencies);
|
processDependencies("node_modules", lockObj.packages, lockObj.dependencies);
|
||||||
|
|
||||||
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
|
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Script that links bins defined in package.json to the node_modules bin directory
|
||||||
|
# NPM does not do this for top-level packages itself anymore as of v7
|
||||||
|
linkBinsScript = writeTextFile {
|
||||||
|
name = "linkbins.js";
|
||||||
|
text = ''
|
||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var packageObj = JSON.parse(fs.readFileSync("package.json"));
|
||||||
|
|
||||||
|
var nodeModules = Array(packageObj.name.split("/").length).fill("..").join(path.sep);
|
||||||
|
|
||||||
|
if(packageObj.bin !== undefined) {
|
||||||
|
fs.mkdirSync(path.join(nodeModules, ".bin"))
|
||||||
|
|
||||||
|
if(typeof packageObj.bin == "object") {
|
||||||
|
Object.keys(packageObj.bin).forEach(function(exe) {
|
||||||
|
if(fs.existsSync(packageObj.bin[exe])) {
|
||||||
|
console.log("linking bin '" + exe + "'");
|
||||||
|
fs.symlinkSync(
|
||||||
|
path.join("..", packageObj.name, packageObj.bin[exe]),
|
||||||
|
path.join(nodeModules, ".bin", exe)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("skipping non-existent bin '" + exe + "'");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(fs.existsSync(packageObj.bin)) {
|
||||||
|
console.log("linking bin '" + packageObj.bin + "'");
|
||||||
|
fs.symlinkSync(
|
||||||
|
path.join("..", packageObj.name, packageObj.bin),
|
||||||
|
path.join(nodeModules, ".bin", packageObj.name.split("/").pop())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("skipping non-existent bin '" + packageObj.bin + "'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(packageObj.directories !== undefined && packageObj.directories.bin !== undefined) {
|
||||||
|
fs.mkdirSync(path.join(nodeModules, ".bin"))
|
||||||
|
|
||||||
|
fs.readdirSync(packageObj.directories.bin).forEach(function(exe) {
|
||||||
|
if(fs.existsSync(path.join(packageObj.directories.bin, exe))) {
|
||||||
|
console.log("linking bin '" + exe + "'");
|
||||||
|
fs.symlinkSync(
|
||||||
|
path.join("..", packageObj.name, packageObj.directories.bin, exe),
|
||||||
|
path.join(nodeModules, ".bin", exe)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("skipping non-existent bin '" + exe + "'");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
|
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
|
||||||
let
|
let
|
||||||
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
|
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
|
||||||
@@ -377,13 +460,18 @@ let
|
|||||||
|
|
||||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
|
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
|
||||||
|
|
||||||
|
runHook postRebuild
|
||||||
|
|
||||||
if [ "''${dontNpmInstall-}" != "1" ]
|
if [ "''${dontNpmInstall-}" != "1" ]
|
||||||
then
|
then
|
||||||
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
|
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
|
||||||
rm -f npm-shrinkwrap.json
|
rm -f npm-shrinkwrap.json
|
||||||
|
|
||||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
|
npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Link executables defined in package.json
|
||||||
|
node ${linkBinsScript}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Builds and composes an NPM package including all its dependencies
|
# Builds and composes an NPM package including all its dependencies
|
||||||
|
|||||||
@@ -31,6 +31,24 @@ let
|
|||||||
sha512 = "PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==";
|
sha512 = "PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"balanced-match-1.0.2" = {
|
||||||
|
name = "balanced-match";
|
||||||
|
packageName = "balanced-match";
|
||||||
|
version = "1.0.2";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
|
||||||
|
sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"brace-expansion-1.1.11" = {
|
||||||
|
name = "brace-expansion";
|
||||||
|
packageName = "brace-expansion";
|
||||||
|
version = "1.1.11";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
|
||||||
|
sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"buffer-from-1.1.2" = {
|
"buffer-from-1.1.2" = {
|
||||||
name = "buffer-from";
|
name = "buffer-from";
|
||||||
packageName = "buffer-from";
|
packageName = "buffer-from";
|
||||||
@@ -49,6 +67,15 @@ let
|
|||||||
sha512 = "InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==";
|
sha512 = "InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"concat-map-0.0.1" = {
|
||||||
|
name = "concat-map";
|
||||||
|
packageName = "concat-map";
|
||||||
|
version = "0.0.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
|
||||||
|
sha512 = "/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"concat-stream-1.6.2" = {
|
"concat-stream-1.6.2" = {
|
||||||
name = "concat-stream";
|
name = "concat-stream";
|
||||||
packageName = "concat-stream";
|
packageName = "concat-stream";
|
||||||
@@ -229,6 +256,15 @@ let
|
|||||||
sha512 = "akx5WBKAwMSg36qoHTuMMVncHWctlaDGslJASDYAhoLrzDUDCjZlOngNa/iC6lPm9aA0qk8pN5KnpmbJHSIIQQ==";
|
sha512 = "akx5WBKAwMSg36qoHTuMMVncHWctlaDGslJASDYAhoLrzDUDCjZlOngNa/iC6lPm9aA0qk8pN5KnpmbJHSIIQQ==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"glob-6.0.4" = {
|
||||||
|
name = "glob";
|
||||||
|
packageName = "glob";
|
||||||
|
version = "6.0.4";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz";
|
||||||
|
sha512 = "MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"http-errors-1.3.1" = {
|
"http-errors-1.3.1" = {
|
||||||
name = "http-errors";
|
name = "http-errors";
|
||||||
packageName = "http-errors";
|
packageName = "http-errors";
|
||||||
@@ -238,6 +274,15 @@ let
|
|||||||
sha512 = "gMygNskMurDCWfoCdyh1gOeDfSbkAHXqz94QoPj5IHIUjC/BG8/xv7FSEUr7waR5RcAya4j58bft9Wu/wHNeXA==";
|
sha512 = "gMygNskMurDCWfoCdyh1gOeDfSbkAHXqz94QoPj5IHIUjC/BG8/xv7FSEUr7waR5RcAya4j58bft9Wu/wHNeXA==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"inflight-1.0.6" = {
|
||||||
|
name = "inflight";
|
||||||
|
packageName = "inflight";
|
||||||
|
version = "1.0.6";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
|
||||||
|
sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"inherits-2.0.4" = {
|
"inherits-2.0.4" = {
|
||||||
name = "inherits";
|
name = "inherits";
|
||||||
packageName = "inherits";
|
packageName = "inherits";
|
||||||
@@ -328,13 +373,22 @@ let
|
|||||||
sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
|
sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"minimist-1.2.6" = {
|
"minimatch-3.1.2" = {
|
||||||
|
name = "minimatch";
|
||||||
|
packageName = "minimatch";
|
||||||
|
version = "3.1.2";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
|
||||||
|
sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"minimist-1.2.7" = {
|
||||||
name = "minimist";
|
name = "minimist";
|
||||||
packageName = "minimist";
|
packageName = "minimist";
|
||||||
version = "1.2.6";
|
version = "1.2.7";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz";
|
url = "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz";
|
||||||
sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
|
sha512 = "bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"mkdirp-0.5.6" = {
|
"mkdirp-0.5.6" = {
|
||||||
@@ -364,6 +418,24 @@ let
|
|||||||
sha512 = "J0UXcyIPRtoYh2YDxWO1hFVGSZMl8dwMCik5ZmtdMlNSPd2M6qgnEs+WydAOdw54uJtgrIu8qvRSaK6etpHj6Q==";
|
sha512 = "J0UXcyIPRtoYh2YDxWO1hFVGSZMl8dwMCik5ZmtdMlNSPd2M6qgnEs+WydAOdw54uJtgrIu8qvRSaK6etpHj6Q==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"mv-2.1.1" = {
|
||||||
|
name = "mv";
|
||||||
|
packageName = "mv";
|
||||||
|
version = "2.1.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz";
|
||||||
|
sha512 = "at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"ncp-2.0.0" = {
|
||||||
|
name = "ncp";
|
||||||
|
packageName = "ncp";
|
||||||
|
version = "2.0.0";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz";
|
||||||
|
sha512 = "zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"negotiator-0.5.3" = {
|
"negotiator-0.5.3" = {
|
||||||
name = "negotiator";
|
name = "negotiator";
|
||||||
packageName = "negotiator";
|
packageName = "negotiator";
|
||||||
@@ -391,6 +463,15 @@ let
|
|||||||
sha512 = "ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==";
|
sha512 = "ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"once-1.4.0" = {
|
||||||
|
name = "once";
|
||||||
|
packageName = "once";
|
||||||
|
version = "1.4.0";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
|
||||||
|
sha512 = "lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"parseurl-1.3.3" = {
|
"parseurl-1.3.3" = {
|
||||||
name = "parseurl";
|
name = "parseurl";
|
||||||
packageName = "parseurl";
|
packageName = "parseurl";
|
||||||
@@ -400,6 +481,15 @@ let
|
|||||||
sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
|
sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"path-is-absolute-1.0.1" = {
|
||||||
|
name = "path-is-absolute";
|
||||||
|
packageName = "path-is-absolute";
|
||||||
|
version = "1.0.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
|
||||||
|
sha512 = "AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"path-to-regexp-0.1.7" = {
|
"path-to-regexp-0.1.7" = {
|
||||||
name = "path-to-regexp";
|
name = "path-to-regexp";
|
||||||
packageName = "path-to-regexp";
|
packageName = "path-to-regexp";
|
||||||
@@ -463,6 +553,15 @@ let
|
|||||||
sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
|
sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"rimraf-2.4.5" = {
|
||||||
|
name = "rimraf";
|
||||||
|
packageName = "rimraf";
|
||||||
|
version = "2.4.5";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz";
|
||||||
|
sha512 = "J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"safe-buffer-5.1.2" = {
|
"safe-buffer-5.1.2" = {
|
||||||
name = "safe-buffer";
|
name = "safe-buffer";
|
||||||
packageName = "safe-buffer";
|
packageName = "safe-buffer";
|
||||||
@@ -589,6 +688,15 @@ let
|
|||||||
sha512 = "yNsH+tC0r8quK2tg/yqkXqqaYzeKTkSqQ+8T6xCoWgOi/bU/omMYz+6k+I91JJJDeltJzI7oridTOq6OYkY0Tw==";
|
sha512 = "yNsH+tC0r8quK2tg/yqkXqqaYzeKTkSqQ+8T6xCoWgOi/bU/omMYz+6k+I91JJJDeltJzI7oridTOq6OYkY0Tw==";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"wrappy-1.0.2" = {
|
||||||
|
name = "wrappy";
|
||||||
|
packageName = "wrappy";
|
||||||
|
version = "1.0.2";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
|
||||||
|
sha512 = "l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==";
|
||||||
|
};
|
||||||
|
};
|
||||||
"xtend-4.0.2" = {
|
"xtend-4.0.2" = {
|
||||||
name = "xtend";
|
name = "xtend";
|
||||||
packageName = "xtend";
|
packageName = "xtend";
|
||||||
@@ -608,8 +716,11 @@ let
|
|||||||
sources."accepts-1.2.13"
|
sources."accepts-1.2.13"
|
||||||
sources."append-field-0.1.0"
|
sources."append-field-0.1.0"
|
||||||
sources."array-flatten-1.1.1"
|
sources."array-flatten-1.1.1"
|
||||||
|
sources."balanced-match-1.0.2"
|
||||||
|
sources."brace-expansion-1.1.11"
|
||||||
sources."buffer-from-1.1.2"
|
sources."buffer-from-1.1.2"
|
||||||
sources."busboy-0.2.14"
|
sources."busboy-0.2.14"
|
||||||
|
sources."concat-map-0.0.1"
|
||||||
(sources."concat-stream-1.6.2" // {
|
(sources."concat-stream-1.6.2" // {
|
||||||
dependencies = [
|
dependencies = [
|
||||||
sources."isarray-1.0.0"
|
sources."isarray-1.0.0"
|
||||||
@@ -633,7 +744,9 @@ let
|
|||||||
sources."finalhandler-0.4.0"
|
sources."finalhandler-0.4.0"
|
||||||
sources."forwarded-0.1.2"
|
sources."forwarded-0.1.2"
|
||||||
sources."fresh-0.3.0"
|
sources."fresh-0.3.0"
|
||||||
|
sources."glob-6.0.4"
|
||||||
sources."http-errors-1.3.1"
|
sources."http-errors-1.3.1"
|
||||||
|
sources."inflight-1.0.6"
|
||||||
sources."inherits-2.0.4"
|
sources."inherits-2.0.4"
|
||||||
sources."ipaddr.js-1.0.5"
|
sources."ipaddr.js-1.0.5"
|
||||||
sources."isarray-0.0.1"
|
sources."isarray-0.0.1"
|
||||||
@@ -643,23 +756,26 @@ let
|
|||||||
sources."mime-1.3.4"
|
sources."mime-1.3.4"
|
||||||
sources."mime-db-1.52.0"
|
sources."mime-db-1.52.0"
|
||||||
sources."mime-types-2.1.35"
|
sources."mime-types-2.1.35"
|
||||||
sources."ms-0.7.1"
|
sources."minimatch-3.1.2"
|
||||||
(sources."multer-1.1.0" // {
|
sources."minimist-1.2.7"
|
||||||
dependencies = [
|
|
||||||
sources."minimist-1.2.6"
|
|
||||||
sources."mkdirp-0.5.6"
|
sources."mkdirp-0.5.6"
|
||||||
];
|
sources."ms-0.7.1"
|
||||||
})
|
sources."multer-1.1.0"
|
||||||
|
sources."mv-2.1.1"
|
||||||
|
sources."ncp-2.0.0"
|
||||||
sources."negotiator-0.5.3"
|
sources."negotiator-0.5.3"
|
||||||
sources."object-assign-3.0.0"
|
sources."object-assign-3.0.0"
|
||||||
sources."on-finished-2.3.0"
|
sources."on-finished-2.3.0"
|
||||||
|
sources."once-1.4.0"
|
||||||
sources."parseurl-1.3.3"
|
sources."parseurl-1.3.3"
|
||||||
|
sources."path-is-absolute-1.0.1"
|
||||||
sources."path-to-regexp-0.1.7"
|
sources."path-to-regexp-0.1.7"
|
||||||
sources."process-nextick-args-2.0.1"
|
sources."process-nextick-args-2.0.1"
|
||||||
sources."proxy-addr-1.0.10"
|
sources."proxy-addr-1.0.10"
|
||||||
sources."qs-4.0.0"
|
sources."qs-4.0.0"
|
||||||
sources."range-parser-1.0.3"
|
sources."range-parser-1.0.3"
|
||||||
sources."readable-stream-1.1.14"
|
sources."readable-stream-1.1.14"
|
||||||
|
sources."rimraf-2.4.5"
|
||||||
sources."safe-buffer-5.1.2"
|
sources."safe-buffer-5.1.2"
|
||||||
sources."send-0.13.0"
|
sources."send-0.13.0"
|
||||||
(sources."serve-static-1.10.3" // {
|
(sources."serve-static-1.10.3" // {
|
||||||
@@ -679,6 +795,7 @@ let
|
|||||||
sources."util-deprecate-1.0.2"
|
sources."util-deprecate-1.0.2"
|
||||||
sources."utils-merge-1.0.0"
|
sources."utils-merge-1.0.0"
|
||||||
sources."vary-1.0.1"
|
sources."vary-1.0.1"
|
||||||
|
sources."wrappy-1.0.2"
|
||||||
sources."xtend-4.0.2"
|
sources."xtend-4.0.2"
|
||||||
];
|
];
|
||||||
buildInputs = globalBuildInputs;
|
buildInputs = globalBuildInputs;
|
||||||
@@ -686,7 +803,7 @@ let
|
|||||||
};
|
};
|
||||||
production = true;
|
production = true;
|
||||||
bypassCache = true;
|
bypassCache = true;
|
||||||
reconstructLock = false;
|
reconstructLock = true;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|||||||
232
package-lock.json
generated
232
package-lock.json
generated
@@ -9,7 +9,8 @@
|
|||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "4.13.3",
|
"express": "4.13.3",
|
||||||
"multer": "1.1.0"
|
"multer": "1.1.0",
|
||||||
|
"mv": "2.1.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"EvidenceDump": "server.js"
|
"EvidenceDump": "server.js"
|
||||||
@@ -48,6 +49,20 @@
|
|||||||
"integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==",
|
"integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||||
|
},
|
||||||
|
"node_modules/brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"dependencies": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/buffer-from": {
|
"node_modules/buffer-from": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||||
@@ -92,6 +107,11 @@
|
|||||||
"integrity": "sha512-YhIbp3PJiznERfjlIkK0ue4obZxt2S60+0W8z24ZymOHT8sHloOqWOqZRU2eN5OlY8U08VFsP02letcu26FilA==",
|
"integrity": "sha512-YhIbp3PJiznERfjlIkK0ue4obZxt2S60+0W8z24ZymOHT8sHloOqWOqZRU2eN5OlY8U08VFsP02letcu26FilA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||||
|
},
|
||||||
"node_modules/concat-stream": {
|
"node_modules/concat-stream": {
|
||||||
"version": "1.6.2",
|
"version": "1.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||||
@@ -409,6 +429,15 @@
|
|||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"dependencies": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/inherits": {
|
"node_modules/inherits": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
@@ -611,6 +640,43 @@
|
|||||||
"mkdirp": "bin/cmd.js"
|
"mkdirp": "bin/cmd.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/mv": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==",
|
||||||
|
"dependencies": {
|
||||||
|
"mkdirp": "~0.5.1",
|
||||||
|
"ncp": "~2.0.0",
|
||||||
|
"rimraf": "~2.4.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mv/node_modules/minimist": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
|
||||||
|
},
|
||||||
|
"node_modules/mv/node_modules/mkdirp": {
|
||||||
|
"version": "0.5.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||||
|
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||||
|
"dependencies": {
|
||||||
|
"minimist": "^1.2.6"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"mkdirp": "bin/cmd.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/ncp": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==",
|
||||||
|
"bin": {
|
||||||
|
"ncp": "bin/ncp"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/negotiator": {
|
"node_modules/negotiator": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
|
||||||
@@ -638,6 +704,14 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"dependencies": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/parseurl": {
|
"node_modules/parseurl": {
|
||||||
"version": "1.3.3",
|
"version": "1.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||||
@@ -646,6 +720,14 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/path-to-regexp": {
|
"node_modules/path-to-regexp": {
|
||||||
"version": "0.1.7",
|
"version": "0.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
@@ -698,6 +780,43 @@
|
|||||||
"integrity": "sha512-y0wyCcdQul3hI3xHfIs0vg/jSbboQc/YTOAqaxjFG7At+XSexduuOqBVL9SmOLSwa/ldkbzVzdwuk9s2EKTAZg==",
|
"integrity": "sha512-y0wyCcdQul3hI3xHfIs0vg/jSbboQc/YTOAqaxjFG7At+XSexduuOqBVL9SmOLSwa/ldkbzVzdwuk9s2EKTAZg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/rimraf": {
|
||||||
|
"version": "2.4.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
|
||||||
|
"integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"glob": "^6.0.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"rimraf": "bin.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/rimraf/node_modules/glob": {
|
||||||
|
"version": "6.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
|
||||||
|
"integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==",
|
||||||
|
"dependencies": {
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "2 || 3",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/rimraf/node_modules/minimatch": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/safe-buffer": {
|
"node_modules/safe-buffer": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||||
@@ -955,6 +1074,11 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||||
|
},
|
||||||
"node_modules/xtend": {
|
"node_modules/xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
@@ -990,6 +1114,20 @@
|
|||||||
"integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==",
|
"integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||||
|
},
|
||||||
|
"brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"requires": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"buffer-from": {
|
"buffer-from": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||||
@@ -1025,6 +1163,11 @@
|
|||||||
"integrity": "sha512-YhIbp3PJiznERfjlIkK0ue4obZxt2S60+0W8z24ZymOHT8sHloOqWOqZRU2eN5OlY8U08VFsP02letcu26FilA==",
|
"integrity": "sha512-YhIbp3PJiznERfjlIkK0ue4obZxt2S60+0W8z24ZymOHT8sHloOqWOqZRU2eN5OlY8U08VFsP02letcu26FilA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||||
|
},
|
||||||
"concat-stream": {
|
"concat-stream": {
|
||||||
"version": "1.6.2",
|
"version": "1.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||||
@@ -1281,6 +1424,15 @@
|
|||||||
"statuses": "1"
|
"statuses": "1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"requires": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"inherits": {
|
"inherits": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
@@ -1436,6 +1588,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mv": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==",
|
||||||
|
"requires": {
|
||||||
|
"mkdirp": "~0.5.1",
|
||||||
|
"ncp": "~2.0.0",
|
||||||
|
"rimraf": "~2.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"minimist": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
|
||||||
|
},
|
||||||
|
"mkdirp": {
|
||||||
|
"version": "0.5.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||||
|
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||||
|
"requires": {
|
||||||
|
"minimist": "^1.2.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ncp": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA=="
|
||||||
|
},
|
||||||
"negotiator": {
|
"negotiator": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
|
||||||
@@ -1454,11 +1636,24 @@
|
|||||||
"ee-first": "1.1.1"
|
"ee-first": "1.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"requires": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"parseurl": {
|
"parseurl": {
|
||||||
"version": "1.3.3",
|
"version": "1.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||||
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
|
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
|
||||||
},
|
},
|
||||||
|
"path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
|
||||||
|
},
|
||||||
"path-to-regexp": {
|
"path-to-regexp": {
|
||||||
"version": "0.1.7",
|
"version": "0.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
@@ -1505,6 +1700,36 @@
|
|||||||
"integrity": "sha512-y0wyCcdQul3hI3xHfIs0vg/jSbboQc/YTOAqaxjFG7At+XSexduuOqBVL9SmOLSwa/ldkbzVzdwuk9s2EKTAZg==",
|
"integrity": "sha512-y0wyCcdQul3hI3xHfIs0vg/jSbboQc/YTOAqaxjFG7At+XSexduuOqBVL9SmOLSwa/ldkbzVzdwuk9s2EKTAZg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"rimraf": {
|
||||||
|
"version": "2.4.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
|
||||||
|
"integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==",
|
||||||
|
"requires": {
|
||||||
|
"glob": "^6.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"glob": {
|
||||||
|
"version": "6.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
|
||||||
|
"integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==",
|
||||||
|
"requires": {
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "2 || 3",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimatch": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"requires": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"safe-buffer": {
|
"safe-buffer": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||||
@@ -1726,6 +1951,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
|
||||||
"integrity": "sha512-yNsH+tC0r8quK2tg/yqkXqqaYzeKTkSqQ+8T6xCoWgOi/bU/omMYz+6k+I91JJJDeltJzI7oridTOq6OYkY0Tw=="
|
"integrity": "sha512-yNsH+tC0r8quK2tg/yqkXqqaYzeKTkSqQ+8T6xCoWgOi/bU/omMYz+6k+I91JJJDeltJzI7oridTOq6OYkY0Tw=="
|
||||||
},
|
},
|
||||||
|
"wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||||
|
},
|
||||||
"xtend": {
|
"xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "4.13.3",
|
"express": "4.13.3",
|
||||||
"multer": "1.1.0"
|
"multer": "1.1.0",
|
||||||
|
"mv" : "2.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"should": "~7.1.0",
|
"should": "~7.1.0",
|
||||||
|
|||||||
24
server.js
24
server.js
@@ -4,14 +4,19 @@ var express = require("express");
|
|||||||
var multer = require('multer');
|
var multer = require('multer');
|
||||||
var app = express();
|
var app = express();
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
var mv = require('mv');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var upload_dir = '/tmp/uploads/';
|
||||||
|
if (!fs.existsSync(upload_dir)){
|
||||||
|
fs.mkdirSync(upload_dir);
|
||||||
|
}
|
||||||
|
|
||||||
app.use(express.static(path.join(__dirname, '/')));
|
app.use(express.static(path.join(__dirname, '/')));
|
||||||
|
|
||||||
var storage = multer.diskStorage({
|
var storage = multer.diskStorage({
|
||||||
|
|
||||||
|
|
||||||
destination: function (req, file, callback) {
|
destination: function (req, file, callback) {
|
||||||
callback(null, './uploads');
|
callback(null, '/tmp');
|
||||||
},
|
},
|
||||||
filename: function (req, file, callback) {
|
filename: function (req, file, callback) {
|
||||||
callback(null, 'upload_' + Date.now() + '_' + file.originalname);
|
callback(null, 'upload_' + Date.now() + '_' + file.originalname);
|
||||||
@@ -30,6 +35,19 @@ app.post('/uploads',function(req,res){
|
|||||||
console.log(err);
|
console.log(err);
|
||||||
return res.end("Error uploading file.");
|
return res.end("Error uploading file.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var oldPath = req.file.path;
|
||||||
|
var newPath = upload_dir + req.file.filename;
|
||||||
|
|
||||||
|
mv(oldPath, newPath, function (err) {
|
||||||
|
if(err)
|
||||||
|
{
|
||||||
|
console.log("error: ");
|
||||||
|
console.log(err);
|
||||||
|
return res.end("Error uploading file.");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
res.end("File is uploaded");
|
res.end("File is uploaded");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user