feat: preserve formatting when writing to package.json #282
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a feature (or maybe it's a fix?) to get
standard-version
to preserve the indentation andline feed of
package.json
instead of overriding the user's preferred format with 2 space indentation. (See #43)detect-indent
anddetect-newline
are used to figure out the current indentation ofpackage.json
. This is done in an identical way to hownpm
handles writing changes topackage.json
.Notable internal change:
package.json
is no longer loaded withrequire()
. While it should be functionally identical, in order to detect the formatting, the file to be read in as plain text. This caused certain tests to fail since the require cache wasn't updated during the bump, resulting in additional places where the cache needed to be deleted between invocations of the CLI in these tests. By usingfs.readFileSync()
in both places in the code wherepackage.json
is read instead ofrequire()
, the deletion of therequire
cache in the tests is no longer necessary for them to work.