ags
This commit is contained in:
parent
eddf7cecb8
commit
aea798d119
16631 changed files with 1480363 additions and 257 deletions
58
home/ags/node_modules/eslint-plugin-n/lib/util/exists.js
generated
vendored
Normal file
58
home/ags/node_modules/eslint-plugin-n/lib/util/exists.js
generated
vendored
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* @author Toru Nagashima
|
||||
* See LICENSE file in root directory for full license.
|
||||
*/
|
||||
"use strict"
|
||||
|
||||
const fs = require("fs")
|
||||
const path = require("path")
|
||||
const Cache = require("./cache")
|
||||
|
||||
const ROOT = /^(?:[/.]|\.\.|[A-Z]:\\|\\\\)(?:[/\\]\.\.)*$/u
|
||||
const cache = new Cache()
|
||||
|
||||
/**
|
||||
* Check whether the file exists or not.
|
||||
* @param {string} filePath The file path to check.
|
||||
* @returns {boolean} `true` if the file exists.
|
||||
*/
|
||||
function existsCaseSensitive(filePath) {
|
||||
let dirPath = filePath
|
||||
|
||||
while (dirPath !== "" && !ROOT.test(dirPath)) {
|
||||
const fileName = path.basename(dirPath)
|
||||
dirPath = path.dirname(dirPath)
|
||||
|
||||
if (fs.readdirSync(dirPath).indexOf(fileName) === -1) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether or not the file of a given path exists.
|
||||
*
|
||||
* @param {string} filePath - A file path to check.
|
||||
* @returns {boolean} `true` if the file of a given path exists.
|
||||
*/
|
||||
module.exports = function exists(filePath) {
|
||||
let result = cache.get(filePath)
|
||||
if (result == null) {
|
||||
try {
|
||||
const relativePath = path.relative(process.cwd(), filePath)
|
||||
result =
|
||||
fs.statSync(relativePath).isFile() &&
|
||||
existsCaseSensitive(relativePath)
|
||||
} catch (error) {
|
||||
if (error.code !== "ENOENT") {
|
||||
throw error
|
||||
}
|
||||
result = false
|
||||
}
|
||||
cache.set(filePath, result)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue