1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = findFileCaseInsensitive;
|
5 | exports.clearCache = clearCache;
|
6 |
|
7 | var _fs = _interopRequireDefault(require("fs"));
|
8 |
|
9 | var _path = _interopRequireDefault(require("path"));
|
10 |
|
11 | var _memoize = _interopRequireDefault(require("lodash/memoize"));
|
12 |
|
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14 |
|
15 | const readdirSync = (0, _memoize.default)(_fs.default.readdirSync);
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | function findFileCaseInsensitive(filepath) {
|
24 | const dir = _path.default.dirname(filepath);
|
25 |
|
26 | const fileNameLower = _path.default.basename(filepath).toLowerCase();
|
27 |
|
28 | const files = readdirSync(dir);
|
29 | const found = files.find(file => file.toLowerCase() === fileNameLower);
|
30 | return found && _path.default.join(dir, found);
|
31 | }
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 | function clearCache() {
|
38 | readdirSync.cache.clear();
|
39 | } |
\ | No newline at end of file |