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;
|