From cb5d4ef4ab6ce0c5c913ff6483668dfe55e248c5 Mon Sep 17 00:00:00 2001 From: "Juan Picado @jotadeveloper" Date: Sat, 9 Jun 2018 00:40:49 +0200 Subject: [PATCH] fix: check whether path exist before return result --- src/local-database.js | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/src/local-database.js b/src/local-database.js index 46808d7..17baf38 100644 --- a/src/local-database.js +++ b/src/local-database.js @@ -83,12 +83,19 @@ class LocalDatabase implements IPluginStorage { files, (file2, cb) => { if (validateName(file2)) { - const item = { - name: `${file}/${file2}`, - path: Path.resolve(base, storage, file, file2) - }; - - onPackage(item, cb); + const packagePath = Path.resolve(base, storage, file, file2); + + fs.stat(packagePath, (err, stats) => { + if (_.isNil(err) === false) { + return cb(err); + } + const item = { + name: `${file}/${file2}`, + path: packagePath, + time: stats.mtime.getTime() + }; + onPackage(item, cb); + }); } else { cb(); } @@ -97,13 +104,20 @@ class LocalDatabase implements IPluginStorage { ); }); } else if (validateName(file)) { - onPackage( - { - name: file, - path: Path.resolve(base, storage, file) - }, - cb - ); + const packagePath = Path.resolve(base, storage, file); + fs.stat(packagePath, (err, stats) => { + if (_.isNil(err) === false) { + return cb(err); + } + onPackage( + { + name: file, + path: packagePath, + time: stats.mtime.getTime() + }, + cb + ); + }); } else { cb(); }