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.
Branched from #9 (diff) because that's where the need for this becomes acute. I've hesitated to address the need until now, partly because I'm not a fan of "utils" as a code organizing concept. But mostly because I didn't want to proscribe a solution until needs became more clear.
The actual need: there are cross-cutting concerns across the other packages which need to live somewhere that can be shared amongst them. As discussed in the
@odk/common
README, these will typically be lower-level libraries, types, testing/tooling/etc accommodations. And they will typically be intended for shared use internally but probably don't warrant release as a separate package.The contents of the
@odk/common
package are pretty sparse right now. It just includes the stuff that has already been most painful to not have shared. I know there's already more which should be included (and at least one thing is already noted here in this same PR!), but this was enough scope to validate the parts most in need right now. Hopefully with this package established, it'll be less disruptive to move stuff into it as makes sense without so much ceremony.I also threw in a few minor housekeeping things that were either tangentially related (updating GitHub URLs) or sitting in my queue being just as annoying not to have done (update
.editorconfig
, give CI jobs better/human-readable names).Also, I'd be happy to bikeshed the package name if there's something better to consider (but "utils" is not better 😜). I basically don't like any name I've come up with.