박민정

[fix] mongoDB error

Showing 964 changed files with 357 additions and 285 deletions
# We-Shop
쇼핑몰을 만들어보자 🛍
// express module을 가져옴
const express = require('express')
// 새로운 express app을 만듦
const app = express()
const port = 5000
<<<<<<< HEAD
// User.js 정보 가져옴 (회원가입 위해)
const { User } = require("./models/User")
// User.js에서 만든 model을 가져옴
const { User } = require('./models/User')
// body-parsor 가져옴 (clinet에서 오는 정보를 서버에서 분석해서 가져올 수 있음)
// body-parser 가져옴
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended: true})) // application/x-www-form-urlencoded 로 되어있는 데이터를 분석해서 가져올 수 있음
app.use(bodyParser.json()) // application/json 으로 되어있는 데이터를 분석해서 가져올 수 있음
// bodyParser option
app.use(bodyParser.urlencoded({extended: true})) //application/x-www-form-urlencoded로 된 데이터를 분석해서 가져옴
app.use(bodyParser.json()) // application/json 타입으로 된 데이터를 분석해서 가져옴
const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://mindyeoi:aaa111@boilerplate.djq4a.mongodb.net/myFirstDatabase?retryWrites=true&w=majority',
=======
const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://mindyeoi:20241004qw@boilerplate.djq4a.mongodb.net/myFirstDatabase?retryWrites=true&w=majority',
>>>>>>> 8d4c706f8fbe0f97a457ec2881c56d7c0d2862b9
{
mongoose.connect('mongodb+srv://mindyeoi:aaa111@boilerplate.djq4a.mongodb.net/myFirstDatabase?retryWrites=true&w=majority', {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log('MongoDB connected...'))
}).then(()=>console.log('MongoDB Connected...'))
.catch(err => console.log(err))
app.get('/', (req, res) => res.send('Hello World!'))
app.get('/', (req, res) => {
res.send('Hello World!')
})
<<<<<<< HEAD
// 회원가입 기능
// post 메소드를 이용, end point는 register
// 회원가입 구현
// route의 endpoint는 register
app.post('/register', (req, res) => {
// 회원가입할 때 필요한 정보들(User.js에 있는 것들)을 client에서 가져오면
// 회원가입할 때 필요한 정보들을 client에서 가져오면
// 그것들을 데이터베이스에 넣어준다.
const user = new User(req.body) // bodyparser가 있기 때문에 여기 User의 정보를 들어가게 할 수 있음
user.save((err, userInfo) => {// 정보들이 user모델에 저장
// 에러가 생기면
if(err) return res.json({success:false, err}) //클라이언트에 에러가 있다고 json 형식으로 전달
// 성공하면
return res.status(200).json({
success: true // json형식으로 success: true 전달
})
const user = new User(req.body) // req.body에 User의 정보를 저장
// mongoDB에서 오는 메서드. 정보들이 user model에 저장
user.save((err, userInfo) => {
// 만약 에러가 나면, json형식으로 success:false를 보내주고, 에러메시지를 보내줌
if(err) return res.json({success: false, err})
// 성공하면 status(200) (status(200)은 성공했다는 뜻)
return res.status(200).json({
success: true
})
})
})
=======
>>>>>>> 8d4c706f8fbe0f97a457ec2881c56d7c0d2862b9
app.listen(port, () =>
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
)
})
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz",
"_shasum": "30889d2ffde6262abbe38659364c631454999fbf",
"_spec": "@types/bson@*",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/@types/mongodb",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/@types/mongodb",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
},
......
......@@ -8,7 +8,7 @@ This package contains type definitions for MongoDB (https://github.com/mongodb/n
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongodb.
### Additional Details
* Last updated: Fri, 21 May 2021 16:31:21 GMT
* Last updated: Fri, 28 May 2021 20:31:25 GMT
* Dependencies: [@types/bson](https://npmjs.com/package/@types/bson), [@types/node](https://npmjs.com/package/@types/node)
* Global values: none
......
......@@ -3965,7 +3965,7 @@ export class Cursor<T = Default> extends Readable {
* @param value The flag boolean value.
* @see https://mongodb.github.io/node-mongodb-native/3.6/api/Cursor.html#addCursorFlag
*/
addCursorFlag(flag: string, value: boolean): Cursor<T>;
addCursorFlag(flag: 'tailable' | 'oplogReplay' | 'noCursorTimeout' | 'awaitData' | 'partial' | string, value: boolean): Cursor<T>;
/**
* Add a query modifier to the cursor query
*
......
{
"_from": "@types/mongodb@^3.5.27",
"_id": "@types/mongodb@3.6.16",
"_id": "@types/mongodb@3.6.17",
"_inBundle": false,
"_integrity": "sha512-D3tM0iRUet3TiIMAdvovxAIRG9gYqFd4j7visGwmPNdQj8Fq/uFFfRxyGCgEwVXAs0NnJPMI/QGVTADxDwhmSQ==",
"_integrity": "sha512-9hhgvYPdC5iHyyksPcKCu45gfaAIPQHKHGdvNXu4582DmOZX3wrUJIJPT40o4G1oTKPgpMMFqZglOTjhnYoF+A==",
"_location": "/@types/mongodb",
"_phantomChildren": {},
"_requested": {
......@@ -19,10 +19,10 @@
"_requiredBy": [
"/mongoose"
],
"_resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.16.tgz",
"_shasum": "7a48aaeb777f57e4655515ce18acbc68600dfeb9",
"_resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.17.tgz",
"_shasum": "a8893654989cb11e9a241858bc530060b6fd126d",
"_spec": "@types/mongodb@^3.5.27",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
},
......@@ -167,7 +167,7 @@
},
"deprecated": false,
"description": "TypeScript definitions for MongoDB",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongodb",
"license": "MIT",
"main": "",
"name": "@types/mongodb",
......@@ -177,8 +177,8 @@
"directory": "types/mongodb"
},
"scripts": {},
"typeScriptVersion": "3.5",
"typeScriptVersion": "3.6",
"types": "index.d.ts",
"typesPublisherContentHash": "987beaa8db7bae4ff936d766be502eabfd25c0af4567efb6e87ed8c49c9789d0",
"version": "3.6.16"
"typesPublisherContentHash": "b6066acdbd0337b91c210765f292fe009ae3f8418d91a14009f3a9de14c85775",
"version": "3.6.17"
}
......
......@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (http://nodejs.org/).
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
### Additional Details
* Last updated: Tue, 25 May 2021 00:01:37 GMT
* Last updated: Wed, 02 Jun 2021 07:31:33 GMT
* Dependencies: none
* Global values: `AbortController`, `AbortSignal`, `Buffer`, `__dirname`, `__filename`, `clearImmediate`, `clearInterval`, `clearTimeout`, `console`, `exports`, `global`, `module`, `process`, `queueMicrotask`, `require`, `setImmediate`, `setInterval`, `setTimeout`
......
{
"_from": "@types/node@*",
"_id": "@types/node@15.6.1",
"_id": "@types/node@15.6.2",
"_inBundle": false,
"_integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==",
"_integrity": "sha512-dxcOx8801kMo3KlU+C+/ctWrzREAH7YvoF3aoVpRdqgs+Kf7flp+PJDN/EX5bME3suDUZHsxes9hpvBmzYlWbA==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
......@@ -20,10 +20,10 @@
"/@types/bson",
"/@types/mongodb"
],
"_resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz",
"_shasum": "32d43390d5c62c5b6ec486a9bc9c59544de39a08",
"_resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.2.tgz",
"_shasum": "c61d49f38af70da32424b5322eee21f97e627175",
"_spec": "@types/node@*",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/@types/mongodb",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/@types/mongodb",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
},
......@@ -197,7 +197,7 @@
"dependencies": {},
"deprecated": false,
"description": "TypeScript definitions for Node.js",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
"license": "MIT",
"main": "",
"name": "@types/node",
......@@ -207,9 +207,9 @@
"directory": "types/node"
},
"scripts": {},
"typeScriptVersion": "3.5",
"typeScriptVersion": "3.6",
"types": "index.d.ts",
"typesPublisherContentHash": "f8f8a539a80cc272f918927a96e6cef5cc69df79ec257791f25651eb317ea354",
"typesPublisherContentHash": "f62422deccbd466260cb63740d207022259eb7fc7b6e7c406be463b9d1b0cd19",
"typesVersions": {
"<=3.6": {
"*": [
......@@ -217,5 +217,5 @@
]
}
},
"version": "15.6.1"
"version": "15.6.2"
}
......
......@@ -88,7 +88,10 @@ declare module 'perf_hooks' {
* @param util1 The result of a previous call to eventLoopUtilization()
* @param util2 The result of a previous call to eventLoopUtilization() prior to util1
*/
type EventLoopUtilityFunction = (util1?: EventLoopUtilization, util2?: EventLoopUtilization) => EventLoopUtilization;
type EventLoopUtilityFunction = (
util1?: EventLoopUtilization,
util2?: EventLoopUtilization,
) => EventLoopUtilization;
interface Performance {
/**
......@@ -122,7 +125,7 @@ declare module 'perf_hooks' {
* @param startMark
* @param endMark
*/
measure(name: string, startMark: string, endMark: string): void;
measure(name: string, startMark?: string, endMark?: string): void;
/**
* An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones.
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"_shasum": "531bc726517a3b2b41f850021c6cc15eaab507cd",
"_spec": "accepts@~1.3.7",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/jshttp/accepts/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"_shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2",
"_spec": "array-flatten@1.1.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Blake Embrey",
"email": "hello@blakeembrey.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
"_shasum": "8c11a7b730655c5d56898cdc871224f40fd901d5",
"_spec": "bl@^2.2.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongodb",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongodb",
"authors": [
"Rod Vagg <rod@vagg.org> (https://github.com/rvagg)",
"Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
"_shasum": "d9551f9de98f1fcda1e683d17ee91a0602ee2eb9",
"_spec": "bluebird@3.5.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mquery",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mquery",
"author": {
"name": "Petka Antonov",
"email": "petka_antonov@hotmail.com",
......
{
<<<<<<< HEAD
"_from": "body-parser",
=======
"_from": "body-parser@1.19.0",
>>>>>>> 8d4c706f8fbe0f97a457ec2881c56d7c0d2862b9
"_id": "body-parser@1.19.0",
"_inBundle": false,
"_integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"_location": "/body-parser",
"_phantomChildren": {},
"_requested": {
<<<<<<< HEAD
"type": "tag",
"registry": true,
"raw": "body-parser",
......@@ -23,29 +18,12 @@
"_requiredBy": [
"#USER",
"/",
=======
"type": "version",
"registry": true,
"raw": "body-parser@1.19.0",
"name": "body-parser",
"escapedName": "body-parser",
"rawSpec": "1.19.0",
"saveSpec": null,
"fetchSpec": "1.19.0"
},
"_requiredBy": [
>>>>>>> 8d4c706f8fbe0f97a457ec2881c56d7c0d2862b9
"/express"
],
"_resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
"_shasum": "96b2709e57c9c4e09a6fd66a8fd979844f69f08a",
<<<<<<< HEAD
"_spec": "body-parser",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate",
=======
"_spec": "body-parser@1.19.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
>>>>>>> 8d4c706f8fbe0f97a457ec2881c56d7c0d2862b9
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate",
"bugs": {
"url": "https://github.com/expressjs/body-parser/issues"
},
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
"_shasum": "fb819be9a60cd677e0853aee4ca712a785d6618a",
"_spec": "bson@^1.1.4",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Christian Amor Kvalheim",
"email": "christkv@gmail.com"
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"_shasum": "f6cf7933a360e0588fa9fde85651cdc7f805d1f6",
"_spec": "bytes@3.1.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/body-parser",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/body-parser",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
"_shasum": "e130caf7e7279087c5616c2007d0485698984fbd",
"_spec": "content-disposition@0.5.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"_shasum": "e138cc75e040c727b1966fe5e5f8c9aee256fe3b",
"_spec": "content-type@~1.0.4",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c",
"_spec": "cookie-signature@1.0.6",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@learnboost.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
"_shasum": "beb437e7022b3b6d49019d088665303ebe9c14ba",
"_spec": "cookie@0.4.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Roman Shtylman",
"email": "shtylman@gmail.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
"_spec": "core-util-is@~1.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/readable-stream",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/readable-stream",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
......
......@@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"_shasum": "5d128515df134ff327e90a4c93f4e077a536341f",
"_spec": "debug@2.6.9",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
"_shasum": "773de0686ff2d8ec2ff92914316a47b73b1c73de",
"_spec": "denque@^1.4.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongodb",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongodb",
"author": {
"name": "Invertase",
"email": "oss@invertase.io",
......
......@@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"_shasum": "9bcd52e14c097763e749b274c4346ed2e560b5a9",
"_spec": "depd@~1.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"_shasum": "978857442c44749e4206613e37946205826abd80",
"_spec": "destroy@~1.0.4",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/send",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/send",
"author": {
"name": "Jonathan Ong",
"email": "me@jongleberry.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d",
"_spec": "ee-first@1.1.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/on-finished",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/on-finished",
"author": {
"name": "Jonathan Ong",
"email": "me@jongleberry.com",
......
......@@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"_shasum": "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59",
"_spec": "encodeurl@~1.0.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/pillarjs/encodeurl/issues"
},
......
......@@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988",
"_spec": "escape-html@~1.0.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/component/escape-html/issues"
},
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"_shasum": "41ae2eeb65efa62268aebfea83ac7d79299b0887",
"_spec": "etag@~1.8.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/jshttp/etag/issues"
},
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
"_shasum": "4491fc38605cf51f8629d39c2b5d026f98a4c134",
"_spec": "express",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
"_shasum": "b7e7d000ffd11938d0fdb053506f6ebabe9f587d",
"_spec": "finalhandler@~1.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
0.2.0 / 2021-05-31
==================
* Use `req.socket` over deprecated `req.connection`
0.1.2 / 2017-09-14
==================
......
......@@ -3,7 +3,7 @@
[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]
[![Node.js Version][node-version-image]][node-version-url]
[![Build Status][travis-image]][travis-url]
[![Build Status][ci-image]][ci-url]
[![Test Coverage][coveralls-image]][coveralls-url]
Parse HTTP X-Forwarded-For header
......@@ -45,12 +45,12 @@ $ npm test
[MIT](LICENSE)
[ci-image]: https://badgen.net/github/checks/jshttp/forwarded/master?label=ci
[ci-url]: https://github.com/jshttp/forwarded/actions?query=workflow%3Aci
[npm-image]: https://img.shields.io/npm/v/forwarded.svg
[npm-url]: https://npmjs.org/package/forwarded
[node-version-image]: https://img.shields.io/node/v/forwarded.svg
[node-version-url]: https://nodejs.org/en/download/
[travis-image]: https://img.shields.io/travis/jshttp/forwarded/master.svg
[travis-url]: https://travis-ci.org/jshttp/forwarded
[coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg
[coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master
[downloads-image]: https://img.shields.io/npm/dm/forwarded.svg
......
......@@ -28,7 +28,7 @@ function forwarded (req) {
// simple header parsing
var proxyAddrs = parse(req.headers['x-forwarded-for'] || '')
var socketAddr = req.connection.remoteAddress
var socketAddr = getSocketAddr(req)
var addrs = [socketAddr].concat(proxyAddrs)
// return all addresses
......@@ -36,6 +36,20 @@ function forwarded (req) {
}
/**
* Get the socket address for a request.
*
* @param {object} req
* @return {string}
* @private
*/
function getSocketAddr (req) {
return req.socket
? req.socket.remoteAddress
: req.connection.remoteAddress
}
/**
* Parse the X-Forwarded-For header.
*
* @param {string} header
......
{
"_from": "forwarded@~0.1.2",
"_id": "forwarded@0.1.2",
"_from": "forwarded@0.2.0",
"_id": "forwarded@0.2.0",
"_inBundle": false,
"_integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"_integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
"_location": "/forwarded",
"_phantomChildren": {},
"_requested": {
"type": "range",
"type": "version",
"registry": true,
"raw": "forwarded@~0.1.2",
"raw": "forwarded@0.2.0",
"name": "forwarded",
"escapedName": "forwarded",
"rawSpec": "~0.1.2",
"rawSpec": "0.2.0",
"saveSpec": null,
"fetchSpec": "~0.1.2"
"fetchSpec": "0.2.0"
},
"_requiredBy": [
"/proxy-addr"
],
"_resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"_shasum": "98c23dab1175657b8c0573e8ceccd91b0ff18c84",
"_spec": "forwarded@~0.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/proxy-addr",
"_resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
"_shasum": "2269936428aad4c15c7ebe9779a84bf0b2a81811",
"_spec": "forwarded@0.2.0",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/proxy-addr",
"bugs": {
"url": "https://github.com/jshttp/forwarded/issues"
},
......@@ -37,14 +37,15 @@
"devDependencies": {
"beautify-benchmark": "0.2.4",
"benchmark": "2.1.4",
"eslint": "3.19.0",
"eslint-config-standard": "10.2.1",
"eslint-plugin-import": "2.7.0",
"eslint-plugin-node": "5.1.1",
"eslint-plugin-promise": "3.5.0",
"eslint-plugin-standard": "3.0.1",
"istanbul": "0.4.5",
"mocha": "1.21.5"
"deep-equal": "1.0.1",
"eslint": "7.27.0",
"eslint-config-standard": "14.1.1",
"eslint-plugin-import": "2.23.4",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-promise": "4.3.1",
"eslint-plugin-standard": "4.1.0",
"mocha": "8.4.0",
"nyc": "15.1.0"
},
"engines": {
"node": ">= 0.6"
......@@ -71,8 +72,9 @@
"bench": "node benchmark/index.js",
"lint": "eslint .",
"test": "mocha --reporter spec --bail --check-leaks test/",
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
"test-ci": "nyc --reporter=lcov --reporter=text npm test",
"test-cov": "nyc --reporter=html --reporter=text npm test",
"version": "node scripts/version-history.js && git add HISTORY.md"
},
"version": "0.1.2"
"version": "0.2.0"
}
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"_shasum": "3d8cadd90d976569fa835ab1f8e4b23a105605a7",
"_spec": "fresh@0.5.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca",
......
......@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"_shasum": "4f5029cf13239f31036e5b2e55292bcfbcc85c8f",
"_spec": "http-errors@1.7.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/body-parser",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/body-parser",
"author": {
"name": "Jonathan Ong",
"email": "me@jongleberry.com",
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"_shasum": "2022b4b25fbddc21d2f524974a474aafe733908b",
"_spec": "iconv-lite@0.4.24",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/body-parser",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/body-parser",
"author": {
"name": "Alexander Shtuchkin",
"email": "ashtuchkin@gmail.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"_shasum": "633c2c83e3da42a502f52466022480f4208261de",
"_spec": "inherits@2.0.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/http-errors",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/http-errors",
"browser": "./inherits_browser.js",
"bugs": {
"url": "https://github.com/isaacs/inherits/issues"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
"_shasum": "bff38543eeb8984825079ff3a2a8e6cbd46781b3",
"_spec": "ipaddr.js@1.9.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/proxy-addr",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/proxy-addr",
"author": {
"name": "whitequark",
"email": "whitequark@whitequark.org"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"_shasum": "bb935d48582cba168c06834957a54a3e07124f11",
"_spec": "isarray@~1.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/readable-stream",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/readable-stream",
"author": {
"name": "Julian Gruber",
"email": "mail@juliangruber.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
"_shasum": "78c4508894985b8d38a0dc15e1a8e11078f2ca93",
"_spec": "kareem@2.3.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Valeri Karpov",
"email": "val@karpov.io"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"_shasum": "8710d7af0aa626f8fffa1ce00168545263255748",
"_spec": "media-typer@0.3.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/type-is",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/type-is",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
"_shasum": "d8751655d22d384682741c972f2c3d6dfa3e66b5",
"_spec": "memory-pager@^1.0.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/sparse-bitfield",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/sparse-bitfield",
"author": {
"name": "Mathias Buus",
"url": "@mafintosh"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"_shasum": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61",
"_spec": "merge-descriptors@1.0.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Jonathan Ong",
"email": "me@jongleberry.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"_shasum": "5529a4d67654134edcc5266656835b0f851afcee",
"_spec": "methods@~1.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"browser": {
"http": false
},
......
1.48.0 / 2021-05-30
===================
* Add extension `.mvt` to `application/vnd.mapbox-vector-tile`
* Add new upstream MIME types
* Mark `text/yaml` as compressible
1.47.0 / 2021-04-01
===================
......
......@@ -11,6 +11,14 @@
"source": "iana",
"compressible": true
},
"application/3gpphal+json": {
"source": "iana",
"compressible": true
},
"application/3gpphalforms+json": {
"source": "iana",
"compressible": true
},
"application/a2l": {
"source": "iana"
},
......@@ -999,6 +1007,9 @@
"application/nss": {
"source": "iana"
},
"application/oauth-authz-req+jwt": {
"source": "iana"
},
"application/ocsp-request": {
"source": "iana"
},
......@@ -1342,6 +1353,10 @@
"source": "iana",
"compressible": true
},
"application/sarif-external-properties+json": {
"source": "iana",
"compressible": true
},
"application/sbe": {
"source": "iana"
},
......@@ -1696,6 +1711,9 @@
"application/vnd.3gpp-v2x-local-service-information": {
"source": "iana"
},
"application/vnd.3gpp.5gnas": {
"source": "iana"
},
"application/vnd.3gpp.access-transfer-events+xml": {
"source": "iana",
"compressible": true
......@@ -1708,9 +1726,15 @@
"source": "iana",
"compressible": true
},
"application/vnd.3gpp.gtpc": {
"source": "iana"
},
"application/vnd.3gpp.interworking-data": {
"source": "iana"
},
"application/vnd.3gpp.lpp": {
"source": "iana"
},
"application/vnd.3gpp.mc-signalling-ear": {
"source": "iana"
},
......@@ -1820,6 +1844,12 @@
"source": "iana",
"compressible": true
},
"application/vnd.3gpp.ngap": {
"source": "iana"
},
"application/vnd.3gpp.pfcp": {
"source": "iana"
},
"application/vnd.3gpp.pic-bw-large": {
"source": "iana",
"extensions": ["plb"]
......@@ -1832,6 +1862,9 @@
"source": "iana",
"extensions": ["pvb"]
},
"application/vnd.3gpp.s1ap": {
"source": "iana"
},
"application/vnd.3gpp.sms": {
"source": "iana"
},
......@@ -2322,6 +2355,9 @@
"application/vnd.cryptomator.encrypted": {
"source": "iana"
},
"application/vnd.cryptomator.vault": {
"source": "iana"
},
"application/vnd.ctc-posml": {
"source": "iana",
"extensions": ["pml"]
......@@ -2817,6 +2853,19 @@
"source": "iana",
"extensions": ["fsc"]
},
"application/vnd.fujifilm.fb.docuworks": {
"source": "iana"
},
"application/vnd.fujifilm.fb.docuworks.binder": {
"source": "iana"
},
"application/vnd.fujifilm.fb.docuworks.container": {
"source": "iana"
},
"application/vnd.fujifilm.fb.jfi+xml": {
"source": "iana",
"compressible": true
},
"application/vnd.fujitsu.oasys": {
"source": "iana",
"extensions": ["oas"]
......@@ -3427,7 +3476,8 @@
"extensions": ["portpkg"]
},
"application/vnd.mapbox-vector-tile": {
"source": "iana"
"source": "iana",
"extensions": ["mvt"]
},
"application/vnd.marlin.drm.actiontoken+xml": {
"source": "iana",
......@@ -5438,6 +5488,7 @@
"source": "iana"
},
"application/wasm": {
"source": "iana",
"compressible": true,
"extensions": ["wasm"]
},
......@@ -7400,6 +7451,9 @@
"source": "iana",
"extensions": ["x_t"]
},
"model/vnd.pytha.pyox": {
"source": "iana"
},
"model/vnd.rosette.annotated-data-model": {
"source": "iana"
},
......@@ -7682,6 +7736,7 @@
"source": "iana"
},
"text/shex": {
"source": "iana",
"extensions": ["shex"]
},
"text/slim": {
......@@ -7953,6 +8008,7 @@
"source": "iana"
},
"text/yaml": {
"compressible": true,
"extensions": ["yaml","yml"]
},
"video/1d-interleaved-parityfec": {
......
{
"_from": "mime-db@1.47.0",
"_id": "mime-db@1.47.0",
"_from": "mime-db@1.48.0",
"_id": "mime-db@1.48.0",
"_inBundle": false,
"_integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
"_integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
"_location": "/mime-db",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "mime-db@1.47.0",
"raw": "mime-db@1.48.0",
"name": "mime-db",
"escapedName": "mime-db",
"rawSpec": "1.47.0",
"rawSpec": "1.48.0",
"saveSpec": null,
"fetchSpec": "1.47.0"
"fetchSpec": "1.48.0"
},
"_requiredBy": [
"/mime-types"
],
"_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
"_shasum": "8cb313e59965d3c05cfbf898915a267af46a335c",
"_spec": "mime-db@1.47.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mime-types",
"_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
"_shasum": "e35b31045dd7eada3aaad537ed88a33afbef2d1d",
"_spec": "mime-db@1.48.0",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mime-types",
"bugs": {
"url": "https://github.com/jshttp/mime-db/issues"
},
......@@ -48,16 +48,16 @@
"bluebird": "3.7.2",
"co": "4.6.0",
"cogent": "1.0.1",
"csv-parse": "4.15.3",
"eslint": "7.23.0",
"csv-parse": "4.15.4",
"eslint": "7.27.0",
"eslint-config-standard": "15.0.1",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-markdown": "2.0.0",
"eslint-plugin-import": "2.23.4",
"eslint-plugin-markdown": "2.2.0",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-promise": "4.3.1",
"eslint-plugin-promise": "5.1.0",
"eslint-plugin-standard": "4.1.0",
"gnode": "0.1.2",
"mocha": "8.3.2",
"mocha": "8.4.0",
"nyc": "15.1.0",
"raw-body": "2.4.1",
"stream-to-array": "2.3.0"
......@@ -98,5 +98,5 @@
"update": "npm run fetch && npm run build",
"version": "node scripts/version-history.js && git add HISTORY.md"
},
"version": "1.47.0"
"version": "1.48.0"
}
......
2.1.31 / 2021-06-01
===================
* deps: mime-db@1.48.0
- Add extension `.mvt` to `application/vnd.mapbox-vector-tile`
- Add new upstream MIME types
- Mark `text/yaml` as compressible
2.1.30 / 2021-04-02
===================
......
{
"_from": "mime-types@~2.1.24",
"_id": "mime-types@2.1.30",
"_id": "mime-types@2.1.31",
"_inBundle": false,
"_integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
"_integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
"_location": "/mime-types",
"_phantomChildren": {},
"_requested": {
......@@ -19,10 +19,10 @@
"/accepts",
"/type-is"
],
"_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
"_shasum": "6e7be8b4c479825f85ed6326695db73f9305d62d",
"_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
"_shasum": "a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b",
"_spec": "mime-types@~2.1.24",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/accepts",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/accepts",
"bugs": {
"url": "https://github.com/jshttp/mime-types/issues"
},
......@@ -44,19 +44,19 @@
}
],
"dependencies": {
"mime-db": "1.47.0"
"mime-db": "1.48.0"
},
"deprecated": false,
"description": "The ultimate javascript content-type utility.",
"devDependencies": {
"eslint": "7.23.0",
"eslint": "7.27.0",
"eslint-config-standard": "14.1.1",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-markdown": "2.0.0",
"eslint-plugin-import": "2.23.4",
"eslint-plugin-markdown": "2.2.0",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-promise": "4.3.1",
"eslint-plugin-promise": "5.1.0",
"eslint-plugin-standard": "4.1.0",
"mocha": "8.3.2",
"mocha": "8.4.0",
"nyc": "15.1.0"
},
"engines": {
......@@ -84,5 +84,5 @@
"test-ci": "nyc --reporter=lcov --reporter=text npm test",
"test-cov": "nyc --reporter=html --reporter=text npm test"
},
"version": "2.1.30"
"version": "2.1.31"
}
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"_shasum": "32cd9e5c64553bd58d19a568af452acff04981b1",
"_spec": "mime@1.6.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/send",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/send",
"author": {
"name": "Robert Kieffer",
"email": "robert@broofa.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.8.tgz",
"_shasum": "3e2632af81915b3ff99b7681121ca0895e8ed407",
"_spec": "mongodb@3.6.8",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"bugs": {
"url": "https://github.com/mongodb/node-mongodb-native/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
"_shasum": "3ba9f91fa507b5186d399fb40854bff18fb563e4",
"_spec": "mongoose-legacy-pluralize@1.0.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Valeri Karpov",
"email": "val@karpov.io"
......
5.12.12 / 2021-05-28
====================
* fix(documentarray): retain atomics when setting to a new array #10272
* fix(query+model): fix deprecation warning for `returnOriginal` with `findOneAndUpdate()` #10298 #10297 #10292 #10285 [IslandRhythms](https://github.com/IslandRhythms)
* fix(index.d.ts): make `map()` result an array if used over an array #10288 [quantumsheep](https://github.com/quantumsheep)
5.12.11 / 2021-05-24
====================
* fix(populate): skip applying setters when casting arrays for populate() to avoid issues with arrays of immutable elements #10264
......
......@@ -924,6 +924,10 @@ declare module 'mongoose' {
* An alias for the `new` option. `returnOriginal: false` is equivalent to `new: true`.
*/
returnOriginal?: boolean;
/**
* Another alias for the `new` option. `returnOriginal` is deprecated so this should be used.
*/
returnDocument?: string;
runValidators?: boolean;
/** The session associated with this query. */
session?: mongodb.ClientSession;
......@@ -1883,7 +1887,7 @@ declare module 'mongoose' {
}
}
type ReturnsNewDoc = { new: true } | { returnOriginal: false };
type ReturnsNewDoc = { new: true } | { returnOriginal: false } | {returnDocument: 'after'};
type QueryWithHelpers<ResultType, DocType extends Document, THelpers = {}> = Query<ResultType, DocType, THelpers> & THelpers;
......@@ -2096,7 +2100,7 @@ declare module 'mongoose' {
* Runs a function `fn` and treats the return value of `fn` as the new value
* for the query to resolve to.
*/
map<MappedType>(fn: (doc: DocType) => MappedType): QueryWithHelpers<MappedType, DocType, THelpers>;
map<MappedType>(fn: (doc: DocType) => MappedType): QueryWithHelpers<ResultType extends unknown[] ? MappedType[] : MappedType, DocType, THelpers>;
/** Specifies an `$maxDistance` query condition. When called with one argument, the most recent path passed to `where()` is used. */
maxDistance(val: number): this;
......
......@@ -3109,7 +3109,7 @@ Query.prototype.findOneAndUpdate = function(criteria, doc, options, callback) {
const returnOriginal = get(this, 'model.base.options.returnOriginal');
if (options.returnOriginal == null && returnOriginal != null) {
if (options.new == null && options.returnDocument == null && options.returnOriginal == null && returnOriginal != null) {
options.returnOriginal = returnOriginal;
}
......@@ -3435,10 +3435,9 @@ Query.prototype.findOneAndReplace = function(filter, replacement, options, callb
options = options || {};
const returnOriginal = get(this, 'model.base.options.returnOriginal');
if (options.returnOriginal == null && returnOriginal != null) {
if (options.new == null && options.returnDocument == null && options.returnOriginal == null && returnOriginal != null) {
options.returnOriginal = returnOriginal;
}
this.setOptions(options);
this.setOptions({ overwrite: true });
......@@ -3468,7 +3467,7 @@ Query.prototype._findOneAndReplace = wrapThunk(function(callback) {
const filter = this._conditions;
const options = this._optionsForExec();
convertNewToReturnOriginal(options);
convertNewToReturnDocument(options);
let fields = null;
let castedDoc = new this.model(this._update, null, true);
......@@ -3510,11 +3509,15 @@ Query.prototype._findOneAndReplace = wrapThunk(function(callback) {
* compat.
*/
function convertNewToReturnOriginal(options) {
function convertNewToReturnDocument(options) {
if ('new' in options) {
options.returnOriginal = !options['new'];
options.returnDocument = options['new'] ? 'after' : 'before';
delete options['new'];
}
if ('returnOriginal' in options) {
options.returnDocument = options['returnOriginal'] ? 'before' : 'after';
delete options['returnOriginal'];
}
}
/*!
......@@ -3669,7 +3672,7 @@ Query.prototype._findAndModify = function(type, callback) {
if (useFindAndModify === false) {
// Bypass mquery
const collection = _this._collection.collection;
convertNewToReturnOriginal(opts);
convertNewToReturnDocument(opts);
if (type === 'remove') {
collection.findOneAndDelete(castedQuery, opts, _wrapThunkCallback(_this, function(error, res) {
......
......@@ -18,6 +18,7 @@ const util = require('util');
const utils = require('../utils');
const getConstructor = require('../helpers/discriminator/getConstructor');
const arrayAtomicsSymbol = require('../helpers/symbols').arrayAtomicsSymbol;
const arrayPathSymbol = require('../helpers/symbols').arrayPathSymbol;
const documentArrayParent = require('../helpers/symbols').documentArrayParent;
......@@ -401,6 +402,10 @@ DocumentArrayPath.prototype.cast = function(value, doc, init, prev, options) {
value = new MongooseDocumentArray(value, this.path, doc);
}
if (prev != null) {
value[arrayAtomicsSymbol] = prev[arrayAtomicsSymbol] || {};
}
if (options.arrayPathIndex != null) {
value[arrayPathSymbol] = this.path + '.' + options.arrayPathIndex;
}
......
......@@ -1097,7 +1097,6 @@ SchemaType.prototype._castNullish = function _castNullish(v) {
SchemaType.prototype.applySetters = function(value, scope, init, priorVal, options) {
let v = this._applySetters(value, scope, init, priorVal, options);
if (v == null) {
return this._castNullish(v);
}
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"_shasum": "d09d1f357b443f493382a8eb3ccd183872ae6009",
"_spec": "ms@2.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"bugs": {
"url": "https://github.com/zeit/ms/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"_shasum": "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
"_spec": "safe-buffer@5.2.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Feross Aboukhadijeh",
"email": "feross@feross.org",
......
{
"_from": "mongoose",
"_id": "mongoose@5.12.11",
"_id": "mongoose@5.12.12",
"_inBundle": false,
"_integrity": "sha512-16TVqYhHQdZNR8RTis/8iiTPy+nJPq0UhKyBFTucLLU3PWcDLY2gAGv6aOk0LygTNhEfgNnENgUUHhjVqTuh8w==",
"_integrity": "sha512-n+ZmGApaL5x/r92w6S4pb+c075i+YKzg1F9YWkznSzQMtvetj/2dSjj2cqsITpd6z60k3K7ZaosIl6hzHwUA9g==",
"_location": "/mongoose",
"_phantomChildren": {},
"_requested": {
......@@ -19,10 +19,10 @@
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.11.tgz",
"_shasum": "e4531e4075aeed86db6482b2f1b5564570934d4c",
"_resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.12.tgz",
"_shasum": "7da29c7d7924ad1fb07b5c5fc0acde2f4aaff4f9",
"_spec": "mongoose",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate",
"author": {
"name": "Guillermo Rauch",
"email": "guillermo@learnboost.com"
......@@ -278,5 +278,5 @@
"test": "mocha --exit ./test/*.test.js ./test/typescript/main.test.js",
"test-cov": "nyc --reporter=html --reporter=text npm test"
},
"version": "5.12.11"
"version": "5.12.12"
}
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz",
"_shasum": "828ac0d187f7f42674839d74921970979abbdd8f",
"_spec": "mpath@0.8.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Aaron Heckmann",
"email": "aaron.heckmann+github@gmail.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"_shasum": "5bb5a0672628b64149566ba16819e61518c67261",
"_spec": "debug@3.1.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mquery",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mquery",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
......
......@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
"_shasum": "8f2305632e4bb197f68f60c0cffa21aaf4060c51",
"_spec": "mquery@3.2.5",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Aaron Heckmann",
"email": "aaron.heckmann+github@gmail.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8",
"_spec": "ms@2.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/debug",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/debug",
"bugs": {
"url": "https://github.com/zeit/ms/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"_shasum": "feacf7ccf525a77ae9634436a64883ffeca346fb",
"_spec": "negotiator@0.6.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/accepts",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/accepts",
"bugs": {
"url": "https://github.com/jshttp/negotiator/issues"
},
......
......@@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"_shasum": "20f1336481b083cd75337992a16971aa2d906947",
"_spec": "on-finished@~2.3.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/jshttp/on-finished/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
"_shasum": "275b8e9df1dc6a17ad155369c2422a440f89cb07",
"_spec": "optional-require@^1.0.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongodb",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongodb",
"author": {
"name": "Joel Chen"
},
......
......@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"_shasum": "9da19e7bee8d12dff0513ed5b76957793bc2e8d4",
"_spec": "parseurl@~1.3.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/pillarjs/parseurl/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"_shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c",
"_spec": "path-to-regexp@0.1.7",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/component/path-to-regexp/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"_shasum": "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
"_spec": "process-nextick-args@~2.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/readable-stream",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/readable-stream",
"author": "",
"bugs": {
"url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
......
2.0.7 / 2021-05-31
==================
* deps: forwarded@0.2.0
- Use `req.socket` over deprecated `req.connection`
2.0.6 / 2020-02-24
==================
......
......@@ -3,7 +3,7 @@
[![NPM Version][npm-version-image]][npm-url]
[![NPM Downloads][npm-downloads-image]][npm-url]
[![Node.js Version][node-image]][node-url]
[![Build Status][travis-image]][travis-url]
[![Build Status][ci-image]][ci-url]
[![Test Coverage][coveralls-image]][coveralls-url]
Determine address of proxied request
......@@ -20,8 +20,6 @@ $ npm install proxy-addr
## API
<!-- eslint-disable no-unused-vars -->
```js
var proxyaddr = require('proxy-addr')
```
......@@ -34,8 +32,6 @@ The `trust` argument is a function that returns `true` if you trust
the address, `false` if you don't. The closest untrusted address is
returned.
<!-- eslint-disable no-undef -->
```js
proxyaddr(req, function (addr) { return addr === '127.0.0.1' })
proxyaddr(req, function (addr, i) { return i < 1 })
......@@ -45,8 +41,6 @@ The `trust` arugment may also be a single IP address string or an
array of trusted addresses, as plain IP addresses, CIDR-formatted
strings, or IP/netmask strings.
<!-- eslint-disable no-undef -->
```js
proxyaddr(req, '127.0.0.1')
proxyaddr(req, ['127.0.0.0/8', '10.0.0.0/8'])
......@@ -56,8 +50,6 @@ proxyaddr(req, ['127.0.0.0/255.0.0.0', '192.168.0.0/255.255.0.0'])
This module also supports IPv6. Your IPv6 addresses will be normalized
automatically (i.e. `fe80::00ed:1` equals `fe80:0:0:0:0:0:ed:1`).
<!-- eslint-disable no-undef -->
```js
proxyaddr(req, '::1')
proxyaddr(req, ['::1/128', 'fe80::/10'])
......@@ -70,8 +62,6 @@ not have to specify both `::ffff:a00:1` and `10.0.0.1`.
As a convenience, this module also takes certain pre-defined names
in addition to IP addresses, which expand into IP addresses:
<!-- eslint-disable no-undef -->
```js
proxyaddr(req, 'loopback')
proxyaddr(req, ['loopback', 'fc00:ac:1ab5:fff::1/64'])
......@@ -96,8 +86,6 @@ Return all the addresses of the request, optionally stopping at the
first untrusted. This array is ordered from closest to furthest
(i.e. `arr[0] === req.connection.remoteAddress`).
<!-- eslint-disable no-undef -->
```js
proxyaddr.all(req)
```
......@@ -105,8 +93,6 @@ proxyaddr.all(req)
The optional `trust` argument takes the same arguments as `trust`
does in `proxyaddr(req, trust)`.
<!-- eslint-disable no-undef -->
```js
proxyaddr.all(req, 'loopback')
```
......@@ -117,8 +103,6 @@ Compiles argument `val` into a `trust` function. This function takes
the same arguments as `trust` does in `proxyaddr(req, trust)` and
returns a function suitable for `proxyaddr(req, trust)`.
<!-- eslint-disable no-undef, no-unused-vars -->
```js
var trust = proxyaddr.compile('loopback')
var addr = proxyaddr(req, trust)
......@@ -144,6 +128,8 @@ $ npm run-script bench
[MIT](LICENSE)
[ci-image]: https://badgen.net/github/checks/jshttp/proxy-addr/master?label=ci
[ci-url]: https://github.com/jshttp/proxy-addr/actions?query=workflow%3Aci
[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/proxy-addr/master
[coveralls-url]: https://coveralls.io/r/jshttp/proxy-addr?branch=master
[node-image]: https://badgen.net/npm/node/proxy-addr
......@@ -151,5 +137,3 @@ $ npm run-script bench
[npm-downloads-image]: https://badgen.net/npm/dm/proxy-addr
[npm-url]: https://npmjs.org/package/proxy-addr
[npm-version-image]: https://badgen.net/npm/v/proxy-addr
[travis-image]: https://badgen.net/travis/jshttp/proxy-addr/master
[travis-url]: https://travis-ci.org/jshttp/proxy-addr
......
{
"_from": "proxy-addr@~2.0.5",
"_id": "proxy-addr@2.0.6",
"_id": "proxy-addr@2.0.7",
"_inBundle": false,
"_integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
"_integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"_location": "/proxy-addr",
"_phantomChildren": {},
"_requested": {
......@@ -18,10 +18,10 @@
"_requiredBy": [
"/express"
],
"_resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
"_shasum": "fdc2336505447d3f2f2c638ed272caf614bbb2bf",
"_resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
"_shasum": "f19fe69ceab311eeb94b42e70e8c2070f9ba1025",
"_spec": "proxy-addr@~2.0.5",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......@@ -31,7 +31,7 @@
},
"bundleDependencies": false,
"dependencies": {
"forwarded": "~0.1.2",
"forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
},
"deprecated": false,
......@@ -40,15 +40,15 @@
"beautify-benchmark": "0.2.4",
"benchmark": "2.1.4",
"deep-equal": "1.0.1",
"eslint": "6.8.0",
"eslint-config-standard": "14.1.0",
"eslint-plugin-import": "2.20.1",
"eslint-plugin-markdown": "1.0.1",
"eslint-plugin-node": "11.0.0",
"eslint-plugin-promise": "4.2.1",
"eslint-plugin-standard": "4.0.1",
"mocha": "7.0.1",
"nyc": "15.0.0"
"eslint": "7.26.0",
"eslint-config-standard": "14.1.1",
"eslint-plugin-import": "2.23.4",
"eslint-plugin-markdown": "2.2.0",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-promise": "4.3.1",
"eslint-plugin-standard": "4.1.0",
"mocha": "8.4.0",
"nyc": "15.1.0"
},
"engines": {
"node": ">= 0.10"
......@@ -73,10 +73,10 @@
},
"scripts": {
"bench": "node benchmark/index.js",
"lint": "eslint --plugin markdown --ext js,md .",
"lint": "eslint .",
"test": "mocha --reporter spec --bail --check-leaks test/",
"test-cov": "nyc --reporter=text npm test",
"test-travis": "nyc --reporter=html --reporter=text npm test"
"test-ci": "nyc --reporter=lcov --reporter=text npm test",
"test-cov": "nyc --reporter=html --reporter=text npm test"
},
"version": "2.0.6"
"version": "2.0.7"
}
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"_shasum": "41dc1a015e3d581f1621776be31afb2876a9b1bc",
"_spec": "qs@6.7.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/ljharb/qs/issues"
},
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"_shasum": "3cf37023d199e1c24d1a55b84800c2f3e6468031",
"_spec": "range-parser@~1.2.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
"_shasum": "a1ce6fb9c9bc356ca52e89256ab59059e13d0332",
"_spec": "raw-body@2.4.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/body-parser",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/body-parser",
"author": {
"name": "Jonathan Ong",
"email": "me@jongleberry.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"_shasum": "1eca1cf711aef814c04f62252a36a62f6cb23b57",
"_spec": "readable-stream@^2.3.5",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/bl",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/bl",
"browser": {
"util": false,
"./readable.js": "./readable-browser.js",
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
"_shasum": "222db967623277056260b992626354a04ce9bf63",
"_spec": "regexp-clone@1.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Aaron Heckmann",
"email": "aaron.heckmann+github@gmail.com"
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"_shasum": "991ec69d296e0313747d59bdfd2b745c35f8828d",
"_spec": "safe-buffer@5.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Feross Aboukhadijeh",
"email": "feross@feross.org",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"_shasum": "44fa161b0187b9549dd84bb91802f9bd8385cd6a",
"_spec": "safer-buffer@>= 2.1.2 < 3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/iconv-lite",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/iconv-lite",
"author": {
"name": "Nikita Skovoroda",
"email": "chalkerx@gmail.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
"_shasum": "4c02f946b56cf54297e347ba1093e7acac4cf226",
"_spec": "saslprep@^1.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongodb",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongodb",
"author": {
"name": "Dmitry Tsvettsikh",
"email": "me@reklatsmasters.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"_shasum": "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a",
"_spec": "ms@2.1.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/send",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/send",
"bugs": {
"url": "https://github.com/zeit/ms/issues"
},
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
"_shasum": "c1d8b059f7900f7466dd4938bdc44e11ddb376c8",
"_spec": "send@0.17.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
"_shasum": "666e636dc4f010f7ef29970a88a674320898b2f9",
"_spec": "serve-static@1.14.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"_shasum": "7e95acb24aa92f5885e0abef5ba131330d4ae683",
"_spec": "setprototypeof@1.1.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Wes Todd"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
"_shasum": "24a715e13c617b086166cd04917d204a591c9da6",
"_spec": "sift@13.5.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Craig Condon",
"email": "craig.j.condon@gmail.com"
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
"_shasum": "0b3a662b5d04c3177b1926bea82b03f837a2ef41",
"_spec": "sliced@1.0.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/mongoose",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/mongoose",
"author": {
"name": "Aaron Heckmann",
"email": "aaron.heckmann+github@gmail.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
"_shasum": "ff4ae6e68656056ba4b3e792ab3334d38273ca11",
"_spec": "sparse-bitfield@^3.0.3",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/saslprep",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/saslprep",
"author": {
"name": "Mathias Buus",
"url": "@mafintosh"
......
......@@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"_shasum": "161c7dac177659fd9811f43771fa99381478628c",
"_spec": "statuses@~1.5.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/jshttp/statuses/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"_shasum": "9cf1611ba62685d7030ae9e4ba34149c3af03fc8",
"_spec": "string_decoder@~1.1.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/readable-stream",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/readable-stream",
"bugs": {
"url": "https://github.com/nodejs/string_decoder/issues"
},
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"_shasum": "7e1be3470f1e77948bc43d94a3c8f4d7752ba553",
"_spec": "toidentifier@1.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/http-errors",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/http-errors",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"_shasum": "4e552cd05df09467dcbc4ef739de89f2cf37c131",
"_spec": "type-is@~1.6.18",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"bugs": {
"url": "https://github.com/jshttp/type-is/issues"
},
......
......@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"_shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec",
"_spec": "unpipe@1.0.0",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/raw-body",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/raw-body",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
"_spec": "util-deprecate@~1.0.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/readable-stream",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/readable-stream",
"author": {
"name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"_shasum": "9f95710f50a267947b2ccc124741c1028427e713",
"_spec": "utils-merge@1.0.1",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Jared Hanson",
"email": "jaredhanson@gmail.com",
......
......@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"_shasum": "2299f02c6ded30d4a5961b0b9f74524a18f634fc",
"_spec": "vary@~1.1.2",
"_where": "/Users/mindyeoi/Desktop/We-Shop/boiler-plate/node_modules/express",
"_where": "/Users/mindyeoi/Desktop/oss/We-Shop/boiler-plate/node_modules/express",
"author": {
"name": "Douglas Christopher Wilson",
"email": "doug@somethingdoug.com"
......
......@@ -13,18 +13,18 @@
}
},
"@types/mongodb": {
"version": "3.6.16",
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.16.tgz",
"integrity": "sha512-D3tM0iRUet3TiIMAdvovxAIRG9gYqFd4j7visGwmPNdQj8Fq/uFFfRxyGCgEwVXAs0NnJPMI/QGVTADxDwhmSQ==",
"version": "3.6.17",
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.17.tgz",
"integrity": "sha512-9hhgvYPdC5iHyyksPcKCu45gfaAIPQHKHGdvNXu4582DmOZX3wrUJIJPT40o4G1oTKPgpMMFqZglOTjhnYoF+A==",
"requires": {
"@types/bson": "*",
"@types/node": "*"
}
},
"@types/node": {
"version": "15.6.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz",
"integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA=="
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.2.tgz",
"integrity": "sha512-dxcOx8801kMo3KlU+C+/ctWrzREAH7YvoF3aoVpRdqgs+Kf7flp+PJDN/EX5bME3suDUZHsxes9hpvBmzYlWbA=="
},
"accepts": {
"version": "1.3.7",
......@@ -204,9 +204,9 @@
}
},
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
},
"fresh": {
"version": "0.5.2",
......@@ -280,16 +280,16 @@
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
"version": "1.47.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
"integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw=="
"version": "1.48.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
"integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
},
"mime-types": {
"version": "2.1.30",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
"integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
"version": "2.1.31",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
"integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
"requires": {
"mime-db": "1.47.0"
"mime-db": "1.48.0"
}
},
"mongodb": {
......@@ -306,9 +306,9 @@
}
},
"mongoose": {
"version": "5.12.11",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.11.tgz",
"integrity": "sha512-16TVqYhHQdZNR8RTis/8iiTPy+nJPq0UhKyBFTucLLU3PWcDLY2gAGv6aOk0LygTNhEfgNnENgUUHhjVqTuh8w==",
"version": "5.12.12",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.12.tgz",
"integrity": "sha512-n+ZmGApaL5x/r92w6S4pb+c075i+YKzg1F9YWkznSzQMtvetj/2dSjj2cqsITpd6z60k3K7ZaosIl6hzHwUA9g==",
"requires": {
"@types/mongodb": "^3.5.27",
"bson": "^1.1.4",
......@@ -407,11 +407,11 @@
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"proxy-addr": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
"integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"requires": {
"forwarded": "~0.1.2",
"forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
}
},
......
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
No preview for this file type
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.