feat: refactoring project

This commit is contained in:
Carlos
2024-11-23 14:56:07 -05:00
parent f0c2a50c18
commit 1c6db5818d
2351 changed files with 39323 additions and 60326 deletions

74
node_modules/find-up/index.js generated vendored
View File

@@ -1,14 +1,15 @@
'use strict';
const path = require('path');
const locatePath = require('locate-path');
const pathExists = require('path-exists');
import path from 'node:path';
import {locatePath, locatePathSync} from 'locate-path';
import {toPath} from 'unicorn-magic';
const stop = Symbol('findUp.stop');
export const findUpStop = Symbol('findUpStop');
module.exports = async (name, options = {}) => {
let directory = path.resolve(options.cwd || '');
export async function findUpMultiple(name, options = {}) {
let directory = path.resolve(toPath(options.cwd) ?? '');
const {root} = path.parse(directory);
const paths = [].concat(name);
const stopAt = path.resolve(directory, toPath(options.stopAt ?? root));
const limit = options.limit ?? Number.POSITIVE_INFINITY;
const paths = [name].flat();
const runMatcher = async locateOptions => {
if (typeof name !== 'function') {
@@ -23,67 +24,84 @@ module.exports = async (name, options = {}) => {
return foundPath;
};
const matches = [];
// eslint-disable-next-line no-constant-condition
while (true) {
// eslint-disable-next-line no-await-in-loop
const foundPath = await runMatcher({...options, cwd: directory});
if (foundPath === stop) {
return;
if (foundPath === findUpStop) {
break;
}
if (foundPath) {
return path.resolve(directory, foundPath);
matches.push(path.resolve(directory, foundPath));
}
if (directory === root) {
return;
if (directory === stopAt || matches.length >= limit) {
break;
}
directory = path.dirname(directory);
}
};
module.exports.sync = (name, options = {}) => {
let directory = path.resolve(options.cwd || '');
return matches;
}
export function findUpMultipleSync(name, options = {}) {
let directory = path.resolve(toPath(options.cwd) ?? '');
const {root} = path.parse(directory);
const paths = [].concat(name);
const stopAt = path.resolve(directory, toPath(options.stopAt) ?? root);
const limit = options.limit ?? Number.POSITIVE_INFINITY;
const paths = [name].flat();
const runMatcher = locateOptions => {
if (typeof name !== 'function') {
return locatePath.sync(paths, locateOptions);
return locatePathSync(paths, locateOptions);
}
const foundPath = name(locateOptions.cwd);
if (typeof foundPath === 'string') {
return locatePath.sync([foundPath], locateOptions);
return locatePathSync([foundPath], locateOptions);
}
return foundPath;
};
const matches = [];
// eslint-disable-next-line no-constant-condition
while (true) {
const foundPath = runMatcher({...options, cwd: directory});
if (foundPath === stop) {
return;
if (foundPath === findUpStop) {
break;
}
if (foundPath) {
return path.resolve(directory, foundPath);
matches.push(path.resolve(directory, foundPath));
}
if (directory === root) {
return;
if (directory === stopAt || matches.length >= limit) {
break;
}
directory = path.dirname(directory);
}
};
module.exports.exists = pathExists;
return matches;
}
module.exports.sync.exists = pathExists.sync;
export async function findUp(name, options = {}) {
const matches = await findUpMultiple(name, {...options, limit: 1});
return matches[0];
}
module.exports.stop = stop;
export function findUpSync(name, options = {}) {
const matches = findUpMultipleSync(name, {...options, limit: 1});
return matches[0];
}
export {
pathExists,
pathExistsSync,
} from 'path-exists';