Tom Jenkinson's repositories
dynamic-marquee
A small library for creating marquees.
mock-hls-server
Fake a live/event HLS stream from a VOD one. Useful for testing. Supports looping.
redos-detector
A CLI and library which tests with certainty if a regex pattern is safe from ReDoS attacks. Supported in the browser, Node and Deno.
url-toolkit
Build an absolute URL from a base URL and a relative URL (RFC 1808).
media-element-syncer
Synchronise two or more HTML5 media elements.
gh-action-auto-merge-dependency-updates
A GitHub action that will automatically approve and merge a PR that only contains dependency updates, based on some rules. Also possible to disable the merge and use the `success` output to use in combination with other actions.
rollup-plugin-json-parse
A rollup plugin that wraps compatible objects with JSON.parse() to improve performance.
forkable-iterator
Make a JS Iterator forkable.
dynamic-marquee-react
A `<Marquee />` component for React.
eslint-plugin-redos-detector
An ESLint plugin that detects vulnerable regex using "https://github.com/tjenkinson/redos-detector".
exponential-rate-limit
A small library which handles decaying exponential backoff. This is useful if you want to start throttling something whilst it is going wrong, but recover once things start working again.
redos-detector-demo
The demo for "https://github.com/tjenkinson/redos-detector".
state-manager
StateManager provides a controlled way of managing a state object, and being notified when parts of it have changed in an atomic fashion.
human-string-to-date-time
A library that parses a human representation of a UK English formatted date/time into an object.
number-to-alphabet
Simple library to convert a number to sequence of letters and vice versa.
DefinitelyTyped
The repository for high quality TypeScript type definitions.
infinite-queue
A small library which implements a queue where you are able to request items early if the queue is empty.
interceptor
A library that helps with testing asynchronous function calls.
npm-ci-please
`npm ci` with a fallback to `npm i` when it fails, but shouldn't.
promise-chain-settled
Provides a way of knowing when a promise chain is settled. Useful for testing.
rollup-plugin-block
Ensure certain files don't become part of the build.
rollup-plugin-bundle-guard
A rollup plugin that makes sure you don't accidentally import something statically, which could have an effect on your bundle size.
secret-obfuscator
Replaces secrets in strings with "***".
shipyard-project.com
Shipyard Project site
TypeScript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
sql-cursor-pagination
Library to help with cursor based pagination, from an SQL database.
zx
A tool for writing better scripts