Summary
Stable 3.0.0 release. No runtime behavior changes vs 3.x betas. Adds full TypeScript definitions, standardizes GitHub issue templates, and tidies package metadata and tests. Existing APIs remain compatible.
✨ Highlights
- First stable v3 release
- Full TypeScript typings for CJS and ESM users
- Standardized GitHub issue templates
- Package/test metadata polish
What’s new
- Added: index.d.ts with complete typings
- Callable default export with overloads (module name or defaults object)
- Static members: assign, arg_options, print_help, isProduction, production, development, enableFileReadWrite
- Minimal event typings compatible with data-context (on, resetChanges)
- Added: GitHub Issue Templates
- bug_report.yml, feature_request.yml, question.yml, config.yml
- Changed:
- Version bumped to 3.0.0
- Test script uses node index.test.js
- Ensured published files include the necessary entries for CJS/ESM/browser fields
Breaking changes
- None expected. Public API is unchanged from the 3.x beta line.
Migration
- Update dependency to 3.0.0 (no code changes required).
- TypeScript users now get rich IntelliSense and type-checking out of the box.
Install
- npm: npm i config-sets@^3
- ESM: import configSets from 'config-sets'
- CJS: const configSets = require('config-sets')
Links
- Changelog: See CHANGELOG.md in the repo
Thank you
Thanks to everyone using config-sets and providing feedback!