Improve DX for contributions and usage #1
Merged
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 pull request introduces several updates to modernize the codebase, improve developer workflows, and enforce stricter typing and linting rules. The most important changes include updates to the CI workflow, the addition of linting and pre-commit hooks, stricter TypeScript typing, and the introduction of new linting rules.
CI Workflow and Developer Tooling Updates:
.github/workflows/ci.yml: Updated Node.js versions to18.x,20.x,22.x, and24.x, replacedactions/checkoutandactions/setup-nodewith their latest versions (v4), switched to built-in npm caching, and added a newlintjob that runs before tests..husky/pre-commit: Added a pre-commit hook to runnpm run lintandnpm testautomatically.package.json: Introducedhusky,oxlint, andtsxas new dependencies, addedlintandpreparescripts, and updated testing and build scripts to use modern tools.tsl.config.ts: Added a configuration file fortslwith default rules enabled.Linting and Code Quality Enhancements:
.oxlintrc.json: Added a new linting configuration with rules to enforce best practices.These changes collectively modernize the project, improve developer productivity, and enforce stricter code quality standards.
Usage enhancements:
src/index.ts: Introduced aPreventOneArgumentArraytype to disallow ambiguous single-array arguments in thepoolfunction.