@nodezor/config-doctor
v0.0.1
Published
Zero-dependency TSConfig and package.json module diagnostics and linter
Maintainers
Readme
@nodezor/config-doctor
Zero-dependency TSConfig and package.json module configuration linter and diagnostic engine.
The Problem
Modern JavaScript and TypeScript projects regularly break due to conflicting, outdated, or invalid settings spread across multiple configuration files (tsconfig.json, package.json). Developers lose hours diagnosing obscure ESM/CJS interop issues, broken path aliases, or incompatible compiler target flags.
Features
- 🔍 TSConfig Diagnostics: Detects legacy
moduleResolution, outdatedtargetcompiler flags, and disabled strict mode. - 📦 Package.json Diagnostics: Flags missing
"type": "module"and ESM/CJS entrypoint mismatches. - ⚡ Zero External Dependencies: Pure, fast TypeScript implementation.
Installation
# pnpm
pnpm add @nodezor/config-doctor
# npm
npm install @nodezor/config-doctor
# yarn
yarn add @nodezor/config-doctorQuick Start / Usage Example
import { diagnoseTsConfig, diagnosePackageJson } from '@nodezor/config-doctor';
// Audit tsconfig.json
const tsResult = diagnoseTsConfig({
compilerOptions: {
target: 'ES5',
moduleResolution: 'node',
strict: false,
},
});
console.log(tsResult.valid); // false
console.log(tsResult.issues);
// Output: [
// { code: 'TS_STRICT_DISABLED', severity: 'WARNING', message: '...' },
// { code: 'TS_LEGACY_MODULE_RESOLUTION', severity: 'WARNING', message: '...' },
// { code: 'TS_OUTDATED_TARGET', severity: 'ERROR', message: '...' }
// ]API Reference
diagnoseTsConfig(tsconfig: Record<string, any>): DiagnosticResult
Audits tsconfig.json compiler options for strictness, modern module resolution (Bundler / NodeNext), and compiler target.
diagnosePackageJson(packageJson: Record<string, any>): DiagnosticResult
Audits package.json for ESM "type": "module" configuration and entrypoint file extension compatibility.
License
MIT © PRX2112
