rc9 is a small JavaScript utility for reading, parsing, updating, and writing simple RC-style configuration files, including support for reading and writing user config in the user’s config directory (XDG, or ~/.config). It helps developers work with .conf files using flat key notation like dot-separated keys, and it can convert values to native JavaScript types when reading.
Project status
- Actively maintained: Yes, the GitHub source shows very recent activity (last upstream push on 2026-06-10) and there are follow-on updates in 2026 (v3.0.1 on 2026-04-01).
- Cadence: Recent pace looks evolving but not strictly continuous, with a significant update in early 2026 (v3.0.0 on 2026-02-06) followed by a tooling-only/dependency bump (v3.0.1 on 2026-04-01), plus another upstream push after that.
AI summary generated
Recent updates
v3.0.1
Release v3.0.1 contains no source code changes, only dependency and tooling updates plus the version bump. The release notes describe it as a deps update and mention adding a missing TypeScript dependency, which aligns with the changes in package.json.
v3.0.0
rc9 v3.0.0 makes the package ESM-only and adds new user-config helpers aligned with XDG conventions. It also exports the RC and RCOptions types and adds JSDoc to exported APIs. The release notes highlight readUserConfig and writeUserConfig, but the code and tests show additional related changes.
BreakingFeaturesv2.1.2
v2.1.2 includes fixes focused on parsing and serialization edge cases. The library now handles empty values during parse and changes how string values are written to rc files to prevent strings from being coerced into numbers when re-parsed.
v2.1.1
v2.1.1 is a maintenance release that updates development tooling and bumps the runtime dependency on destr from v1 to v2. The code changes shown are limited to metadata and dependency/version updates, with a large corresponding pnpm-lock.yaml refresh.
v2.1.0
v2.1.0 adds TypeScript type generics across the public API for reading and writing config (parse, read, update, serialize, write, etc.). The release also updates development tooling and scripts, including a pnpm and dev dependency refresh.
Featuresv1.2.2
Release v1.2.2 is a small bug fix focused on compatibility with Node.js 12. The main change removes optional chaining usage and adjusts how the `parse` function handles its `options` argument.
v2.0.1
v2.0.1 is a maintenance-style release focused on type/export fixes and dependency updates. The only user-facing changes called out in the release notes are switching to the named `defu` export and adding type exports.
v1.2.1
Release v1.2.1 includes a bug fix to respect the XDG_CONFIG_HOME environment variable when writing or updating the user config directory. However, the actual diff also contains several broader project changes, including dependency upgrades and a packaging/entrypoint change in package.json that are not mentioned in the release notes.
v1.2.0
Release v1.2.0 adds support for the XDG_CONFIG_HOME environment variable when using readUser, selecting the config directory based on XDG_CONFIG_HOME (falling back to the user home directory). The code change is small and localized, but the repository also contains build-tooling and lockfile updates not described in the release notes.
Featuresv1.1.0
v1.1.0 adds support for array push syntax in the config parser by interpreting keys that end with "[]" and appending values. The implementation also supports indexless array creation (building arrays inside nested objects via dotted keys). In addition to the feature, the runtime dependency "destr" was upgraded, which can subtly change value parsing behavior.
BreakingFeatures