@sindresorhus · Full-Time Open-Sourcerer. Focused on Swift & JavaScript. Makes macOS apps, CLI tools, npm packages.
Selected day
14 October 2026
Wednesday
Public commits
34
Authored on public default branches
GitHub contributions
39
Commits, PRs, reviews, issues
39
contributions
51
days in a row
52
best run in range
384
19 Sep
5,364 contributions · 317 active days
Most active on Sats · 1,107 contributions
87%
of days had at least one contribution
20 Aug–24 Aug
Shipping today
14 active days
Contribution volume, ending at the selected day
Authored, your local time
`Merge`: Document that generic values need a type assertion
sindresorhus/type-fest · b757e47 · 15:50
`Get`: Document that a string path cannot read a key that contains a dot
sindresorhus/type-fest · aae795a · 15:27
`KeysOfUnion`: Accept keys narrowed with `keyof` on generic types
sindresorhus/type-fest · baf01ca · 15:12
0.0.2
soml-lang/sublime-soml · 377898a · 15:10
Move json5 into a subpackage and add the key bindings to the menu
soml-lang/sublime-soml · a7717e4 · 15:10
`SetRequired`: Document that it does not remove `undefined` from the value type
sindresorhus/type-fest · 1937888 · 14:57
0.0.1
soml-lang/sublime-soml · 53b54c6 · 14:57
Add `ExtractLiterals` type
sindresorhus/type-fest · 29ab96d · 14:37
`IsLiteral`: Fix unresolved result for template literal types intersected with `{}`
sindresorhus/type-fest · c73a956 · 14:28
`JoinUnion`: Assert the result for literal unions and remove outdated TODO
sindresorhus/type-fest · d8a34f5 · 14:25
Init
soml-lang/sublime-soml · 5a9198e · 14:20
`UnionToEnum`: Remove the `numeric` option, and default `TupleToEnum` `startIndex` to `0`
sindresorhus/type-fest · 60a1f16 · 13:59
4.0.0
sindresorhus/humanize-string · aaa6c17 · 13:44
`Paths`: Default `maxCircularDepth` to no limit, and skip tracking when there is none
sindresorhus/type-fest · a66f885 · 13:34
Fix titlecasing a first Greek letter with an iota subscript
sindresorhus/humanize-string · a833b22 · 13:21
Normalize a next line character to a space
sindresorhus/humanize-string · d61f8b9 · 13:18
`Filter`: Keep empty union members, only use truthiness for `Boolean`, and accept interfaces
sindresorhus/type-fest · f8c6af2 · 07:44
`LiteralList`: Reject union elements and invalid tuples in a union, and improve docs
sindresorhus/type-fest · b433cfa · 07:16
`Includes`: Improve type
sindresorhus/type-fest · 41c700c · 06:01
Add `ArrayFlat` type
sindresorhus/type-fest · d4b8be9 · 05:47
10.0.0
sindresorhus/pretty-ms · a0410bb · 05:32
`Simplify`: Keep functions and class constructors as is
sindresorhus/type-fest · 28b9f8e · 05:06
Pad the days to 3 digits with `colonNotation` after a year
sindresorhus/pretty-ms · c77bbd0 · 05:04
Always show the hours with `colonNotation` and `hideSeconds`
sindresorhus/pretty-ms · c501a70 · 05:04
Ignore `unitCount` with `colonNotation`
sindresorhus/pretty-ms · cc2326c · 05:03
More tests
sindresorhus/pretty-ms · c2af276 · 04:58
Fix the FAQ claiming that years are not supported
sindresorhus/pretty-ms · 6189ae1 · 04:57
Document that the fraction is rounded away from `1e14`, not `1e15`
sindresorhus/pretty-ms · 48decf7 · 04:53
Round the decimal milliseconds half up exactly
sindresorhus/pretty-ms · c1f30cb · 04:51
`ArrayAt`: Fix negative indices on tuples without a rest element, and large indices
sindresorhus/type-fest · b2e7057 · 04:51
Derive every field with exact BigInt arithmetic
sindresorhus/pretty-ms · 4cdc911 · 04:28
`IsEqual`: Document that an intersection of objects is not equal to the merged object
sindresorhus/type-fest · 06a5ed4 · 04:26
`ArrayExclude`: Handle `any`, `never`, and generic types, and add docs
sindresorhus/type-fest · a1d0283 · 04:03
Never round fractional seconds up across a step
sindresorhus/pretty-ms · 0127f97 · 04:00