readmyconfig
v1.0.1
Published
A simple JavaScript library to read Node.js project configuration files synchronously without requiring await.
Maintainers
Readme
readmyconfig
A simple JavaScript library to read Node.js project configuration files synchronously without requiring await.
Installation
npm install readmyconfigUsage
import Konf from 'readmyconfig';
// Read package.json
const pkg = Konf.package();
console.log(pkg.name, pkg.version);
// Read tsconfig.json
const tsconfig = Konf.tsconfig();
console.log(tsconfig.compilerOptions?.target);
// Read vite config
const vite = Konf.vite();
console.log(vite); // Raw content for JS/TS files
// Read ESLint config
const eslint = Konf.eslint();
console.log(eslint);
// Read Prettier config
const prettier = Konf.prettier();
console.log(prettier);
// Check what configs are available
console.log(Konf.list());
// Check if a specific config exists
if (Konf.has('package')) {
console.log('package.json found');
}
// Get any config by name
const customConfig = Konf.get('webpack');Supported Configuration Files
package.jsontsconfig.jsonvite.config.js/vite.config.ts.eslintrc.json/.eslintrc.js/eslint.config.js.prettierrc/.prettierrc.json/prettier.config.jswebpack.config.jsrollup.config.js.babelrc/babel.config.jsonjest.config.jsvitest.config.tstailwind.config.jspostcss.config.jsnext.config.jsnuxt.config.js
API
Methods
Konf.package()- Returns package.json contentKonf.tsconfig()- Returns tsconfig.json contentKonf.vite()- Returns vite config contentKonf.eslint()- Returns ESLint config contentKonf.prettier()- Returns Prettier config contentKonf.webpack()- Returns webpack config contentKonf.rollup()- Returns rollup config contentKonf.babel()- Returns babel config contentKonf.jest()- Returns jest config contentKonf.vitest()- Returns vitest config contentKonf.tailwind()- Returns tailwind config contentKonf.postcss()- Returns postcss config contentKonf.next()- Returns next.js config contentKonf.nuxt()- Returns nuxt.js config contentKonf.get(name)- Returns config by nameKonf.has(name)- Checks if config existsKonf.list()- Returns array of available config names
Features
- Synchronous reading (no await needed)
- Automatic file detection in current and parent directories
- JSON parsing for .json files
- Raw content for .js/.ts files
- Graceful handling of missing files
- ESM support
Requirements
- Node.js 14.0.0 or higher
- ESM support
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
Made with ❤️ by Puparia
