3个文件已修改
1 文件已重命名
1个文件已添加
8个文件已删除
| | |
| | | require("@tensorflow/tfjs-node"); |
| | | const logger = require('./logger'); // 引入上面创建的logger |
| | | const fs= require ('fs'); |
| | | const express = require("express"); |
| | | const moment = require("moment"); |
| | |
| | | console.log(`Progress = ${counter}%`); |
| | | // Read each face and save the face descriptions in the descriptions array |
| | | const detections = await faceapi.detectSingleFace(img).withFaceLandmarks().withFaceDescriptor(); |
| | | if(detections.descriptor){ |
| | | descriptions.push(detections.descriptor); |
| | | imgs.push(images[i]) |
| | | } |
| | | |
| | | } |
| | | console.log(descriptions,images) |
| | | if(descriptions==[]){ |
| | | console.log('人脸读取有错误') |
| | | return false |
| | | } |
| | | //用给定的标签创建一个新的面文档,并将其保存在数据库中 |
| | | const createFace = new FaceModel({ |
| | |
| | | imgs.push(req.files[i].path) |
| | | } |
| | | let label = req.body.label |
| | | logger.info(`上传${label}人脸信息`) |
| | | console.log('---------------',label) |
| | | let result = await uploadLabeledImages(imgs, label); |
| | | console.log('---------------',result) |
| | | if(result===true){ |
| | | |
| | | logger.info(`上传${label}人脸信息成功`) |
| | | res.json({code:200, message:"录入成功"}) |
| | | }else{ |
| | | // let result = await getDescriptorsFromDB(File1); |
| | |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | logger.info(`删除${label}人脸信息,录入失败`) |
| | | res.json({code:400, message:"人脸模型录入失败,请重新录入"}) |
| | | |
| | | } |
| | | }) |
| | | /**验证人脸对比 */ |
| | | app.post("/check-face",upload.single('file'), async (req, res) => { |
| | | console.log(req.file) |
| | | const File1 = req.file.path; |
| | | logger.info(`验证人脸信息识别:${File1}`) |
| | | try { |
| | | let result = await getDescriptorsFromDB(File1); |
| | | fs.unlink(File1,(err)=>{ |
| | |
| | | }); |
| | | // 获取人脸模型 |
| | | app.post('/get-face',upload.single('file'),async (req, res) => { |
| | | |
| | | try{ |
| | | const label = req.body.label |
| | | logger.info(`获取人脸模型:${label}`) |
| | | const result=await FaceModel.findOne({ "label": label }) |
| | | logger.info(`返回人脸模型:${label}:${JSON.stringify(result)}`) |
| | | res.json({code:200,result}) |
| | | }catch(error){ |
| | | res.json({code:200,error}) |
| | | } |
| | | |
| | | }) |
| | | // 清除人脸模型 |
| | | app.post("/del-face",upload.single('file'),async(req,res)=>{ |
| | | const label = req.body.label |
| | | console.log('删除人脸库',label) |
| | | logger.info(`删除人脸库${label}`) |
| | | FaceModel.findOne({ "label": label }).then(re=>{ |
| | | console.log('kankan---') |
| | | console.log(re.images) |
| | |
| | | }) |
| | | let result= deleteLabelImages(label) |
| | | if(result){ |
| | | logger.info(`删除人脸库${label};成功`) |
| | | res.json({message:'success'}) |
| | | |
| | | }else{ |
| | | logger.info(`删除人脸库${label};失败`) |
| | | res.json({message:"err"}) |
| | | } |
| | | }) |
| | |
| | | } |
| | | ) |
| | | .then(() => { |
| | | app.listen(process.env.PORT || 5000); |
| | | app.listen(process.env.PORT || 80,'0.0.0.0'); |
| | | console.log("DB connected and server us running."); |
| | | console.log('http-sse-'+5000) |
| | | console.log('http-sse-'+80) |
| | | logger.info('数据库连接成功,服务已启动,端口号80') |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| New file |
| | |
| | | const { createLogger, format, transports } = require('winston'); |
| | | require('winston-daily-rotate-file'); |
| | | |
| | | const { combine, timestamp, label, printf } = format; |
| | | |
| | | // 自定义日志格式 |
| | | const myFormat = printf(({ level, message, label, timestamp }) => { |
| | | return `${timestamp} [${label}] ${level}: ${message}`; |
| | | }); |
| | | |
| | | // 创建日志记录器 |
| | | const logger = createLogger({ |
| | | level: 'info', // 设置最低日志级别 |
| | | format: combine( |
| | | label({ label: 'dataSocketService' }), // 可选:给日志添加标签 |
| | | timestamp(), // 添加时间戳 |
| | | myFormat // 使用自定义格式 |
| | | ), |
| | | transports: [ |
| | | new transports.Console(), // 输出到控制台(可选) |
| | | new transports.DailyRotateFile({ |
| | | filename: 'logs/application-%DATE%.log', // 日志文件名模式 |
| | | datePattern: 'YYYY-MM-DD', // 日期格式 |
| | | zippedArchive: true, // 归档旧日志文件时压缩 |
| | | maxSize: '20m', // 文件最大大小 |
| | | maxFiles: '14d', // 保留最近14天的日志文件 |
| | | }), |
| | | ], |
| | | }); |
| | | |
| | | module.exports = logger; |
| | |
| | | "face-api.js": "^0.22.2", |
| | | "moment": "^2.29.4", |
| | | "mongoose": "^5.12.13", |
| | | "multer": "^1.4.5-lts.1" |
| | | "multer": "^1.4.5-lts.1", |
| | | "winston-daily-rotate-file": "^5.0.0" |
| | | }, |
| | | "bin": { |
| | | "face-recognition-nodejs": "app.js" |
| | |
| | | }, |
| | | "engines": { |
| | | "node": ">=6.9.0" |
| | | } |
| | | }, |
| | | "node_modules/@colors/colors": { |
| | | "version": "1.6.0", |
| | | "resolved": "https://registry.npmmirror.com/@colors/colors/-/colors-1.6.0.tgz", |
| | | "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", |
| | | "license": "MIT", |
| | | "engines": { |
| | | "node": ">=0.1.90" |
| | | } |
| | | }, |
| | | "node_modules/@dabh/diagnostics": { |
| | | "version": "2.0.3", |
| | | "resolved": "https://registry.npmmirror.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", |
| | | "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "colorspace": "1.1.x", |
| | | "enabled": "2.0.x", |
| | | "kuler": "^2.0.0" |
| | | } |
| | | }, |
| | | "node_modules/@jridgewell/gen-mapping": { |
| | |
| | | "version": "2.4.27", |
| | | "license": "MIT" |
| | | }, |
| | | "node_modules/@types/triple-beam": { |
| | | "version": "1.3.5", |
| | | "resolved": "https://registry.npmmirror.com/@types/triple-beam/-/triple-beam-1.3.5.tgz", |
| | | "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", |
| | | "license": "MIT" |
| | | }, |
| | | "node_modules/@types/webgl-ext": { |
| | | "version": "0.0.30", |
| | | "license": "MIT" |
| | |
| | | "engines": { |
| | | "node": ">=8" |
| | | } |
| | | }, |
| | | "node_modules/async": { |
| | | "version": "3.2.6", |
| | | "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", |
| | | "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/asynckit": { |
| | | "version": "0.4.0", |
| | |
| | | "wrap-ansi": "^7.0.0" |
| | | } |
| | | }, |
| | | "node_modules/color": { |
| | | "version": "3.2.1", |
| | | "resolved": "https://registry.npmmirror.com/color/-/color-3.2.1.tgz", |
| | | "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "color-convert": "^1.9.3", |
| | | "color-string": "^1.6.0" |
| | | } |
| | | }, |
| | | "node_modules/color-convert": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", |
| | |
| | | "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", |
| | | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" |
| | | }, |
| | | "node_modules/color-string": { |
| | | "version": "1.9.1", |
| | | "resolved": "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz", |
| | | "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "color-name": "^1.0.0", |
| | | "simple-swizzle": "^0.2.2" |
| | | } |
| | | }, |
| | | "node_modules/color-support": { |
| | | "version": "1.1.3", |
| | | "resolved": "https://registry.npmmirror.com/color-support/-/color-support-1.1.3.tgz", |
| | | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", |
| | | "bin": { |
| | | "color-support": "bin.js" |
| | | } |
| | | }, |
| | | "node_modules/color/node_modules/color-convert": { |
| | | "version": "1.9.3", |
| | | "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", |
| | | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "color-name": "1.1.3" |
| | | } |
| | | }, |
| | | "node_modules/color/node_modules/color-name": { |
| | | "version": "1.1.3", |
| | | "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", |
| | | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/colorspace": { |
| | | "version": "1.1.4", |
| | | "resolved": "https://registry.npmmirror.com/colorspace/-/colorspace-1.1.4.tgz", |
| | | "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "color": "^3.1.3", |
| | | "text-hex": "1.0.x" |
| | | } |
| | | }, |
| | | "node_modules/combined-stream": { |
| | |
| | | "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", |
| | | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" |
| | | }, |
| | | "node_modules/enabled": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmmirror.com/enabled/-/enabled-2.0.0.tgz", |
| | | "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/encodeurl": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", |
| | |
| | | "reusify": "^1.0.4" |
| | | } |
| | | }, |
| | | "node_modules/fecha": { |
| | | "version": "4.2.3", |
| | | "resolved": "https://registry.npmmirror.com/fecha/-/fecha-4.2.3.tgz", |
| | | "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", |
| | | "license": "MIT" |
| | | }, |
| | | "node_modules/file-stream-rotator": { |
| | | "version": "0.6.1", |
| | | "resolved": "https://registry.npmmirror.com/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz", |
| | | "integrity": "sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==", |
| | | "license": "MIT", |
| | | "dependencies": { |
| | | "moment": "^2.29.1" |
| | | } |
| | | }, |
| | | "node_modules/fill-range": { |
| | | "version": "7.1.1", |
| | | "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", |
| | |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", |
| | | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" |
| | | }, |
| | | "node_modules/fn.name": { |
| | | "version": "1.1.0", |
| | | "resolved": "https://registry.npmmirror.com/fn.name/-/fn.name-1.1.0.tgz", |
| | | "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/form-data": { |
| | | "version": "4.0.0", |
| | |
| | | "node": ">= 0.10" |
| | | } |
| | | }, |
| | | "node_modules/is-arrayish": { |
| | | "version": "0.3.2", |
| | | "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz", |
| | | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/is-core-module": { |
| | | "version": "2.9.0", |
| | | "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz", |
| | |
| | | "node": ">=0.12.0" |
| | | } |
| | | }, |
| | | "node_modules/is-stream": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", |
| | | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "engines": { |
| | | "node": ">=8" |
| | | }, |
| | | "funding": { |
| | | "url": "https://github.com/sponsors/sindresorhus" |
| | | } |
| | | }, |
| | | "node_modules/isarray": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", |
| | |
| | | "version": "2.3.2", |
| | | "resolved": "https://registry.npmmirror.com/kareem/-/kareem-2.3.2.tgz", |
| | | "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==" |
| | | }, |
| | | "node_modules/kuler": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmmirror.com/kuler/-/kuler-2.0.0.tgz", |
| | | "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/logform": { |
| | | "version": "2.7.0", |
| | | "resolved": "https://registry.npmmirror.com/logform/-/logform-2.7.0.tgz", |
| | | "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", |
| | | "license": "MIT", |
| | | "dependencies": { |
| | | "@colors/colors": "1.6.0", |
| | | "@types/triple-beam": "^1.3.2", |
| | | "fecha": "^4.2.0", |
| | | "ms": "^2.1.1", |
| | | "safe-stable-stringify": "^2.3.1", |
| | | "triple-beam": "^1.3.0" |
| | | }, |
| | | "engines": { |
| | | "node": ">= 12.0.0" |
| | | } |
| | | }, |
| | | "node_modules/long": { |
| | | "version": "4.0.0", |
| | |
| | | "node": ">=0.10.0" |
| | | } |
| | | }, |
| | | "node_modules/object-hash": { |
| | | "version": "3.0.0", |
| | | "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz", |
| | | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", |
| | | "license": "MIT", |
| | | "engines": { |
| | | "node": ">= 6" |
| | | } |
| | | }, |
| | | "node_modules/object-inspect": { |
| | | "version": "1.13.1", |
| | | "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz", |
| | |
| | | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", |
| | | "dependencies": { |
| | | "wrappy": "1" |
| | | } |
| | | }, |
| | | "node_modules/one-time": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npmmirror.com/one-time/-/one-time-1.0.0.tgz", |
| | | "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "fn.name": "1.x.x" |
| | | } |
| | | }, |
| | | "node_modules/optional-require": { |
| | |
| | | ], |
| | | "license": "MIT" |
| | | }, |
| | | "node_modules/safe-stable-stringify": { |
| | | "version": "2.5.0", |
| | | "resolved": "https://registry.npmmirror.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", |
| | | "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", |
| | | "license": "MIT", |
| | | "engines": { |
| | | "node": ">=10" |
| | | } |
| | | }, |
| | | "node_modules/safer-buffer": { |
| | | "version": "2.1.2", |
| | | "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", |
| | |
| | | "simple-concat": "^1.0.0" |
| | | } |
| | | }, |
| | | "node_modules/simple-swizzle": { |
| | | "version": "0.2.2", |
| | | "resolved": "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz", |
| | | "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "is-arrayish": "^0.3.1" |
| | | } |
| | | }, |
| | | "node_modules/slash": { |
| | | "version": "3.0.0", |
| | | "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", |
| | |
| | | "version": "1.0.3", |
| | | "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", |
| | | "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" |
| | | }, |
| | | "node_modules/stack-trace": { |
| | | "version": "0.0.10", |
| | | "resolved": "https://registry.npmmirror.com/stack-trace/-/stack-trace-0.0.10.tgz", |
| | | "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "engines": { |
| | | "node": "*" |
| | | } |
| | | }, |
| | | "node_modules/statuses": { |
| | | "version": "2.0.1", |
| | |
| | | "readable-stream": "^3.4.0" |
| | | } |
| | | }, |
| | | "node_modules/text-hex": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npmmirror.com/text-hex/-/text-hex-1.0.0.tgz", |
| | | "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", |
| | | "license": "MIT", |
| | | "peer": true |
| | | }, |
| | | "node_modules/to-fast-properties": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", |
| | |
| | | "version": "0.0.3", |
| | | "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", |
| | | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" |
| | | }, |
| | | "node_modules/triple-beam": { |
| | | "version": "1.4.1", |
| | | "resolved": "https://registry.npmmirror.com/triple-beam/-/triple-beam-1.4.1.tgz", |
| | | "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", |
| | | "license": "MIT", |
| | | "engines": { |
| | | "node": ">= 14.0.0" |
| | | } |
| | | }, |
| | | "node_modules/tslib": { |
| | | "version": "1.14.1", |
| | |
| | | "string-width": "^1.0.2 || 2 || 3 || 4" |
| | | } |
| | | }, |
| | | "node_modules/winston": { |
| | | "version": "3.17.0", |
| | | "resolved": "https://registry.npmmirror.com/winston/-/winston-3.17.0.tgz", |
| | | "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==", |
| | | "license": "MIT", |
| | | "peer": true, |
| | | "dependencies": { |
| | | "@colors/colors": "^1.6.0", |
| | | "@dabh/diagnostics": "^2.0.2", |
| | | "async": "^3.2.3", |
| | | "is-stream": "^2.0.0", |
| | | "logform": "^2.7.0", |
| | | "one-time": "^1.0.0", |
| | | "readable-stream": "^3.4.0", |
| | | "safe-stable-stringify": "^2.3.1", |
| | | "stack-trace": "0.0.x", |
| | | "triple-beam": "^1.3.0", |
| | | "winston-transport": "^4.9.0" |
| | | }, |
| | | "engines": { |
| | | "node": ">= 12.0.0" |
| | | } |
| | | }, |
| | | "node_modules/winston-daily-rotate-file": { |
| | | "version": "5.0.0", |
| | | "resolved": "https://registry.npmmirror.com/winston-daily-rotate-file/-/winston-daily-rotate-file-5.0.0.tgz", |
| | | "integrity": "sha512-JDjiXXkM5qvwY06733vf09I2wnMXpZEhxEVOSPenZMii+g7pcDcTBt2MRugnoi8BwVSuCT2jfRXBUy+n1Zz/Yw==", |
| | | "license": "MIT", |
| | | "dependencies": { |
| | | "file-stream-rotator": "^0.6.1", |
| | | "object-hash": "^3.0.0", |
| | | "triple-beam": "^1.4.1", |
| | | "winston-transport": "^4.7.0" |
| | | }, |
| | | "engines": { |
| | | "node": ">=8" |
| | | }, |
| | | "peerDependencies": { |
| | | "winston": "^3" |
| | | } |
| | | }, |
| | | "node_modules/winston-transport": { |
| | | "version": "4.9.0", |
| | | "resolved": "https://registry.npmmirror.com/winston-transport/-/winston-transport-4.9.0.tgz", |
| | | "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", |
| | | "license": "MIT", |
| | | "dependencies": { |
| | | "logform": "^2.7.0", |
| | | "readable-stream": "^3.6.2", |
| | | "triple-beam": "^1.3.0" |
| | | }, |
| | | "engines": { |
| | | "node": ">= 12.0.0" |
| | | } |
| | | }, |
| | | "node_modules/wrap-ansi": { |
| | | "version": "7.0.0", |
| | | "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", |
| | |
| | | "face-api.js": "^0.22.2", |
| | | "moment": "^2.29.4", |
| | | "mongoose": "^5.12.13", |
| | | "multer": "^1.4.5-lts.1" |
| | | "multer": "^1.4.5-lts.1", |
| | | "winston-daily-rotate-file": "^5.0.0" |
| | | }, |
| | | "devDependencies": { |
| | | "@vercel/ncc": "^0.38.3", |