Skip to content

fix(config): make default configuration examples copyable - #433

Open
jihtsan wants to merge 4 commits into
ekalinin:masterfrom
jihtsan:codex/422-copyable-config
Open

jihtsan wants to merge 4 commits into
ekalinin:masterfrom
jihtsan:codex/422-copyable-config

Conversation

@jihtsan

@jihtsan jihtsan commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Copying the README configuration or the output of --dump-config-defaults sets mirror to the literal string None, causing downloads to target an invalid host.

Omit options without defaults from the dump and README example, use plain INI values, and explain how an omitted mirror selects the built-in download source. Two round-trip tests load the generated configuration and the actual README block and compare every resulting option with its default. Add the #422 unreleased changelog entry and remove the outdated statement that the README shows quoted values from the #321 entry.

Current master was merged into this branch without rewriting its history. Validation of the integrated head on macOS arm64:

  • CPython 3.10.21: full non-integration suite under coverage run -p -m pytest, 400 passed, 11 skipped, 11 integration cases deselected, 2 existing expected failures.
  • CPython 3.13.12: full non-integration suite under coverage run -p -m pytest, 401 passed, 10 skipped, 11 deselected, 2 existing expected failures.
  • Full flake8 --extend-ignore=E127 nodeenv.py tests setup.py and git diff --check passed.
  • The two round-trip regressions failed before the original fix and are included in these passing suites. The changelog repair is retained; the merge resolution combines current Python 3 .items() with omission of None values.

Other Python versions, other operating systems, real Node download/compilation, and hosted CI for this new head were not run locally. Prepared and independently reviewed for Standards and Spec with Codex assistance.

Closes #422.

Contribution checklist for the integrated head:

  • Existing regression tests cover the issue and this repair.
  • Exact unit-test/coverage and flake8 commands from tox.ini pass on Python 3.10 and 3.13.
  • A tox environment itself was not invoked; the guide's equivalent commands were run directly.
  • CHANGES and README match the resulting behavior.
  • The PR title and new own commit subjects use type(scope): subject.

Published history is preserved by merging current master; no force push is used.

@ekalinin

Copy link
Copy Markdown
Owner

Thanks, this does what #422 suggested.

One thing before merge: please add an entry for #422 under Version [unreleased] in CHANGES, like the other recent fixes. In the same file, the #321 entry says "Quoted values in the config file, as the README shows them, are read without the quotes". After this PR the README no longer shows quotes, so "as the README shows them" should go.

ekalinin

This comment was marked as duplicate.

@jihtsan jihtsan changed the title fix: make default configuration examples copyable fix(config): make default configuration examples copyable Oct 26, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

README config example breaks when copied into ~/.nodeenvrc

2 participants