├── node-learn
├── express-server.js
├── http-server-files.js
├── global.js
├── server.js
├── process.js
├── .gitignore
├── package-lock.json
├── index.html
├── websocket-server.js
├── websocket.html
├── readine.js
├── http-request.js
├── http-server-json.js
├── websocket-client.js
├── http-form.html
└── http-form-submit.js
├── login
├── .gitignore
├── package.json
├── models
│ └── User.js
├── app.js
└── package-lock.json
├── mongodb
├── .gitignore
├── package.json
├── index.js
└── package-lock.json
├── mongoose
├── .gitignore
├── package.json
├── models
│ ├── User.js
│ └── User2.js
├── index.js
└── package-lock.json
└── README.md
/node-learn/express-server.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | let app=express();
3 | app.listen(8888);
4 | console.log('its working');
--------------------------------------------------------------------------------
/node-learn/http-server-files.js:
--------------------------------------------------------------------------------
1 | const http=require('http');
2 | const fs=require('fs');
3 |
4 | http.createServer((req,res)=>{
5 | console.log(req);
6 | }).listen(8888);
--------------------------------------------------------------------------------
/node-learn/global.js:
--------------------------------------------------------------------------------
1 | var path=require('path');
2 |
3 | var name='harshit bansal';
4 | console.log(name);
5 | console.log(`name variable is ${name}`);
6 | console.log(__dirname);
7 | console.log(__filename);
8 | console.log(path.basename(__filename));
--------------------------------------------------------------------------------
/node-learn/server.js:
--------------------------------------------------------------------------------
1 | const http =require('http');
2 |
3 | const server=http.createServer((req,res)=>{
4 | res.writeHead(200,{'content-Type':'text/html'});
5 | res.end('
hello guys harshit bansal here!
');
6 | });
7 |
8 | server.listen(8888);
9 | console.log("our server is running");
--------------------------------------------------------------------------------
/login/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | /node_modules
3 |
4 | # testing
5 | /coverage
6 |
7 | # production
8 | /build
9 |
10 | # misc
11 | .DS_Store
12 | .env.local
13 | .env.development.local
14 | .env.test.local
15 | .env.production.local
16 |
17 | npm-debug.log*
18 | yarn-debug.log*
19 | yarn-error.log*
--------------------------------------------------------------------------------
/mongodb/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | /node_modules
3 |
4 | # testing
5 | /coverage
6 |
7 | # production
8 | /build
9 |
10 | # misc
11 | .DS_Store
12 | .env.local
13 | .env.development.local
14 | .env.test.local
15 | .env.production.local
16 |
17 | npm-debug.log*
18 | yarn-debug.log*
19 | yarn-error.log*
--------------------------------------------------------------------------------
/mongoose/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | /node_modules
3 |
4 | # testing
5 | /coverage
6 |
7 | # production
8 | /build
9 |
10 | # misc
11 | .DS_Store
12 | .env.local
13 | .env.development.local
14 | .env.test.local
15 | .env.production.local
16 |
17 | npm-debug.log*
18 | yarn-debug.log*
19 | yarn-error.log*
--------------------------------------------------------------------------------
/node-learn/process.js:
--------------------------------------------------------------------------------
1 | // console.log(process.argv);
2 |
3 | // var flag=process.argv.indexOf('--user');
4 | // console.log(flag);
5 |
6 | process.stdout.write("what is your name?\n");
7 | process.stdin.on('data',function(answer){
8 | console.log(answer.toString().trim());
9 | process.exit();
10 | })
--------------------------------------------------------------------------------
/node-learn/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | /node_modules
3 |
4 | # testing
5 | /coverage
6 |
7 | # production
8 | /build
9 |
10 | # misc
11 | .DS_Store
12 | .env.local
13 | .env.development.local
14 | .env.test.local
15 | .env.production.local
16 |
17 | npm-debug.log*
18 | yarn-debug.log*
19 | yarn-error.log*
--------------------------------------------------------------------------------
/node-learn/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "requires": true,
3 | "lockfileVersion": 1,
4 | "dependencies": {
5 | "ws": {
6 | "version": "7.2.5",
7 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz",
8 | "integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA=="
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mongodb/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mongodb-learn",
3 | "version": "1.0.0",
4 | "description": "database stuff",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "harshit",
10 | "license": "ISC",
11 | "dependencies": {
12 | "mongodb": "^3.5.7",
13 | "mongoose": "^5.9.11"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/node-learn/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 |
13 |
14 |
--------------------------------------------------------------------------------
/login/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "login",
3 | "version": "1.0.0",
4 | "description": "login",
5 | "main": "app.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "harshit bansal",
10 | "license": "ISC",
11 | "dependencies": {
12 | "bcryptjs": "^2.4.3",
13 | "body-parser": "^1.19.0",
14 | "express": "^4.17.1",
15 | "mongoose": "^5.9.11"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/mongoose/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mongoose-learn",
3 | "version": "1.0.0",
4 | "description": "database stuff",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "harshit",
10 | "license": "ISC",
11 | "dependencies": {
12 | "body-parser": "^1.19.0",
13 | "express": "^4.17.1",
14 | "mongodb": "^3.5.7",
15 | "mongoose": "^5.9.11"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/login/models/User.js:
--------------------------------------------------------------------------------
1 | const mongoose = require('mongoose');
2 | const Schema = mongoose.Schema;
3 |
4 | const UserSchema = new Schema ({
5 |
6 | email: {
7 | type: String,
8 | required: true,
9 | unique: true,
10 | trim:true,
11 | minlength: 3
12 | },
13 |
14 | password: {
15 | type:String,
16 | required:true,
17 | minlength: 5
18 | }
19 | });
20 |
21 | module.exports = mongoose.model('users',UserSchema);
--------------------------------------------------------------------------------
/mongoose/models/User.js:
--------------------------------------------------------------------------------
1 | const mongoose = require('mongoose');
2 |
3 | const User=mongoose.model('users',{
4 |
5 | firstName: {
6 | type:String,
7 | required:true,
8 | minlength:4,
9 | trim:true
10 | },
11 |
12 | lastName: {
13 | type:String,
14 | required:true,
15 | minlength:4,
16 | trim:true
17 | },
18 |
19 | isActive: {
20 | type:Number,
21 | default:0
22 | }
23 |
24 | });
25 |
26 | module.exports = User;
--------------------------------------------------------------------------------
/node-learn/websocket-server.js:
--------------------------------------------------------------------------------
1 | const WebSocketServer = require('ws').Server;
2 | const WSS = new WebSocketServer({port : 3232});
3 |
4 | WSS.on('connection',(ws)=>{
5 |
6 | ws.on('message',(message)=>{
7 |
8 | if(message==='close'){
9 | ws.close();
10 | }
11 | else{
12 | WSS.clients.forEach((client)=>{
13 | client.send(message);
14 | });
15 | }
16 |
17 | console.log(message);
18 | });
19 |
20 | console.log('we are connected');
21 | });
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Node.js
2 |
3 | ## overview
4 | This repository has many small pieces of node.js codes which is basically small modules. these are pretty simple to use. you can find one of your neddy code above list of folders. after it just download it and use it. they are snippet of node.js based.
5 |
6 | ## contribution
7 | This repository is opened for all of you. just fork it and make a commit. If you build some small project based on node.js then just contribute. we can build a large node.js-snippets repo. let's contribute.
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mongoose/models/User2.js:
--------------------------------------------------------------------------------
1 | const mongoose = require('mongoose');
2 | const Schema = mongoose.Schema;
3 |
4 | const UserSchema=new Schema({
5 |
6 | firstName: {
7 | type:String,
8 | required:true,
9 | minlength:4,
10 | trim:true
11 | },
12 |
13 | lastName: {
14 | type:String,
15 | required:true,
16 | minlength:4,
17 | trim:true
18 | },
19 |
20 | isActive: {
21 | type:Number,
22 | default:0
23 | }
24 |
25 | });
26 |
27 | module.exports = mongoose.model('users',UserSchema);
--------------------------------------------------------------------------------
/node-learn/websocket.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 | APP
10 |
11 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/node-learn/readine.js:
--------------------------------------------------------------------------------
1 | var readline =require('readline');
2 | var util = require('util');
3 |
4 | var RL = readline.createInterface(process.stdin,process.stdout);
5 |
6 | RL.question('what is your name? ',(name)=>{
7 | RL.setPrompt(`${name} how old are you? `);
8 | RL.prompt();
9 |
10 | RL.on('line',(age)=>{
11 |
12 | if (age<18){
13 | util.log(`${name.trim()} beacuse you are ${age} years old, you cann't proceed further`);
14 | }else{
15 | util.log(`${name.trim()} , you are ${age} years old, NOw you can use our services`);
16 | }
17 |
18 | RL.close();
19 | });
20 | });
--------------------------------------------------------------------------------
/node-learn/http-request.js:
--------------------------------------------------------------------------------
1 | const https=require('https');
2 | const fs=require('fs');
3 |
4 | const url ='https://jsonplaceholder.typicode.com/posts';
5 |
6 | https.get(url,res=>{
7 | res.setEncoding('utf8');
8 |
9 | let body=''
10 |
11 | res.on('data',data=>{
12 | body+=data;
13 | });
14 |
15 | res.on('end',()=>{
16 |
17 | body=JSON.parse(body);
18 | console.log(` ${body[0].title}`);
19 |
20 | // fs.writeFile('data.json',body,'utf8',(err)=>{
21 |
22 | // if(err) return err;
23 |
24 | // console.log('just pulled all the posts and crested post');
25 | // });
26 | })
27 |
28 | });
--------------------------------------------------------------------------------
/node-learn/http-server-json.js:
--------------------------------------------------------------------------------
1 | const https=require('https');
2 | const fs=require('fs');
3 | const http=require('http');
4 |
5 | const url='https://jsonplaceholder.typicode.com/posts';
6 |
7 | http.createServer((req,serverReq)=>{
8 | if(req.method === 'GET' && req.url === '/posts'){
9 |
10 | https.get(url,(httpReq)=>{
11 |
12 | httpReq.on('data',data=>{
13 | httpReq.setEncoding('utf8');
14 | // console.log(data);
15 | serverReq.write(data);
16 | });
17 |
18 | httpReq.on('end',()=>{
19 | serverReq.end();
20 | console.log('its over');
21 | });
22 | });
23 | }
24 |
25 | }).listen(8888);
26 | console.log('server is running');
--------------------------------------------------------------------------------
/node-learn/websocket-client.js:
--------------------------------------------------------------------------------
1 | const WS = new WebSocket('ws://localhost:3232');
2 |
3 | WS.onmessage=(payload)=>{
4 | displayMessages(payload.data);
5 | };
6 |
7 | WS.onopen=()=>{
8 | displayTitle('Connected to server');
9 | };
10 |
11 | WS.onclose=()=>{
12 | displayTitle('Disconnected to server');
13 | };
14 |
15 | function displayTitle(title){
16 | document.querySelector('h1').innerHTML=title;
17 | }
18 |
19 | function displayMessages(message){
20 | let h1=document.createElement('h1');
21 | h1.innerText=message;
22 | document.querySelector('div.messages').appendChild(h1);
23 | }
24 |
25 | document.forms[0].onsubmit = ()=>{
26 | let input=document.getElementById('message');
27 | // console.log(input.value);
28 | WS.send(input.value);
29 | };
--------------------------------------------------------------------------------
/node-learn/http-form.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Form
9 |
10 |
11 |
12 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/node-learn/http-form-submit.js:
--------------------------------------------------------------------------------
1 | const http=require('http');
2 | const fs=require('fs');
3 |
4 | http.createServer((req,res)=>{
5 | let body='';
6 |
7 | if(req.method==='GET'){
8 | res.writeHead(200,{'Content-Type':'text/html'});
9 |
10 | fs.readFile('./http-form.html','UTF-8',(err,data)=>{
11 | if(err) throw err;
12 | res.write(data);
13 | res.end();
14 | });
15 | }
16 | else if(req.method==='POST'){
17 | req.on('data',(data)=>{
18 | body+=data;
19 | });
20 |
21 | req.on('end',()=>{
22 | res.writeHead(200,{'content-Type':'text/html'});
23 | res.write(body,()=>{
24 | res.end();
25 | });
26 | });
27 |
28 | }
29 | else{
30 | res.writeHead(200,{'content-Type':'text/plain'});
31 | res.end('404 ,could not found page');
32 | }
33 |
34 | }).listen(8888);
35 |
36 | console.log('server is running');
--------------------------------------------------------------------------------
/mongodb/index.js:
--------------------------------------------------------------------------------
1 | const {MongoClient, ObjectId} = require('mongodb');
2 |
3 | MongoClient.connect('mongodb://localhost:27017', function (err, client) {
4 | if (err) throw err
5 |
6 | console.log('CONNECTED');
7 |
8 | const db = client.db('animals');
9 |
10 | // INSERTING DATA
11 |
12 | // db.collection('mammals').insertOne({
13 | // name:'horse'
14 | // }, (err,result)=>{
15 |
16 | // if (err) return console.log(err);
17 |
18 | // console.log('INSERTED');
19 |
20 | // });
21 |
22 |
23 | //FETCHING DATA
24 |
25 | // db.collection('mammals').find().toArray(function (err, result) {
26 | // if (err) throw err
27 |
28 | // console.log(result)
29 | // });
30 |
31 |
32 | //UPDATE DATA
33 |
34 | // db.collection('mammals').findOneAndUpdate(
35 | // {
36 | // _id: new ObjectId('5eaea8949c5a0e45591e8762')
37 | // },
38 | // { $set: {name:'fish'} }
39 |
40 | // ).then(result=>{
41 | // console.log(result);
42 | // }).catch(err=>{
43 | // console.log(err);
44 | // });
45 |
46 |
47 |
48 | // DELETE DATA
49 | // db.collection('mammals').findOneAndDelete({
50 | // _id: new ObjectId('5eaea8949c5a0e45591e8762')
51 | // }).then(result=>{
52 | // console.log(result);
53 | // });
54 |
55 |
56 |
57 |
58 | });
59 |
60 |
61 |
62 |
63 | // const mongoose = require('mongoose');
64 |
65 | // mongoose.connect('mongodb://localhost:27017/animals');
66 | // mongoose.connection
67 | // .once('open',()=>console.log('CONNECTED'))
68 | // .on('error',(err)=>{
69 | // console.log(`could not connect`,err);
70 | // });
--------------------------------------------------------------------------------
/login/app.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const app = express();
3 | const mongoose = require('mongoose');
4 | const bodyparser = require('body-parser');
5 | const User = require('./models/User');
6 | const bcrypt = require('bcryptjs');
7 |
8 | app.use(bodyparser.json());
9 | app.use(bodyparser.urlencoded({extended:true}));
10 |
11 | mongoose.Promise = global.Promise;
12 |
13 | mongoose.connect('mongodb://localhost:27017/login', { useNewUrlParser: true , useUnifiedTopology: true },()=>{
14 | console.log('CONNECTED');
15 | });
16 |
17 | app.get('/',(req,res)=>{
18 | res.send('ROOT');
19 | });
20 |
21 | app.post('/register',(req,res)=>{
22 | const newUser = new User();
23 | newUser.email = req.body.email;
24 | newUser.password = req.body.password;
25 |
26 | bcrypt.genSalt(10,(err,salt)=>{
27 |
28 | bcrypt.hash(newUser.password,salt,(err,hash)=>{
29 |
30 | if(err) return err;
31 |
32 | newUser.password = hash;
33 |
34 | newUser.save().then(savedUser=>{
35 | res.send('USER SAVED');
36 | }).catch(err=>{
37 | res.status(404).send(`user not save because ...${err}`);
38 | });
39 | });
40 | });
41 | });
42 |
43 |
44 | app.post('/login',(req,res)=>{
45 | User.findOne({email: req.body.email}).then(user=>{
46 | if(user){
47 | bcrypt.compare(req.body.password,user.password,(err,matched)=>{
48 | if(err) return err;
49 |
50 | if(matched){
51 | res.send('USER WAS ABLE TO LOGIN');
52 | }else{
53 | res.send('USER WAS NOT ABLE TO LOGIN');
54 | }
55 | });
56 | }
57 | });
58 | });
59 |
60 | app.listen(4111,()=>{
61 | console.log('listening the port 4111');
62 | });
--------------------------------------------------------------------------------
/mongoose/index.js:
--------------------------------------------------------------------------------
1 | const mongoose = require('mongoose');
2 | const User = require('./models/User2');
3 | const express = require('express');
4 | const app = express();
5 | const bodyParser = require('body-parser');
6 |
7 | app.use(bodyParser.json());
8 | app.use(bodyParser.urlencoded({extended:true}));
9 |
10 | mongoose.Promise = global.Promise;
11 |
12 | mongoose.connect('mongodb://localhost:27017/animals-2');
13 | mongoose.connection
14 | .once('open',()=>console.log('CONNECTED'))
15 | .on('error',(err)=>{
16 | console.log(`could not connect`,err);
17 | });
18 |
19 |
20 |
21 | app.get('/',(req,res)=>{
22 | res.send('ROOT');
23 | });
24 |
25 |
26 |
27 | app.post('/users',(req,res)=>{
28 |
29 | const newUser = new User({
30 |
31 | firstName: req.body.firstName,
32 | lastName: req.body.lastName,
33 | isActive: req.body.isActive
34 | });
35 |
36 | newUser.save().then(savedUser=>{
37 | res.send('USER SAVED');
38 | }).catch(err=>{
39 | res.status(404).send(`user not save because ...${err}`);
40 | });
41 |
42 | });
43 |
44 | app.get('/users',(req,res)=>{
45 | User.find({}).then(users=>{
46 | res.send(users);
47 | });
48 | });
49 |
50 | app.patch('/users/:id',(req,res)=>{
51 | const id =req.params.id;
52 | const firstName = req.body.firstName;
53 |
54 | User.findByIdAndUpdate(id, {$set: {firstName:firstName}}, {new:true})
55 | .then(savedUser=>{
56 | res.send('USER SAVED BY PATCH AGAIN');
57 | });
58 | });
59 |
60 | app.put('/users/:id',(req,res)=>{
61 | const id =req.params.id;
62 | const firstName = req.body.firstName;
63 | const lastName = req.body.lastName;
64 |
65 | User.findByIdAndUpdate(id, {$set: {firstName:firstName,lastName:lastName}}, {new:true})
66 | .then(savedUser=>{
67 | res.send('USER SAVED BY PUT AGAIN');
68 | });
69 | });
70 |
71 | // app.delete('/users/:id',(req,res)=>{
72 | // User.findOne({_id:req.params.id}).then(user=>{
73 | // user.remove().then(userRemoved=>{
74 | // res.send('user remove'+userRemoved);
75 | // });
76 | // });
77 | // });
78 |
79 | app.delete('/users/:id',(req,res)=>{
80 | User.findByIdAndRemove({_id:req.params.id}).then(userRemoved=>{
81 | res.send(`user ${userRemoved.firstName} removed`);
82 | });
83 | });
84 |
85 |
86 | const port = 4444 || process.env.PORT;
87 |
88 | app.listen(port,()=>{
89 | console.log(`listening on ${port}`);
90 | });
--------------------------------------------------------------------------------
/mongodb/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mongodb-learn",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "bl": {
8 | "version": "2.2.1",
9 | "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
10 | "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
11 | "requires": {
12 | "readable-stream": "^2.3.5",
13 | "safe-buffer": "^5.1.1"
14 | }
15 | },
16 | "bluebird": {
17 | "version": "3.5.1",
18 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
19 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
20 | },
21 | "bson": {
22 | "version": "1.1.4",
23 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.4.tgz",
24 | "integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q=="
25 | },
26 | "core-util-is": {
27 | "version": "1.0.2",
28 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
29 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
30 | },
31 | "debug": {
32 | "version": "3.1.0",
33 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
34 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
35 | "requires": {
36 | "ms": "2.0.0"
37 | },
38 | "dependencies": {
39 | "ms": {
40 | "version": "2.0.0",
41 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
42 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
43 | }
44 | }
45 | },
46 | "denque": {
47 | "version": "1.4.1",
48 | "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
49 | "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
50 | },
51 | "inherits": {
52 | "version": "2.0.4",
53 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
54 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
55 | },
56 | "isarray": {
57 | "version": "1.0.0",
58 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
59 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
60 | },
61 | "kareem": {
62 | "version": "2.3.1",
63 | "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz",
64 | "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw=="
65 | },
66 | "memory-pager": {
67 | "version": "1.5.0",
68 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
69 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
70 | "optional": true
71 | },
72 | "mongodb": {
73 | "version": "3.5.7",
74 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.7.tgz",
75 | "integrity": "sha512-lMtleRT+vIgY/JhhTn1nyGwnSMmJkJELp+4ZbrjctrnBxuLbj6rmLuJFz8W2xUzUqWmqoyVxJLYuC58ZKpcTYQ==",
76 | "requires": {
77 | "bl": "^2.2.0",
78 | "bson": "^1.1.4",
79 | "denque": "^1.4.1",
80 | "require_optional": "^1.0.1",
81 | "safe-buffer": "^5.1.2",
82 | "saslprep": "^1.0.0"
83 | }
84 | },
85 | "mongoose": {
86 | "version": "5.9.11",
87 | "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.11.tgz",
88 | "integrity": "sha512-xsPquUEBfJQ/ufT7SI4+qWHml1+HTNra5jQS0RsgCXIMMltCWxn3jeugLiPbyFkKZokMZ+tPy5yEDtLZu5gHeg==",
89 | "requires": {
90 | "bson": "^1.1.4",
91 | "kareem": "2.3.1",
92 | "mongodb": "3.5.7",
93 | "mongoose-legacy-pluralize": "1.0.2",
94 | "mpath": "0.7.0",
95 | "mquery": "3.2.2",
96 | "ms": "2.1.2",
97 | "regexp-clone": "1.0.0",
98 | "safe-buffer": "5.1.2",
99 | "sift": "7.0.1",
100 | "sliced": "1.0.1"
101 | },
102 | "dependencies": {
103 | "safe-buffer": {
104 | "version": "5.1.2",
105 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
106 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
107 | }
108 | }
109 | },
110 | "mongoose-legacy-pluralize": {
111 | "version": "1.0.2",
112 | "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
113 | "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
114 | },
115 | "mpath": {
116 | "version": "0.7.0",
117 | "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.7.0.tgz",
118 | "integrity": "sha512-Aiq04hILxhz1L+f7sjGyn7IxYzWm1zLNNXcfhDtx04kZ2Gk7uvFdgZ8ts1cWa/6d0TQmag2yR8zSGZUmp0tFNg=="
119 | },
120 | "mquery": {
121 | "version": "3.2.2",
122 | "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz",
123 | "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==",
124 | "requires": {
125 | "bluebird": "3.5.1",
126 | "debug": "3.1.0",
127 | "regexp-clone": "^1.0.0",
128 | "safe-buffer": "5.1.2",
129 | "sliced": "1.0.1"
130 | },
131 | "dependencies": {
132 | "safe-buffer": {
133 | "version": "5.1.2",
134 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
135 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
136 | }
137 | }
138 | },
139 | "ms": {
140 | "version": "2.1.2",
141 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
142 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
143 | },
144 | "process-nextick-args": {
145 | "version": "2.0.1",
146 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
147 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
148 | },
149 | "readable-stream": {
150 | "version": "2.3.7",
151 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
152 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
153 | "requires": {
154 | "core-util-is": "~1.0.0",
155 | "inherits": "~2.0.3",
156 | "isarray": "~1.0.0",
157 | "process-nextick-args": "~2.0.0",
158 | "safe-buffer": "~5.1.1",
159 | "string_decoder": "~1.1.1",
160 | "util-deprecate": "~1.0.1"
161 | },
162 | "dependencies": {
163 | "safe-buffer": {
164 | "version": "5.1.2",
165 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
166 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
167 | }
168 | }
169 | },
170 | "regexp-clone": {
171 | "version": "1.0.0",
172 | "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
173 | "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
174 | },
175 | "require_optional": {
176 | "version": "1.0.1",
177 | "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
178 | "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
179 | "requires": {
180 | "resolve-from": "^2.0.0",
181 | "semver": "^5.1.0"
182 | }
183 | },
184 | "resolve-from": {
185 | "version": "2.0.0",
186 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
187 | "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
188 | },
189 | "safe-buffer": {
190 | "version": "5.2.0",
191 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
192 | "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
193 | },
194 | "saslprep": {
195 | "version": "1.0.3",
196 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
197 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
198 | "optional": true,
199 | "requires": {
200 | "sparse-bitfield": "^3.0.3"
201 | }
202 | },
203 | "semver": {
204 | "version": "5.7.1",
205 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
206 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
207 | },
208 | "sift": {
209 | "version": "7.0.1",
210 | "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz",
211 | "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g=="
212 | },
213 | "sliced": {
214 | "version": "1.0.1",
215 | "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
216 | "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
217 | },
218 | "sparse-bitfield": {
219 | "version": "3.0.3",
220 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
221 | "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
222 | "optional": true,
223 | "requires": {
224 | "memory-pager": "^1.0.2"
225 | }
226 | },
227 | "string_decoder": {
228 | "version": "1.1.1",
229 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
230 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
231 | "requires": {
232 | "safe-buffer": "~5.1.0"
233 | },
234 | "dependencies": {
235 | "safe-buffer": {
236 | "version": "5.1.2",
237 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
238 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
239 | }
240 | }
241 | },
242 | "util-deprecate": {
243 | "version": "1.0.2",
244 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
245 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
246 | }
247 | }
248 | }
249 |
--------------------------------------------------------------------------------
/login/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "login",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "accepts": {
8 | "version": "1.3.7",
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
10 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
11 | "requires": {
12 | "mime-types": "~2.1.24",
13 | "negotiator": "0.6.2"
14 | }
15 | },
16 | "array-flatten": {
17 | "version": "1.1.1",
18 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
19 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
20 | },
21 | "bcryptjs": {
22 | "version": "2.4.3",
23 | "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
24 | "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms="
25 | },
26 | "bl": {
27 | "version": "2.2.1",
28 | "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
29 | "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
30 | "requires": {
31 | "readable-stream": "^2.3.5",
32 | "safe-buffer": "^5.1.1"
33 | }
34 | },
35 | "bluebird": {
36 | "version": "3.5.1",
37 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
38 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
39 | },
40 | "body-parser": {
41 | "version": "1.19.0",
42 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
43 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
44 | "requires": {
45 | "bytes": "3.1.0",
46 | "content-type": "~1.0.4",
47 | "debug": "2.6.9",
48 | "depd": "~1.1.2",
49 | "http-errors": "1.7.2",
50 | "iconv-lite": "0.4.24",
51 | "on-finished": "~2.3.0",
52 | "qs": "6.7.0",
53 | "raw-body": "2.4.0",
54 | "type-is": "~1.6.17"
55 | }
56 | },
57 | "bson": {
58 | "version": "1.1.4",
59 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.4.tgz",
60 | "integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q=="
61 | },
62 | "bytes": {
63 | "version": "3.1.0",
64 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
65 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
66 | },
67 | "content-disposition": {
68 | "version": "0.5.3",
69 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
70 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
71 | "requires": {
72 | "safe-buffer": "5.1.2"
73 | }
74 | },
75 | "content-type": {
76 | "version": "1.0.4",
77 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
78 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
79 | },
80 | "cookie": {
81 | "version": "0.4.0",
82 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
83 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
84 | },
85 | "cookie-signature": {
86 | "version": "1.0.6",
87 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
88 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
89 | },
90 | "core-util-is": {
91 | "version": "1.0.2",
92 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
93 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
94 | },
95 | "debug": {
96 | "version": "2.6.9",
97 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
98 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
99 | "requires": {
100 | "ms": "2.0.0"
101 | }
102 | },
103 | "denque": {
104 | "version": "1.4.1",
105 | "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
106 | "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
107 | },
108 | "depd": {
109 | "version": "1.1.2",
110 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
111 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
112 | },
113 | "destroy": {
114 | "version": "1.0.4",
115 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
116 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
117 | },
118 | "ee-first": {
119 | "version": "1.1.1",
120 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
121 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
122 | },
123 | "encodeurl": {
124 | "version": "1.0.2",
125 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
126 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
127 | },
128 | "escape-html": {
129 | "version": "1.0.3",
130 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
131 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
132 | },
133 | "etag": {
134 | "version": "1.8.1",
135 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
136 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
137 | },
138 | "express": {
139 | "version": "4.17.1",
140 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
141 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
142 | "requires": {
143 | "accepts": "~1.3.7",
144 | "array-flatten": "1.1.1",
145 | "body-parser": "1.19.0",
146 | "content-disposition": "0.5.3",
147 | "content-type": "~1.0.4",
148 | "cookie": "0.4.0",
149 | "cookie-signature": "1.0.6",
150 | "debug": "2.6.9",
151 | "depd": "~1.1.2",
152 | "encodeurl": "~1.0.2",
153 | "escape-html": "~1.0.3",
154 | "etag": "~1.8.1",
155 | "finalhandler": "~1.1.2",
156 | "fresh": "0.5.2",
157 | "merge-descriptors": "1.0.1",
158 | "methods": "~1.1.2",
159 | "on-finished": "~2.3.0",
160 | "parseurl": "~1.3.3",
161 | "path-to-regexp": "0.1.7",
162 | "proxy-addr": "~2.0.5",
163 | "qs": "6.7.0",
164 | "range-parser": "~1.2.1",
165 | "safe-buffer": "5.1.2",
166 | "send": "0.17.1",
167 | "serve-static": "1.14.1",
168 | "setprototypeof": "1.1.1",
169 | "statuses": "~1.5.0",
170 | "type-is": "~1.6.18",
171 | "utils-merge": "1.0.1",
172 | "vary": "~1.1.2"
173 | }
174 | },
175 | "finalhandler": {
176 | "version": "1.1.2",
177 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
178 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
179 | "requires": {
180 | "debug": "2.6.9",
181 | "encodeurl": "~1.0.2",
182 | "escape-html": "~1.0.3",
183 | "on-finished": "~2.3.0",
184 | "parseurl": "~1.3.3",
185 | "statuses": "~1.5.0",
186 | "unpipe": "~1.0.0"
187 | }
188 | },
189 | "forwarded": {
190 | "version": "0.1.2",
191 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
192 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
193 | },
194 | "fresh": {
195 | "version": "0.5.2",
196 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
197 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
198 | },
199 | "http-errors": {
200 | "version": "1.7.2",
201 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
202 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
203 | "requires": {
204 | "depd": "~1.1.2",
205 | "inherits": "2.0.3",
206 | "setprototypeof": "1.1.1",
207 | "statuses": ">= 1.5.0 < 2",
208 | "toidentifier": "1.0.0"
209 | }
210 | },
211 | "iconv-lite": {
212 | "version": "0.4.24",
213 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
214 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
215 | "requires": {
216 | "safer-buffer": ">= 2.1.2 < 3"
217 | }
218 | },
219 | "inherits": {
220 | "version": "2.0.3",
221 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
222 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
223 | },
224 | "ipaddr.js": {
225 | "version": "1.9.1",
226 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
227 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
228 | },
229 | "isarray": {
230 | "version": "1.0.0",
231 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
232 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
233 | },
234 | "kareem": {
235 | "version": "2.3.1",
236 | "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz",
237 | "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw=="
238 | },
239 | "media-typer": {
240 | "version": "0.3.0",
241 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
242 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
243 | },
244 | "memory-pager": {
245 | "version": "1.5.0",
246 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
247 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
248 | "optional": true
249 | },
250 | "merge-descriptors": {
251 | "version": "1.0.1",
252 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
253 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
254 | },
255 | "methods": {
256 | "version": "1.1.2",
257 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
258 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
259 | },
260 | "mime": {
261 | "version": "1.6.0",
262 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
263 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
264 | },
265 | "mime-db": {
266 | "version": "1.44.0",
267 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
268 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
269 | },
270 | "mime-types": {
271 | "version": "2.1.27",
272 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
273 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
274 | "requires": {
275 | "mime-db": "1.44.0"
276 | }
277 | },
278 | "mongodb": {
279 | "version": "3.5.7",
280 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.7.tgz",
281 | "integrity": "sha512-lMtleRT+vIgY/JhhTn1nyGwnSMmJkJELp+4ZbrjctrnBxuLbj6rmLuJFz8W2xUzUqWmqoyVxJLYuC58ZKpcTYQ==",
282 | "requires": {
283 | "bl": "^2.2.0",
284 | "bson": "^1.1.4",
285 | "denque": "^1.4.1",
286 | "require_optional": "^1.0.1",
287 | "safe-buffer": "^5.1.2",
288 | "saslprep": "^1.0.0"
289 | }
290 | },
291 | "mongoose": {
292 | "version": "5.9.11",
293 | "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.11.tgz",
294 | "integrity": "sha512-xsPquUEBfJQ/ufT7SI4+qWHml1+HTNra5jQS0RsgCXIMMltCWxn3jeugLiPbyFkKZokMZ+tPy5yEDtLZu5gHeg==",
295 | "requires": {
296 | "bson": "^1.1.4",
297 | "kareem": "2.3.1",
298 | "mongodb": "3.5.7",
299 | "mongoose-legacy-pluralize": "1.0.2",
300 | "mpath": "0.7.0",
301 | "mquery": "3.2.2",
302 | "ms": "2.1.2",
303 | "regexp-clone": "1.0.0",
304 | "safe-buffer": "5.1.2",
305 | "sift": "7.0.1",
306 | "sliced": "1.0.1"
307 | },
308 | "dependencies": {
309 | "ms": {
310 | "version": "2.1.2",
311 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
312 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
313 | }
314 | }
315 | },
316 | "mongoose-legacy-pluralize": {
317 | "version": "1.0.2",
318 | "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
319 | "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
320 | },
321 | "mpath": {
322 | "version": "0.7.0",
323 | "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.7.0.tgz",
324 | "integrity": "sha512-Aiq04hILxhz1L+f7sjGyn7IxYzWm1zLNNXcfhDtx04kZ2Gk7uvFdgZ8ts1cWa/6d0TQmag2yR8zSGZUmp0tFNg=="
325 | },
326 | "mquery": {
327 | "version": "3.2.2",
328 | "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz",
329 | "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==",
330 | "requires": {
331 | "bluebird": "3.5.1",
332 | "debug": "3.1.0",
333 | "regexp-clone": "^1.0.0",
334 | "safe-buffer": "5.1.2",
335 | "sliced": "1.0.1"
336 | },
337 | "dependencies": {
338 | "debug": {
339 | "version": "3.1.0",
340 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
341 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
342 | "requires": {
343 | "ms": "2.0.0"
344 | }
345 | }
346 | }
347 | },
348 | "ms": {
349 | "version": "2.0.0",
350 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
351 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
352 | },
353 | "negotiator": {
354 | "version": "0.6.2",
355 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
356 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
357 | },
358 | "on-finished": {
359 | "version": "2.3.0",
360 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
361 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
362 | "requires": {
363 | "ee-first": "1.1.1"
364 | }
365 | },
366 | "parseurl": {
367 | "version": "1.3.3",
368 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
369 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
370 | },
371 | "path-to-regexp": {
372 | "version": "0.1.7",
373 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
374 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
375 | },
376 | "process-nextick-args": {
377 | "version": "2.0.1",
378 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
379 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
380 | },
381 | "proxy-addr": {
382 | "version": "2.0.6",
383 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
384 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
385 | "requires": {
386 | "forwarded": "~0.1.2",
387 | "ipaddr.js": "1.9.1"
388 | }
389 | },
390 | "qs": {
391 | "version": "6.7.0",
392 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
393 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
394 | },
395 | "range-parser": {
396 | "version": "1.2.1",
397 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
398 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
399 | },
400 | "raw-body": {
401 | "version": "2.4.0",
402 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
403 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
404 | "requires": {
405 | "bytes": "3.1.0",
406 | "http-errors": "1.7.2",
407 | "iconv-lite": "0.4.24",
408 | "unpipe": "1.0.0"
409 | }
410 | },
411 | "readable-stream": {
412 | "version": "2.3.7",
413 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
414 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
415 | "requires": {
416 | "core-util-is": "~1.0.0",
417 | "inherits": "~2.0.3",
418 | "isarray": "~1.0.0",
419 | "process-nextick-args": "~2.0.0",
420 | "safe-buffer": "~5.1.1",
421 | "string_decoder": "~1.1.1",
422 | "util-deprecate": "~1.0.1"
423 | }
424 | },
425 | "regexp-clone": {
426 | "version": "1.0.0",
427 | "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
428 | "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
429 | },
430 | "require_optional": {
431 | "version": "1.0.1",
432 | "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
433 | "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
434 | "requires": {
435 | "resolve-from": "^2.0.0",
436 | "semver": "^5.1.0"
437 | }
438 | },
439 | "resolve-from": {
440 | "version": "2.0.0",
441 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
442 | "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
443 | },
444 | "safe-buffer": {
445 | "version": "5.1.2",
446 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
447 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
448 | },
449 | "safer-buffer": {
450 | "version": "2.1.2",
451 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
452 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
453 | },
454 | "saslprep": {
455 | "version": "1.0.3",
456 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
457 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
458 | "optional": true,
459 | "requires": {
460 | "sparse-bitfield": "^3.0.3"
461 | }
462 | },
463 | "semver": {
464 | "version": "5.7.1",
465 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
466 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
467 | },
468 | "send": {
469 | "version": "0.17.1",
470 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
471 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
472 | "requires": {
473 | "debug": "2.6.9",
474 | "depd": "~1.1.2",
475 | "destroy": "~1.0.4",
476 | "encodeurl": "~1.0.2",
477 | "escape-html": "~1.0.3",
478 | "etag": "~1.8.1",
479 | "fresh": "0.5.2",
480 | "http-errors": "~1.7.2",
481 | "mime": "1.6.0",
482 | "ms": "2.1.1",
483 | "on-finished": "~2.3.0",
484 | "range-parser": "~1.2.1",
485 | "statuses": "~1.5.0"
486 | },
487 | "dependencies": {
488 | "ms": {
489 | "version": "2.1.1",
490 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
491 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
492 | }
493 | }
494 | },
495 | "serve-static": {
496 | "version": "1.14.1",
497 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
498 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
499 | "requires": {
500 | "encodeurl": "~1.0.2",
501 | "escape-html": "~1.0.3",
502 | "parseurl": "~1.3.3",
503 | "send": "0.17.1"
504 | }
505 | },
506 | "setprototypeof": {
507 | "version": "1.1.1",
508 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
509 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
510 | },
511 | "sift": {
512 | "version": "7.0.1",
513 | "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz",
514 | "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g=="
515 | },
516 | "sliced": {
517 | "version": "1.0.1",
518 | "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
519 | "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
520 | },
521 | "sparse-bitfield": {
522 | "version": "3.0.3",
523 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
524 | "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
525 | "optional": true,
526 | "requires": {
527 | "memory-pager": "^1.0.2"
528 | }
529 | },
530 | "statuses": {
531 | "version": "1.5.0",
532 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
533 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
534 | },
535 | "string_decoder": {
536 | "version": "1.1.1",
537 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
538 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
539 | "requires": {
540 | "safe-buffer": "~5.1.0"
541 | }
542 | },
543 | "toidentifier": {
544 | "version": "1.0.0",
545 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
546 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
547 | },
548 | "type-is": {
549 | "version": "1.6.18",
550 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
551 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
552 | "requires": {
553 | "media-typer": "0.3.0",
554 | "mime-types": "~2.1.24"
555 | }
556 | },
557 | "unpipe": {
558 | "version": "1.0.0",
559 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
560 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
561 | },
562 | "util-deprecate": {
563 | "version": "1.0.2",
564 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
565 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
566 | },
567 | "utils-merge": {
568 | "version": "1.0.1",
569 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
570 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
571 | },
572 | "vary": {
573 | "version": "1.1.2",
574 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
575 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
576 | }
577 | }
578 | }
579 |
--------------------------------------------------------------------------------
/mongoose/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mongoose-learn",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "accepts": {
8 | "version": "1.3.7",
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
10 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
11 | "requires": {
12 | "mime-types": "~2.1.24",
13 | "negotiator": "0.6.2"
14 | }
15 | },
16 | "array-flatten": {
17 | "version": "1.1.1",
18 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
19 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
20 | },
21 | "bl": {
22 | "version": "2.2.1",
23 | "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
24 | "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
25 | "requires": {
26 | "readable-stream": "^2.3.5",
27 | "safe-buffer": "^5.1.1"
28 | }
29 | },
30 | "bluebird": {
31 | "version": "3.5.1",
32 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
33 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
34 | },
35 | "body-parser": {
36 | "version": "1.19.0",
37 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
38 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
39 | "requires": {
40 | "bytes": "3.1.0",
41 | "content-type": "~1.0.4",
42 | "debug": "2.6.9",
43 | "depd": "~1.1.2",
44 | "http-errors": "1.7.2",
45 | "iconv-lite": "0.4.24",
46 | "on-finished": "~2.3.0",
47 | "qs": "6.7.0",
48 | "raw-body": "2.4.0",
49 | "type-is": "~1.6.17"
50 | },
51 | "dependencies": {
52 | "debug": {
53 | "version": "2.6.9",
54 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
55 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
56 | "requires": {
57 | "ms": "2.0.0"
58 | }
59 | },
60 | "ms": {
61 | "version": "2.0.0",
62 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
63 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
64 | }
65 | }
66 | },
67 | "bson": {
68 | "version": "1.1.4",
69 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.4.tgz",
70 | "integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q=="
71 | },
72 | "bytes": {
73 | "version": "3.1.0",
74 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
75 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
76 | },
77 | "content-disposition": {
78 | "version": "0.5.3",
79 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
80 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
81 | "requires": {
82 | "safe-buffer": "5.1.2"
83 | },
84 | "dependencies": {
85 | "safe-buffer": {
86 | "version": "5.1.2",
87 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
88 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
89 | }
90 | }
91 | },
92 | "content-type": {
93 | "version": "1.0.4",
94 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
95 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
96 | },
97 | "cookie": {
98 | "version": "0.4.0",
99 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
100 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
101 | },
102 | "cookie-signature": {
103 | "version": "1.0.6",
104 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
105 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
106 | },
107 | "core-util-is": {
108 | "version": "1.0.2",
109 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
110 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
111 | },
112 | "debug": {
113 | "version": "3.1.0",
114 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
115 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
116 | "requires": {
117 | "ms": "2.0.0"
118 | },
119 | "dependencies": {
120 | "ms": {
121 | "version": "2.0.0",
122 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
123 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
124 | }
125 | }
126 | },
127 | "denque": {
128 | "version": "1.4.1",
129 | "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
130 | "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
131 | },
132 | "depd": {
133 | "version": "1.1.2",
134 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
135 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
136 | },
137 | "destroy": {
138 | "version": "1.0.4",
139 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
140 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
141 | },
142 | "ee-first": {
143 | "version": "1.1.1",
144 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
145 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
146 | },
147 | "encodeurl": {
148 | "version": "1.0.2",
149 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
150 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
151 | },
152 | "escape-html": {
153 | "version": "1.0.3",
154 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
155 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
156 | },
157 | "etag": {
158 | "version": "1.8.1",
159 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
160 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
161 | },
162 | "express": {
163 | "version": "4.17.1",
164 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
165 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
166 | "requires": {
167 | "accepts": "~1.3.7",
168 | "array-flatten": "1.1.1",
169 | "body-parser": "1.19.0",
170 | "content-disposition": "0.5.3",
171 | "content-type": "~1.0.4",
172 | "cookie": "0.4.0",
173 | "cookie-signature": "1.0.6",
174 | "debug": "2.6.9",
175 | "depd": "~1.1.2",
176 | "encodeurl": "~1.0.2",
177 | "escape-html": "~1.0.3",
178 | "etag": "~1.8.1",
179 | "finalhandler": "~1.1.2",
180 | "fresh": "0.5.2",
181 | "merge-descriptors": "1.0.1",
182 | "methods": "~1.1.2",
183 | "on-finished": "~2.3.0",
184 | "parseurl": "~1.3.3",
185 | "path-to-regexp": "0.1.7",
186 | "proxy-addr": "~2.0.5",
187 | "qs": "6.7.0",
188 | "range-parser": "~1.2.1",
189 | "safe-buffer": "5.1.2",
190 | "send": "0.17.1",
191 | "serve-static": "1.14.1",
192 | "setprototypeof": "1.1.1",
193 | "statuses": "~1.5.0",
194 | "type-is": "~1.6.18",
195 | "utils-merge": "1.0.1",
196 | "vary": "~1.1.2"
197 | },
198 | "dependencies": {
199 | "debug": {
200 | "version": "2.6.9",
201 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
202 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
203 | "requires": {
204 | "ms": "2.0.0"
205 | }
206 | },
207 | "ms": {
208 | "version": "2.0.0",
209 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
210 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
211 | },
212 | "safe-buffer": {
213 | "version": "5.1.2",
214 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
215 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
216 | }
217 | }
218 | },
219 | "finalhandler": {
220 | "version": "1.1.2",
221 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
222 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
223 | "requires": {
224 | "debug": "2.6.9",
225 | "encodeurl": "~1.0.2",
226 | "escape-html": "~1.0.3",
227 | "on-finished": "~2.3.0",
228 | "parseurl": "~1.3.3",
229 | "statuses": "~1.5.0",
230 | "unpipe": "~1.0.0"
231 | },
232 | "dependencies": {
233 | "debug": {
234 | "version": "2.6.9",
235 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
236 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
237 | "requires": {
238 | "ms": "2.0.0"
239 | }
240 | },
241 | "ms": {
242 | "version": "2.0.0",
243 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
244 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
245 | }
246 | }
247 | },
248 | "forwarded": {
249 | "version": "0.1.2",
250 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
251 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
252 | },
253 | "fresh": {
254 | "version": "0.5.2",
255 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
256 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
257 | },
258 | "http-errors": {
259 | "version": "1.7.2",
260 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
261 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
262 | "requires": {
263 | "depd": "~1.1.2",
264 | "inherits": "2.0.3",
265 | "setprototypeof": "1.1.1",
266 | "statuses": ">= 1.5.0 < 2",
267 | "toidentifier": "1.0.0"
268 | },
269 | "dependencies": {
270 | "inherits": {
271 | "version": "2.0.3",
272 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
273 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
274 | }
275 | }
276 | },
277 | "iconv-lite": {
278 | "version": "0.4.24",
279 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
280 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
281 | "requires": {
282 | "safer-buffer": ">= 2.1.2 < 3"
283 | }
284 | },
285 | "inherits": {
286 | "version": "2.0.4",
287 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
288 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
289 | },
290 | "ipaddr.js": {
291 | "version": "1.9.1",
292 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
293 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
294 | },
295 | "isarray": {
296 | "version": "1.0.0",
297 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
298 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
299 | },
300 | "kareem": {
301 | "version": "2.3.1",
302 | "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz",
303 | "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw=="
304 | },
305 | "media-typer": {
306 | "version": "0.3.0",
307 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
308 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
309 | },
310 | "memory-pager": {
311 | "version": "1.5.0",
312 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
313 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
314 | "optional": true
315 | },
316 | "merge-descriptors": {
317 | "version": "1.0.1",
318 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
319 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
320 | },
321 | "methods": {
322 | "version": "1.1.2",
323 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
324 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
325 | },
326 | "mime": {
327 | "version": "1.6.0",
328 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
329 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
330 | },
331 | "mime-db": {
332 | "version": "1.44.0",
333 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
334 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
335 | },
336 | "mime-types": {
337 | "version": "2.1.27",
338 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
339 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
340 | "requires": {
341 | "mime-db": "1.44.0"
342 | }
343 | },
344 | "mongodb": {
345 | "version": "3.5.7",
346 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.7.tgz",
347 | "integrity": "sha512-lMtleRT+vIgY/JhhTn1nyGwnSMmJkJELp+4ZbrjctrnBxuLbj6rmLuJFz8W2xUzUqWmqoyVxJLYuC58ZKpcTYQ==",
348 | "requires": {
349 | "bl": "^2.2.0",
350 | "bson": "^1.1.4",
351 | "denque": "^1.4.1",
352 | "require_optional": "^1.0.1",
353 | "safe-buffer": "^5.1.2",
354 | "saslprep": "^1.0.0"
355 | }
356 | },
357 | "mongoose": {
358 | "version": "5.9.11",
359 | "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.11.tgz",
360 | "integrity": "sha512-xsPquUEBfJQ/ufT7SI4+qWHml1+HTNra5jQS0RsgCXIMMltCWxn3jeugLiPbyFkKZokMZ+tPy5yEDtLZu5gHeg==",
361 | "requires": {
362 | "bson": "^1.1.4",
363 | "kareem": "2.3.1",
364 | "mongodb": "3.5.7",
365 | "mongoose-legacy-pluralize": "1.0.2",
366 | "mpath": "0.7.0",
367 | "mquery": "3.2.2",
368 | "ms": "2.1.2",
369 | "regexp-clone": "1.0.0",
370 | "safe-buffer": "5.1.2",
371 | "sift": "7.0.1",
372 | "sliced": "1.0.1"
373 | },
374 | "dependencies": {
375 | "safe-buffer": {
376 | "version": "5.1.2",
377 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
378 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
379 | }
380 | }
381 | },
382 | "mongoose-legacy-pluralize": {
383 | "version": "1.0.2",
384 | "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
385 | "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
386 | },
387 | "mpath": {
388 | "version": "0.7.0",
389 | "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.7.0.tgz",
390 | "integrity": "sha512-Aiq04hILxhz1L+f7sjGyn7IxYzWm1zLNNXcfhDtx04kZ2Gk7uvFdgZ8ts1cWa/6d0TQmag2yR8zSGZUmp0tFNg=="
391 | },
392 | "mquery": {
393 | "version": "3.2.2",
394 | "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz",
395 | "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==",
396 | "requires": {
397 | "bluebird": "3.5.1",
398 | "debug": "3.1.0",
399 | "regexp-clone": "^1.0.0",
400 | "safe-buffer": "5.1.2",
401 | "sliced": "1.0.1"
402 | },
403 | "dependencies": {
404 | "safe-buffer": {
405 | "version": "5.1.2",
406 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
407 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
408 | }
409 | }
410 | },
411 | "ms": {
412 | "version": "2.1.2",
413 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
414 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
415 | },
416 | "negotiator": {
417 | "version": "0.6.2",
418 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
419 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
420 | },
421 | "on-finished": {
422 | "version": "2.3.0",
423 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
424 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
425 | "requires": {
426 | "ee-first": "1.1.1"
427 | }
428 | },
429 | "parseurl": {
430 | "version": "1.3.3",
431 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
432 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
433 | },
434 | "path-to-regexp": {
435 | "version": "0.1.7",
436 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
437 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
438 | },
439 | "process-nextick-args": {
440 | "version": "2.0.1",
441 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
442 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
443 | },
444 | "proxy-addr": {
445 | "version": "2.0.6",
446 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
447 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
448 | "requires": {
449 | "forwarded": "~0.1.2",
450 | "ipaddr.js": "1.9.1"
451 | }
452 | },
453 | "qs": {
454 | "version": "6.7.0",
455 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
456 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
457 | },
458 | "range-parser": {
459 | "version": "1.2.1",
460 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
461 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
462 | },
463 | "raw-body": {
464 | "version": "2.4.0",
465 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
466 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
467 | "requires": {
468 | "bytes": "3.1.0",
469 | "http-errors": "1.7.2",
470 | "iconv-lite": "0.4.24",
471 | "unpipe": "1.0.0"
472 | }
473 | },
474 | "readable-stream": {
475 | "version": "2.3.7",
476 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
477 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
478 | "requires": {
479 | "core-util-is": "~1.0.0",
480 | "inherits": "~2.0.3",
481 | "isarray": "~1.0.0",
482 | "process-nextick-args": "~2.0.0",
483 | "safe-buffer": "~5.1.1",
484 | "string_decoder": "~1.1.1",
485 | "util-deprecate": "~1.0.1"
486 | },
487 | "dependencies": {
488 | "safe-buffer": {
489 | "version": "5.1.2",
490 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
491 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
492 | }
493 | }
494 | },
495 | "regexp-clone": {
496 | "version": "1.0.0",
497 | "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
498 | "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
499 | },
500 | "require_optional": {
501 | "version": "1.0.1",
502 | "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
503 | "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
504 | "requires": {
505 | "resolve-from": "^2.0.0",
506 | "semver": "^5.1.0"
507 | }
508 | },
509 | "resolve-from": {
510 | "version": "2.0.0",
511 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
512 | "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
513 | },
514 | "safe-buffer": {
515 | "version": "5.2.0",
516 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
517 | "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
518 | },
519 | "safer-buffer": {
520 | "version": "2.1.2",
521 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
522 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
523 | },
524 | "saslprep": {
525 | "version": "1.0.3",
526 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
527 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
528 | "optional": true,
529 | "requires": {
530 | "sparse-bitfield": "^3.0.3"
531 | }
532 | },
533 | "semver": {
534 | "version": "5.7.1",
535 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
536 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
537 | },
538 | "send": {
539 | "version": "0.17.1",
540 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
541 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
542 | "requires": {
543 | "debug": "2.6.9",
544 | "depd": "~1.1.2",
545 | "destroy": "~1.0.4",
546 | "encodeurl": "~1.0.2",
547 | "escape-html": "~1.0.3",
548 | "etag": "~1.8.1",
549 | "fresh": "0.5.2",
550 | "http-errors": "~1.7.2",
551 | "mime": "1.6.0",
552 | "ms": "2.1.1",
553 | "on-finished": "~2.3.0",
554 | "range-parser": "~1.2.1",
555 | "statuses": "~1.5.0"
556 | },
557 | "dependencies": {
558 | "debug": {
559 | "version": "2.6.9",
560 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
561 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
562 | "requires": {
563 | "ms": "2.0.0"
564 | },
565 | "dependencies": {
566 | "ms": {
567 | "version": "2.0.0",
568 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
569 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
570 | }
571 | }
572 | },
573 | "ms": {
574 | "version": "2.1.1",
575 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
576 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
577 | }
578 | }
579 | },
580 | "serve-static": {
581 | "version": "1.14.1",
582 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
583 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
584 | "requires": {
585 | "encodeurl": "~1.0.2",
586 | "escape-html": "~1.0.3",
587 | "parseurl": "~1.3.3",
588 | "send": "0.17.1"
589 | }
590 | },
591 | "setprototypeof": {
592 | "version": "1.1.1",
593 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
594 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
595 | },
596 | "sift": {
597 | "version": "7.0.1",
598 | "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz",
599 | "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g=="
600 | },
601 | "sliced": {
602 | "version": "1.0.1",
603 | "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
604 | "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
605 | },
606 | "sparse-bitfield": {
607 | "version": "3.0.3",
608 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
609 | "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
610 | "optional": true,
611 | "requires": {
612 | "memory-pager": "^1.0.2"
613 | }
614 | },
615 | "statuses": {
616 | "version": "1.5.0",
617 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
618 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
619 | },
620 | "string_decoder": {
621 | "version": "1.1.1",
622 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
623 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
624 | "requires": {
625 | "safe-buffer": "~5.1.0"
626 | },
627 | "dependencies": {
628 | "safe-buffer": {
629 | "version": "5.1.2",
630 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
631 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
632 | }
633 | }
634 | },
635 | "toidentifier": {
636 | "version": "1.0.0",
637 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
638 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
639 | },
640 | "type-is": {
641 | "version": "1.6.18",
642 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
643 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
644 | "requires": {
645 | "media-typer": "0.3.0",
646 | "mime-types": "~2.1.24"
647 | }
648 | },
649 | "unpipe": {
650 | "version": "1.0.0",
651 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
652 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
653 | },
654 | "util-deprecate": {
655 | "version": "1.0.2",
656 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
657 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
658 | },
659 | "utils-merge": {
660 | "version": "1.0.1",
661 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
662 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
663 | },
664 | "vary": {
665 | "version": "1.1.2",
666 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
667 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
668 | }
669 | }
670 | }
671 |
--------------------------------------------------------------------------------