flat-cache
Advanced tools
Comparing version 2.0.1 to 3.0.0
122
cache.js
@@ -1,5 +0,5 @@ | ||
var path = require( 'path' ); | ||
var fs = require( 'fs' ); | ||
var utils = require( './utils' ); | ||
var del = require( './del' ); | ||
var path = require('path'); | ||
var fs = require('fs'); | ||
var utils = require('./utils'); | ||
var del = require('./del'); | ||
var writeJSON = utils.writeJSON; | ||
@@ -17,11 +17,11 @@ | ||
*/ | ||
load: function ( docId, cacheDir ) { | ||
load: function (docId, cacheDir) { | ||
var me = this; | ||
me._visited = { }; | ||
me._persisted = { }; | ||
me._pathToFile = cacheDir ? path.resolve( cacheDir, docId ) : path.resolve( __dirname, './.cache/', docId ); | ||
me._visited = {}; | ||
me._persisted = {}; | ||
me._pathToFile = cacheDir ? path.resolve(cacheDir, docId) : path.resolve(__dirname, './.cache/', docId); | ||
if ( fs.existsSync( me._pathToFile ) ) { | ||
me._persisted = utils.tryParse( me._pathToFile, { } ); | ||
if (fs.existsSync(me._pathToFile)) { | ||
me._persisted = utils.tryParse(me._pathToFile, {}); | ||
} | ||
@@ -35,8 +35,8 @@ }, | ||
*/ | ||
loadFile: function ( pathToFile ) { | ||
loadFile: function (pathToFile) { | ||
var me = this; | ||
var dir = path.dirname( pathToFile ); | ||
var fName = path.basename( pathToFile ); | ||
var dir = path.dirname(pathToFile); | ||
var fName = path.basename(pathToFile); | ||
me.load( fName, dir ); | ||
me.load(fName, dir); | ||
}, | ||
@@ -54,3 +54,3 @@ | ||
keys: function () { | ||
return Object.keys( this._persisted ); | ||
return Object.keys(this._persisted); | ||
}, | ||
@@ -63,5 +63,5 @@ /** | ||
*/ | ||
setKey: function ( key, value ) { | ||
this._visited[ key ] = true; | ||
this._persisted[ key ] = value; | ||
setKey: function (key, value) { | ||
this._visited[key] = true; | ||
this._persisted[key] = value; | ||
}, | ||
@@ -73,5 +73,5 @@ /** | ||
*/ | ||
removeKey: function ( key ) { | ||
delete this._visited[ key ]; // esfmt-ignore-line | ||
delete this._persisted[ key ]; // esfmt-ignore-line | ||
removeKey: function (key) { | ||
delete this._visited[key]; // esfmt-ignore-line | ||
delete this._persisted[key]; // esfmt-ignore-line | ||
}, | ||
@@ -84,5 +84,5 @@ /** | ||
*/ | ||
getKey: function ( key ) { | ||
this._visited[ key ] = true; | ||
return this._persisted[ key ]; | ||
getKey: function (key) { | ||
this._visited[key] = true; | ||
return this._persisted[key]; | ||
}, | ||
@@ -98,16 +98,16 @@ | ||
var me = this; | ||
var obj = { }; | ||
var obj = {}; | ||
var keys = Object.keys( me._visited ); | ||
var keys = Object.keys(me._visited); | ||
// no keys visited for either get or set value | ||
if ( keys.length === 0 ) { | ||
if (keys.length === 0) { | ||
return; | ||
} | ||
keys.forEach( function ( key ) { | ||
obj[ key ] = me._persisted[ key ]; | ||
} ); | ||
keys.forEach(function (key) { | ||
obj[key] = me._persisted[key]; | ||
}); | ||
me._visited = { }; | ||
me._visited = {}; | ||
me._persisted = obj; | ||
@@ -122,7 +122,7 @@ }, | ||
*/ | ||
save: function ( noPrune ) { | ||
save: function (noPrune) { | ||
var me = this; | ||
(!noPrune) && me._prune(); | ||
writeJSON( me._pathToFile, me._persisted ); | ||
!noPrune && me._prune(); | ||
writeJSON(me._pathToFile, me._persisted); | ||
}, | ||
@@ -136,3 +136,3 @@ | ||
removeCacheFile: function () { | ||
return del( this._pathToFile ); | ||
return del(this._pathToFile); | ||
}, | ||
@@ -145,7 +145,7 @@ /** | ||
var me = this; | ||
me._visited = { }; | ||
me._persisted = { }; | ||
me._visited = {}; | ||
me._persisted = {}; | ||
me.removeCacheFile(); | ||
} | ||
}, | ||
}; | ||
@@ -162,24 +162,24 @@ | ||
*/ | ||
load: function ( docId, cacheDir ) { | ||
return this.create( docId, cacheDir ); | ||
load: function (docId, cacheDir) { | ||
return this.create(docId, cacheDir); | ||
}, | ||
/** | ||
* Load a cache identified by the given Id. If the element does not exists, then initialize an empty | ||
* cache storage. | ||
* | ||
* @method create | ||
* @param docId {String} the id of the cache, would also be used as the name of the file cache | ||
* @param [cacheDir] {String} directory for the cache entry | ||
* @returns {cache} cache instance | ||
*/ | ||
create: function ( docId, cacheDir ) { | ||
var obj = Object.create( cache ); | ||
obj.load( docId, cacheDir ); | ||
* Load a cache identified by the given Id. If the element does not exists, then initialize an empty | ||
* cache storage. | ||
* | ||
* @method create | ||
* @param docId {String} the id of the cache, would also be used as the name of the file cache | ||
* @param [cacheDir] {String} directory for the cache entry | ||
* @returns {cache} cache instance | ||
*/ | ||
create: function (docId, cacheDir) { | ||
var obj = Object.create(cache); | ||
obj.load(docId, cacheDir); | ||
return obj; | ||
}, | ||
createFromFile: function ( filePath ) { | ||
var obj = Object.create( cache ); | ||
obj.loadFile( filePath ); | ||
createFromFile: function (filePath) { | ||
var obj = Object.create(cache); | ||
obj.loadFile(filePath); | ||
return obj; | ||
@@ -195,5 +195,5 @@ }, | ||
*/ | ||
clearCacheById: function ( docId, cacheDir ) { | ||
var filePath = cacheDir ? path.resolve( cacheDir, docId ) : path.resolve( __dirname, './.cache/', docId ); | ||
return del( filePath ); | ||
clearCacheById: function (docId, cacheDir) { | ||
var filePath = cacheDir ? path.resolve(cacheDir, docId) : path.resolve(__dirname, './.cache/', docId); | ||
return del(filePath); | ||
}, | ||
@@ -205,6 +205,6 @@ /** | ||
*/ | ||
clearAll: function ( cacheDir ) { | ||
var filePath = cacheDir ? path.resolve( cacheDir ) : path.resolve( __dirname, './.cache/' ); | ||
return del( filePath ); | ||
} | ||
clearAll: function (cacheDir) { | ||
var filePath = cacheDir ? path.resolve(cacheDir) : path.resolve(__dirname, './.cache/'); | ||
return del(filePath); | ||
}, | ||
}; |
226
changelog.md
# flat-cache - Changelog | ||
## v3.0.0 | ||
- **Refactoring** | ||
- Fix engines - [52b824c]( https://github.com/royriojas/flat-cache/commit/52b824c ), [Roy Riojas](https://github.com/Roy Riojas), 08/11/2020 01:01:52 | ||
- **Other changes** | ||
- Replace write with combination of mkdir and writeFile ([#49](https://github.com/royriojas/flat-cache/issues/49)) - [ef48276]( https://github.com/royriojas/flat-cache/commit/ef48276 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 08/11/2020 00:17:15 | ||
Node v10 introduced a great "recursive" option for mkdir which allows to | ||
get rid from mkdirp package and easily rewrite "write" package usage | ||
with two function calls. | ||
https://nodejs.org/api/fs.html#fs_fs_mkdir_path_options_callback | ||
- Added a testcase for clearAll ([#48](https://github.com/royriojas/flat-cache/issues/48)) - [45b51ca]( https://github.com/royriojas/flat-cache/commit/45b51ca ), [Aaron Chen](https://github.com/Aaron Chen), 21/05/2020 08:40:03 | ||
- requet node>=10 - [a5c482c]( https://github.com/royriojas/flat-cache/commit/a5c482c ), [yumetodo](https://github.com/yumetodo), 10/04/2020 23:14:53 | ||
thanks @SuperITMan | ||
- Update README.md - [29fe40b]( https://github.com/royriojas/flat-cache/commit/29fe40b ), [Roy Riojas](https://github.com/Roy Riojas), 10/04/2020 20:08:05 | ||
- reduce vulnerability to 1 - [e9db1b2]( https://github.com/royriojas/flat-cache/commit/e9db1b2 ), [yumetodo](https://github.com/yumetodo), 30/03/2020 11:10:43 | ||
- reduce vulnerabilities dependencies to 8 - [b58d196]( https://github.com/royriojas/flat-cache/commit/b58d196 ), [yumetodo](https://github.com/yumetodo), 30/03/2020 10:54:56 | ||
- use prettier instead of esbeautifier - [03b1db7]( https://github.com/royriojas/flat-cache/commit/03b1db7 ), [yumetodo](https://github.com/yumetodo), 30/03/2020 10:27:14 | ||
- update proxyquire - [c2f048d]( https://github.com/royriojas/flat-cache/commit/c2f048d ), [yumetodo](https://github.com/yumetodo), 30/03/2020 10:16:16 | ||
- update flatted and mocha - [a0e56da]( https://github.com/royriojas/flat-cache/commit/a0e56da ), [yumetodo](https://github.com/yumetodo), 30/03/2020 09:46:45 | ||
mocha > mkdirp is updated | ||
istanble >>> optimist > minimist is not updated | ||
- drop support node.js < 10 in develop - [beba691]( https://github.com/royriojas/flat-cache/commit/beba691 ), [yumetodo](https://github.com/yumetodo), 18/03/2020 01:31:09 | ||
see mkdirp | ||
- npm aufit fix(still remains) - [ce166cb]( https://github.com/royriojas/flat-cache/commit/ce166cb ), [yumetodo](https://github.com/yumetodo), 18/03/2020 01:18:08 | ||
37 vulnerabilities required manual review and could not be updated | ||
- updtate sinon - [9f2d1b6]( https://github.com/royriojas/flat-cache/commit/9f2d1b6 ), [yumetodo](https://github.com/yumetodo), 18/03/2020 01:17:51 | ||
- apply eslint-plugin-mocha - [07343b5]( https://github.com/royriojas/flat-cache/commit/07343b5 ), [yumetodo](https://github.com/yumetodo), 13/03/2020 22:17:21 | ||
- Less strint version check ([#44](https://github.com/royriojas/flat-cache/issues/44)) - [92aca1c]( https://github.com/royriojas/flat-cache/commit/92aca1c ), [Wojciech Maj](https://github.com/Wojciech Maj), 13/11/2019 16:18:25 | ||
* Use ^ version matching for production dependencies | ||
* Run npm audit fix | ||
- **Bug Fixes** | ||
- update dependencies and use eslint directly - [73fbed2]( https://github.com/royriojas/flat-cache/commit/73fbed2 ), [yumetodo](https://github.com/yumetodo), 18/03/2020 01:17:27 | ||
## v2.0.1 | ||
- **Refactoring** | ||
- upgrade node modules to latest versions - [6402ed3]( https://github.com/royriojas/flat-cache/commit/6402ed3 ), [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 21:47:05 | ||
- upgrade node modules to latest versions - [6402ed3]( https://github.com/royriojas/flat-cache/commit/6402ed3 ), [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 18:47:05 | ||
@@ -10,13 +74,13 @@ | ||
- **Bug Fixes** | ||
- upgrade package.json lock file - [8d21c7b]( https://github.com/royriojas/flat-cache/commit/8d21c7b ), [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 20:03:13 | ||
- upgrade package.json lock file - [8d21c7b]( https://github.com/royriojas/flat-cache/commit/8d21c7b ), [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 17:03:13 | ||
- Use the same versions of node_js that eslint use - [8d23379]( https://github.com/royriojas/flat-cache/commit/8d23379 ), [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 19:25:11 | ||
- Use the same versions of node_js that eslint use - [8d23379]( https://github.com/royriojas/flat-cache/commit/8d23379 ), [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 16:25:11 | ||
- **Other changes** | ||
- Replace circular-json with flatted ([#36](https://github.com/royriojas/flat-cache/issues/36)) - [b93aced]( https://github.com/royriojas/flat-cache/commit/b93aced ), [C. K. Tang](https://github.com/C. K. Tang), 08/01/2019 20:03:01 | ||
- Replace circular-json with flatted ([#36](https://github.com/royriojas/flat-cache/issues/36)) - [b93aced]( https://github.com/royriojas/flat-cache/commit/b93aced ), [C. K. Tang](https://github.com/C. K. Tang), 08/01/2019 17:03:01 | ||
- Change JSON parser from circular-json to flatted & 1 more changes ([#37](https://github.com/royriojas/flat-cache/issues/37)) - [745e65a]( https://github.com/royriojas/flat-cache/commit/745e65a ), [Andy Chen](https://github.com/Andy Chen), 08/01/2019 19:17:20 | ||
- Change JSON parser from circular-json to flatted & 1 more changes ([#37](https://github.com/royriojas/flat-cache/issues/37)) - [745e65a]( https://github.com/royriojas/flat-cache/commit/745e65a ), [Andy Chen](https://github.com/Andy Chen), 08/01/2019 16:17:20 | ||
@@ -41,3 +105,3 @@ * Change JSON parser from circular-json to flatted & 1 more changes | ||
- **Refactoring** | ||
- Add del.js and utils.js to the list of files to be beautified - [9d0ca9b]( https://github.com/royriojas/flat-cache/commit/9d0ca9b ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 15:19:02 | ||
- Add del.js and utils.js to the list of files to be beautified - [9d0ca9b]( https://github.com/royriojas/flat-cache/commit/9d0ca9b ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 12:19:02 | ||
@@ -47,7 +111,7 @@ | ||
- **Refactoring** | ||
- Make sure package-lock.json is up to date - [a7d2598]( https://github.com/royriojas/flat-cache/commit/a7d2598 ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 14:36:08 | ||
- Make sure package-lock.json is up to date - [a7d2598]( https://github.com/royriojas/flat-cache/commit/a7d2598 ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 11:36:08 | ||
- **Other changes** | ||
- Removed the need for del ([#33](https://github.com/royriojas/flat-cache/issues/33)) - [c429012]( https://github.com/royriojas/flat-cache/commit/c429012 ), [S. Gilroy](https://github.com/S. Gilroy), 13/11/2018 16:56:37 | ||
- Removed the need for del ([#33](https://github.com/royriojas/flat-cache/issues/33)) - [c429012]( https://github.com/royriojas/flat-cache/commit/c429012 ), [S. Gilroy](https://github.com/S. Gilroy), 13/11/2018 13:56:37 | ||
@@ -68,7 +132,7 @@ * Removed the need for del | ||
- **Refactoring** | ||
- remove yarn.lock file - [704c6c4]( https://github.com/royriojas/flat-cache/commit/704c6c4 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 18:41:08 | ||
- remove yarn.lock file - [704c6c4]( https://github.com/royriojas/flat-cache/commit/704c6c4 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 15:41:08 | ||
- **undefined** | ||
- replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23))" - [db12d74]( https://github.com/royriojas/flat-cache/commit/db12d74 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 18:40:39 | ||
- **Other changes** | ||
- replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23))" - [db12d74]( https://github.com/royriojas/flat-cache/commit/db12d74 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 15:40:39 | ||
@@ -79,11 +143,11 @@ This reverts commit 00f689277a75e85fef28e6a048fad227afc525e6. | ||
- **Refactoring** | ||
- upgrade deps to remove some security warnings - [f405719]( https://github.com/royriojas/flat-cache/commit/f405719 ), [Roy Riojas](https://github.com/Roy Riojas), 06/11/2018 15:07:31 | ||
- upgrade deps to remove some security warnings - [f405719]( https://github.com/royriojas/flat-cache/commit/f405719 ), [Roy Riojas](https://github.com/Roy Riojas), 06/11/2018 12:07:31 | ||
- **Bug Fixes** | ||
- replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23)) - [00f6892]( https://github.com/royriojas/flat-cache/commit/00f6892 ), [Terry](https://github.com/Terry), 05/11/2018 21:44:16 | ||
- replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23)) - [00f6892]( https://github.com/royriojas/flat-cache/commit/00f6892 ), [Terry](https://github.com/Terry), 05/11/2018 18:44:16 | ||
- **undefined** | ||
- update del to v3.0.0 ([#26](https://github.com/royriojas/flat-cache/issues/26)) - [d42883f]( https://github.com/royriojas/flat-cache/commit/d42883f ), [Patrick Silva](https://github.com/Patrick Silva), 03/11/2018 03:00:44 | ||
- **Other changes** | ||
- update del to v3.0.0 ([#26](https://github.com/royriojas/flat-cache/issues/26)) - [d42883f]( https://github.com/royriojas/flat-cache/commit/d42883f ), [Patrick Silva](https://github.com/Patrick Silva), 03/11/2018 01:00:44 | ||
@@ -93,3 +157,3 @@ Closes <a target="_blank" class="info-link" href="https://github.com/royriojas/flat-cache/issues/25"><span>#25</span></a> | ||
- **Other changes** | ||
- Added #all method ([#16](https://github.com/royriojas/flat-cache/issues/16)) - [12293be]( https://github.com/royriojas/flat-cache/commit/12293be ), [Ozair Patel](https://github.com/Ozair Patel), 25/09/2017 16:46:38 | ||
- Added #all method ([#16](https://github.com/royriojas/flat-cache/issues/16)) - [12293be]( https://github.com/royriojas/flat-cache/commit/12293be ), [Ozair Patel](https://github.com/Ozair Patel), 25/09/2017 14:46:38 | ||
@@ -108,3 +172,3 @@ * Added #all method | ||
- fix changelog title style ([#14](https://github.com/royriojas/flat-cache/issues/14)) - [af8338a]( https://github.com/royriojas/flat-cache/commit/af8338a ), [前端小武](https://github.com/前端小武), 19/12/2016 23:34:48 | ||
- fix changelog title style ([#14](https://github.com/royriojas/flat-cache/issues/14)) - [af8338a]( https://github.com/royriojas/flat-cache/commit/af8338a ), [前端小武](https://github.com/前端小武), 19/12/2016 20:34:48 | ||
@@ -114,3 +178,3 @@ | ||
- **Bug Fixes** | ||
- Do not crash if cache file is invalid JSON. ([#13](https://github.com/royriojas/flat-cache/issues/13)) - [87beaa6]( https://github.com/royriojas/flat-cache/commit/87beaa6 ), [Roy Riojas](https://github.com/Roy Riojas), 19/12/2016 21:03:35 | ||
- Do not crash if cache file is invalid JSON. ([#13](https://github.com/royriojas/flat-cache/issues/13)) - [87beaa6]( https://github.com/royriojas/flat-cache/commit/87beaa6 ), [Roy Riojas](https://github.com/Roy Riojas), 19/12/2016 18:03:35 | ||
@@ -126,6 +190,6 @@ Fixes <a target="_blank" class="info-link" href="https://github.com/royriojas/flat-cache/issues/12"><span>#12</span></a> | ||
- **Other changes** | ||
- Added travis ci support for modern node versions ([#11](https://github.com/royriojas/flat-cache/issues/11)) - [1c2b1f7]( https://github.com/royriojas/flat-cache/commit/1c2b1f7 ), [Amila Welihinda](https://github.com/Amila Welihinda), 11/11/2016 02:47:52 | ||
- Added travis ci support for modern node versions ([#11](https://github.com/royriojas/flat-cache/issues/11)) - [1c2b1f7]( https://github.com/royriojas/flat-cache/commit/1c2b1f7 ), [Amila Welihinda](https://github.com/Amila Welihinda), 10/11/2016 23:47:52 | ||
- Bumping `circular-son` version ([#10](https://github.com/royriojas/flat-cache/issues/10)) - [4d5e861]( https://github.com/royriojas/flat-cache/commit/4d5e861 ), [Andrea Giammarchi](https://github.com/Andrea Giammarchi), 02/08/2016 09:13:52 | ||
- Bumping `circular-son` version ([#10](https://github.com/royriojas/flat-cache/issues/10)) - [4d5e861]( https://github.com/royriojas/flat-cache/commit/4d5e861 ), [Andrea Giammarchi](https://github.com/Andrea Giammarchi), 02/08/2016 07:13:52 | ||
@@ -137,3 +201,3 @@ As mentioned in https://github.com/WebReflection/circular-json/issues/25 `circular-json` wan't rightly implementing the license field. | ||
- **Bug Fixes** | ||
- Add missing utils.js file to the package. closes [#8](https://github.com/royriojas/flat-cache/issues/8) - [ec10cf2]( https://github.com/royriojas/flat-cache/commit/ec10cf2 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:18:57 | ||
- Add missing utils.js file to the package. closes [#8](https://github.com/royriojas/flat-cache/issues/8) - [ec10cf2]( https://github.com/royriojas/flat-cache/commit/ec10cf2 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:18:57 | ||
@@ -143,44 +207,46 @@ | ||
- **Documentation** | ||
- Add documentation about noPrune option - [23e11f9]( https://github.com/royriojas/flat-cache/commit/23e11f9 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:06:49 | ||
- Add documentation about noPrune option - [23e11f9]( https://github.com/royriojas/flat-cache/commit/23e11f9 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:06:49 | ||
## v1.1.0 | ||
## v1.0.11 | ||
- **Features** | ||
- Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:00:29 | ||
- Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:00:29 | ||
- Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:58:17 | ||
- Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:58:17 | ||
- **Bug Fixes** | ||
- Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:18:06 | ||
- Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:18:06 | ||
Since we control both writing and reading of JSON stream, there no needs | ||
to handle unicode BOM. | ||
- Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 13:11:59 | ||
- Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 11:11:59 | ||
- **Tests Related fixes** | ||
- Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:15:51 | ||
- Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:15:51 | ||
- Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:36 | ||
- Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:36 | ||
- **Refactoring** | ||
- Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:18 | ||
- Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:18 | ||
- **Build Scripts Changes** | ||
- travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 17:34:40 | ||
- travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 14:34:40 | ||
- add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08 | ||
## v1.0.10 | ||
- **Build Scripts Changes** | ||
- add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 15:04:08 | ||
- make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48 | ||
- make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 11:54:48 | ||
- **Other changes** | ||
- add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18 | ||
- add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 21:02:18 | ||
@@ -190,3 +256,3 @@ | ||
- **Bug Fixes** | ||
- wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30 | ||
- wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:59:30 | ||
@@ -196,3 +262,3 @@ | ||
- **Build Scripts Changes** | ||
- test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39 | ||
- test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:51:39 | ||
@@ -202,7 +268,7 @@ | ||
- **Other changes** | ||
- Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57 | ||
- Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:10:57 | ||
- **Documentation** | ||
- Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05 | ||
- Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 14:48:05 | ||
@@ -212,3 +278,3 @@ | ||
- **Build Scripts Changes** | ||
- Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31 | ||
- Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 14:44:31 | ||
@@ -218,84 +284,20 @@ | ||
- **Documentation** | ||
- better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33 | ||
- better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 14:35:33 | ||
- **Other changes** | ||
- Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41 | ||
- Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 13:47:41 | ||
## v1.0.11 | ||
- **Features** | ||
- Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:00:29 | ||
- Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:58:17 | ||
- **Bug Fixes** | ||
- Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:18:06 | ||
Since we control both writing and reading of JSON stream, there no needs | ||
to handle unicode BOM. | ||
- Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 13:11:59 | ||
- **Tests Related fixes** | ||
- Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:15:51 | ||
- Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:36 | ||
## v1.0.4 | ||
- **Refactoring** | ||
- Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:18 | ||
- load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 04:19:14 | ||
- **Build Scripts Changes** | ||
- travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 17:34:40 | ||
## v1.0.10 | ||
- **Build Scripts Changes** | ||
- add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08 | ||
- make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48 | ||
- test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39 | ||
- Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31 | ||
- **Other changes** | ||
- add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18 | ||
- Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57 | ||
- Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41 | ||
- **Bug Fixes** | ||
- wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30 | ||
- **Documentation** | ||
- Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05 | ||
- Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 23:44:05 | ||
- better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33 | ||
- Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:44:05 | ||
- **Refactoring** | ||
- load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 06:19:14 | ||
- **Features** | ||
- Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:39:27 | ||
- Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 23:39:27 | ||
@@ -305,3 +307,3 @@ | ||
- **Other changes** | ||
- Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:28:07 | ||
- Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:28:07 | ||
@@ -311,8 +313,8 @@ | ||
- **Refactoring** | ||
- flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:11:50 | ||
- flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:11:50 | ||
- **Other changes** | ||
- Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:12:16 | ||
- Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 01:12:16 | ||
14
del.js
@@ -1,10 +0,10 @@ | ||
var rimraf = require( 'rimraf' ).sync; | ||
var fs = require( 'fs' ); | ||
var rimraf = require('rimraf').sync; | ||
var fs = require('fs'); | ||
module.exports = function del( file ) { | ||
if ( fs.existsSync( file ) ) { | ||
module.exports = function del(file) { | ||
if (fs.existsSync(file)) { | ||
//if rimraf doesn't throw then the file has been deleted or didn't exist | ||
rimraf( file, { | ||
glob: false | ||
} ); | ||
rimraf(file, { | ||
glob: false, | ||
}); | ||
return true; | ||
@@ -11,0 +11,0 @@ } |
{ | ||
"name": "flat-cache", | ||
"version": "2.0.1", | ||
"version": "3.0.0", | ||
"description": "A stupidly simple key/value storage using files to persist some data", | ||
@@ -18,3 +18,3 @@ "repository": "royriojas/flat-cache", | ||
"engines": { | ||
"node": ">=4" | ||
"node": "^10.12.0 || >=12.0.0" | ||
}, | ||
@@ -28,9 +28,7 @@ "precommit": [ | ||
"scripts": { | ||
"beautify": "esbeautifier 'cache.js' 'utils.js' 'del.js' 'test/specs/**/*.js'", | ||
"beautify-check": "npm run beautify -- -k", | ||
"eslint": "eslinter 'cache.js' 'utils.js' 'del.js' 'specs/**/*.js'", | ||
"eslint": "eslint --cache --ext .js .", | ||
"eslint-fix": "npm run eslint -- --fix", | ||
"autofix": "npm run beautify && npm run eslint-fix", | ||
"check": "npm run beautify-check && npm run eslint", | ||
"verify": "npm run check && npm run test:cache", | ||
"autofix": "npm run eslint-fix", | ||
"check": "npm run eslint", | ||
"verify": "npm run eslint && npm run test:cache", | ||
"install-hooks": "prepush install && changelogx install-hook && precommit install", | ||
@@ -70,21 +68,23 @@ "changelog": "changelogx -f markdown -o ./changelog.md", | ||
"devDependencies": { | ||
"chai": "^3.2.0", | ||
"changelogx": "3.0.0", | ||
"esbeautifier": "10.1.1", | ||
"eslinter": "^3.2.1", | ||
"glob-expand": "0.2.1", | ||
"istanbul": "0.4.5", | ||
"mocha": "5.2.0", | ||
"precommit": "^1.1.5", | ||
"prepush": "^3.1.4", | ||
"proxyquire": "^1.7.2", | ||
"sinon": "^1.16.1", | ||
"sinon-chai": "^2.8.0", | ||
"watch-run": "^1.2.2" | ||
"chai": "^4.2.0", | ||
"changelogx": "^5.0.6", | ||
"eslint": "^7.13.0", | ||
"eslint-config-prettier": "^6.15.0", | ||
"eslint-plugin-mocha": "^8.0.0", | ||
"eslint-plugin-prettier": "^3.1.4", | ||
"glob-expand": "^0.2.1", | ||
"istanbul": "^0.4.5", | ||
"mocha": "^8.2.1", | ||
"precommit": "^1.2.2", | ||
"prepush": "^3.1.11", | ||
"prettier": "^2.1.2", | ||
"proxyquire": "^2.1.3", | ||
"sinon": "^9.2.1", | ||
"sinon-chai": "^3.5.0", | ||
"watch-run": "^1.2.5" | ||
}, | ||
"dependencies": { | ||
"flatted": "^2.0.0", | ||
"rimraf": "2.6.3", | ||
"write": "1.0.3" | ||
"flatted": "^3.1.0", | ||
"rimraf": "^3.0.2" | ||
} | ||
} |
@@ -5,3 +5,3 @@ # flat-cache | ||
[![NPM Version](http://img.shields.io/npm/v/flat-cache.svg?style=flat)](https://npmjs.org/package/flat-cache) | ||
[![Build Status](http://img.shields.io/travis/royriojas/flat-cache.svg?style=flat)](https://travis-ci.org/royriojas/flat-cache) | ||
[![Build Status](https://api.travis-ci.org/royriojas/flat-cache.svg?branch=master)](https://travis-ci.org/royriojas/flat-cache) | ||
@@ -8,0 +8,0 @@ ## install |
29
utils.js
@@ -1,10 +0,10 @@ | ||
var fs = require( 'fs' ); | ||
var write = require( 'write' ); | ||
var flatted = require( 'flatted' ); | ||
var fs = require('fs'); | ||
var path = require('path'); | ||
var flatted = require('flatted'); | ||
module.exports = { | ||
tryParse: function ( filePath, defaultValue ) { | ||
tryParse: function (filePath, defaultValue) { | ||
var result; | ||
try { | ||
result = this.readJSON( filePath ); | ||
result = this.readJSON(filePath); | ||
} catch (ex) { | ||
@@ -23,6 +23,8 @@ result = defaultValue; | ||
*/ | ||
readJSON: function ( filePath ) { | ||
return flatted.parse( fs.readFileSync( filePath, { | ||
encoding: 'utf8' | ||
} ) ); | ||
readJSON: function (filePath) { | ||
return flatted.parse( | ||
fs.readFileSync(filePath, { | ||
encoding: 'utf8', | ||
}) | ||
); | ||
}, | ||
@@ -37,5 +39,8 @@ | ||
*/ | ||
writeJSON: function ( filePath, data ) { | ||
write.sync( filePath, flatted.stringify( data ) ); | ||
} | ||
writeJSON: function (filePath, data) { | ||
fs.mkdirSync(path.dirname(filePath), { | ||
recursive: true, | ||
}); | ||
fs.writeFileSync(filePath, flatted.stringify(data)); | ||
}, | ||
}; |
2
231
28866
16
+ Addedflatted@3.3.1(transitive)
+ Addedrimraf@3.0.2(transitive)
- Removedwrite@1.0.3
- Removedflatted@2.0.2(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedrimraf@2.6.3(transitive)
- Removedwrite@1.0.3(transitive)
Updatedflatted@^3.1.0
Updatedrimraf@^3.0.2