Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.119
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
html_old /
iNetty /
node_modules /
globby /
Delete
Unzip
Name
Size
Permission
Date
Action
gitignore.js
2.51
KB
-rw-r--r--
2022-04-21 14:25
index.d.ts
5.89
KB
-rw-r--r--
2022-04-21 14:25
index.js
4.36
KB
-rw-r--r--
2022-04-21 14:25
license
1.08
KB
-rw-r--r--
2022-04-21 14:25
package.json
1.39
KB
-rw-r--r--
2022-04-21 14:25
readme.md
5.63
KB
-rw-r--r--
2022-04-21 14:25
stream-utils.js
677
B
-rw-r--r--
2022-04-21 14:25
Save
Rename
'use strict'; const {promisify} = require('util'); const fs = require('fs'); const path = require('path'); const fastGlob = require('fast-glob'); const gitIgnore = require('ignore'); const slash = require('slash'); const DEFAULT_IGNORE = [ '**/node_modules/**', '**/flow-typed/**', '**/coverage/**', '**/.git' ]; const readFileP = promisify(fs.readFile); const mapGitIgnorePatternTo = base => ignore => { if (ignore.startsWith('!')) { return '!' + path.posix.join(base, ignore.slice(1)); } return path.posix.join(base, ignore); }; const parseGitIgnore = (content, options) => { const base = slash(path.relative(options.cwd, path.dirname(options.fileName))); return content .split(/\r?\n/) .filter(Boolean) .filter(line => !line.startsWith('#')) .map(mapGitIgnorePatternTo(base)); }; const reduceIgnore = files => { return files.reduce((ignores, file) => { ignores.add(parseGitIgnore(file.content, { cwd: file.cwd, fileName: file.filePath })); return ignores; }, gitIgnore()); }; const ensureAbsolutePathForCwd = (cwd, p) => { if (path.isAbsolute(p)) { if (p.startsWith(cwd)) { return p; } throw new Error(`Path ${p} is not in cwd ${cwd}`); } return path.join(cwd, p); }; const getIsIgnoredPredecate = (ignores, cwd) => { return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p)))); }; const getFile = async (file, cwd) => { const filePath = path.join(cwd, file); const content = await readFileP(filePath, 'utf8'); return { cwd, filePath, content }; }; const getFileSync = (file, cwd) => { const filePath = path.join(cwd, file); const content = fs.readFileSync(filePath, 'utf8'); return { cwd, filePath, content }; }; const normalizeOptions = ({ ignore = [], cwd = slash(process.cwd()) } = {}) => { return {ignore, cwd}; }; module.exports = async options => { options = normalizeOptions(options); const paths = await fastGlob('**/.gitignore', { ignore: DEFAULT_IGNORE.concat(options.ignore), cwd: options.cwd }); const files = await Promise.all(paths.map(file => getFile(file, options.cwd))); const ignores = reduceIgnore(files); return getIsIgnoredPredecate(ignores, options.cwd); }; module.exports.sync = options => { options = normalizeOptions(options); const paths = fastGlob.sync('**/.gitignore', { ignore: DEFAULT_IGNORE.concat(options.ignore), cwd: options.cwd }); const files = paths.map(file => getFileSync(file, options.cwd)); const ignores = reduceIgnore(files); return getIsIgnoredPredecate(ignores, options.cwd); };