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 contains 4 commits which all contribute to allowing projects to use TypeScript, publish dual CJS/ESM, and use tap@18.
fix: use npx semver to better determine latest npm
This does a better job of allowing the latest compatible
npm
version to be installed. This is helpful as there were some gaps previously, and this allows us to bump smaller engines ranges and not have to worry about the wrong npm being installed.fix: always lint all js-ish extensions
The default lint script now will lint all JS extensions including
cjs
,mjs
, andts
. This is written to all repos instead of based on a config because it is difficult to determine the file extensions being used in a project.feat: add typescript and esm support
If
typescript: true
is set then a number of changes are made including, checking for typescript deps, updating linting, usingtshy
to do dual CJS/ESM, etcfix: remove tap 16 specific config when using tap 18
tap@18
has some slightly different configs that we want to write.Closes #369
Closes #156