@iamnnort/config
v2.0.2
Published
Config presets for Node.js - Consistent - Reusable - Streamlined
Downloads
858
Maintainers
Readme
@iamnnort/config
Config presets for Node.js — Consistent · Reusable · Streamlined
Install
yarn add -D @iamnnort/config
# or
npm i -D @iamnnort/configRequirements
- Node.js ≥ 24
Usage
ESLint
// eslint.config.js
const config = require('@iamnnort/config/eslint');
module.exports = config();With overrides: config({ import: true }).
Prettier
// prettier.config.js
const config = require('@iamnnort/config/prettier');
module.exports = config();Lint-staged
// lint-staged.config.js
const config = require('@iamnnort/config/lint-staged');
module.exports = config();Jest
// jest.config.js
const config = require('@iamnnort/config/jest');
module.exports = config();With global setup: config({ global: true }).
Esbuild
const build = require('@iamnnort/config/esbuild');
build({ entryPoints: ['./src/index.ts'] });Tsup
// tsup.config.js
const config = require('@iamnnort/config/tsup');
module.exports = config({ entry: ['src/index.ts'] });HTTP
HTTP message builder and shared enums (methods, statuses):
const { HttpMessageBuilder, HttpMethods, HttpStatuses } = require('@iamnnort/config/http');
const builder = new HttpMessageBuilder({ request, response, error, duration, redactedKeys: ['secret'] });
// Build a log line
const message = builder.makeUrlText().makeMethodText().makeStatusText().makeDurationText().build();
// Extract structured data
const responseObj = builder.makeResponse();TypeScript configs
Extend in your tsconfig.json:
@iamnnort/config/tsconfig/node.json— Node@iamnnort/config/tsconfig/nest.json— NestJS@iamnnort/config/tsconfig/browser.json— Browser
{
"extends": "@iamnnort/config/tsconfig/node.json"
}License
MIT © Nikita Pavets
