GlobUp is a handy tool for Node.js developers who need to work with file globs and directory structures in a hassle-free manner. With GlobUp, you can effortlessly import, parse, and navigate through files and directories in your projects.
You can install GlobUp via npm:
npm install @agebrock/globup
GlobUp provides several useful methods to simplify your file and directory operations. Here's how you can use it: (you can find the examples in the test folder)
import { importUp } from '@agebrock/globup';
const modules = await importUp('fixtures/*.js', {
cwd: __dirname,
});
console.log(modules.fileA()); // 'fileA'
console.log(modules.fileB()); // 'fileB'
console.log(modules.default()); // 'fileC'
console.log(modules.default2()); // 'fileD'
import { globUp, globUpSync } from '@agebrock/globup';
const filesAsync = await globUp('fixtures/package.json', {
cwd: __dirname,
depth: 2,
});
console.log(filesAsync); // ['fixtures/package.json']
const filesSync = globUpSync('fixtures/package.json', {
cwd: __dirname,
depth: 2,
});
console.log(filesSync); // ['fixtures/package.json']
import { jsonParseUp, jsonParseUpSync } from '@agebrock/globup';
const jsonAsync = await jsonParseUp('fixtures/*.json', {
cwd: __dirname,
});
console.log(jsonAsync[0].name); // 'fixtures'
const jsonSync = jsonParseUpSync('fixtures/*.json', {
cwd: __dirname,
});
console.log(jsonSync[0].name); // 'fixtures'
import { packageJsonUp, packageJsonUpSync } from '@agebrock/globup';
const pkgJsonAsync = await packageJsonUp({
cwd: __dirname,
});
console.log(pkgJsonAsync.type); // 'module'
const pkgJsonSync = packageJsonUpSync({
cwd: __dirname,
});
console.log(pkgJsonSync.type); // 'module'
Contributions are welcome! Feel free to submit issues and pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.