40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
const blacklist = [
|
||
|
// # All
|
||
|
'^npm-debug\\.log$', // Error log for npm
|
||
|
'^\\..*\\.swp$', // Swap file for vim state
|
||
|
|
||
|
// # macOS
|
||
|
'^\\.DS_Store$', // Stores custom folder attributes
|
||
|
'^\\.AppleDouble$', // Stores additional file resources
|
||
|
'^\\.LSOverride$', // Contains the absolute path to the app to be used
|
||
|
'^Icon\\r$', // Custom Finder icon: http://superuser.com/questions/298785/icon-file-on-os-x-desktop
|
||
|
'^\\._.*', // Thumbnail
|
||
|
'^\\.Spotlight-V100(?:$|\\/)', // Directory that might appear on external disk
|
||
|
'\\.Trashes', // File that might appear on external disk
|
||
|
'^__MACOSX$', // Resource fork
|
||
|
|
||
|
// # Linux
|
||
|
'~$', // Backup file
|
||
|
|
||
|
// # Windows
|
||
|
'^Thumbs\\.db$', // Image file cache
|
||
|
'^ehthumbs\\.db$', // Folder config file
|
||
|
'^Desktop\\.ini$', // Stores custom folder attributes
|
||
|
'@eaDir$' // Synology Diskstation "hidden" folder where the server stores thumbnails
|
||
|
];
|
||
|
|
||
|
exports.re = () => {
|
||
|
throw new Error('`junk.re` was renamed to `junk.regex`');
|
||
|
};
|
||
|
|
||
|
exports.regex = new RegExp(blacklist.join('|'));
|
||
|
|
||
|
exports.is = filename => exports.regex.test(filename);
|
||
|
|
||
|
exports.not = filename => !exports.is(filename);
|
||
|
|
||
|
// TODO: Remove this for the next major release
|
||
|
exports.default = module.exports;
|