Repository navigation
chore(deps): update dependency type-fest to v5 - #1351
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ccusage-guide | 6b86cbd | Commit Preview URL Branch Preview URL |
Jun 22 2026, 02:14 AM |
ccusage
@ccusage/ccusage-darwin-arm64
@ccusage/ccusage-darwin-x64
@ccusage/ccusage-linux-arm64
@ccusage/ccusage-linux-x64
@ccusage/ccusage-win32-x64
commit: |
ccusage performance comparisonPR SHA: This compares the PR package against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
ccusage performance comparisonPR SHA: This compares the Rust PR release binary against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
e164f33 to
6b86cbd
Compare
ccusage performance comparisonPR SHA: This compares the PR package against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
ccusage performance comparisonPR SHA: This compares the Rust PR release binary against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
… catalogs (#1495) * refactor(deps): source publint from the Nix flake only publint was pinned twice: once as a pnpm catalog entry expanded into the devDependencies of `ccusage` and all six native packages, and once as the bun2nix-built `nix/tools/publint` used by the `publint` flake check and the dev shell. The two pins could drift silently, and Renovate only ever bumps one of them at a time. Keep the Nix build as the single pin and drop the pnpm copies. The `build`/`prepack` scripts still call bare `publint`, which now always resolves from PATH: the dev shell and `just ccusage::build-package` already provided it, and the two publish jobs that install tools with `nix profile install` instead of entering the dev shell now request `.#publint` explicitly. Both publint invocations stay: `prepack` packs a real tarball while the flake check runs `--pack false` against stubbed generated files, so they cover different failure modes. * chore(deps): drop pnpm catalogs with no consumers The `runtime` catalog lost its last reference when the TypeScript CLI was replaced by the Rust binary (#1306), and `llm-docs` lost its only reference when the gunshi docs dependency was removed. Both blocks stayed behind in pnpm-workspace.yaml, so Renovate kept opening bumps against specifiers no package resolves (#1350, #1351) and neither catalog ever reached the lockfile. Only `docs` and `types` have consumers, so keep those two.
This PR contains the following updates:
^4.41.0→^5.7.0Release Notes
sindresorhus/type-fest (type-fest)
v5.7.0Compare Source
New types
RemoveSuffix(#1439)d685b77UnwrapRequired(#1410)3bfee8eImprovements
ExtendsStrict: AdddistributiveUnions,strictNever&strictAnyoptions (#1408)9ea810bTupleOf: Improve implementation (#1441)391e1bbFixes
RemovePrefix: Fix: Remove incorrect optimization and always fallback tostringfor non-literal prefixes (#1438)9f35398DelimiterCase: Fix behavior with non-single character delimiters (#1424)9b36590RemovePrefix: Fixanyprefix behavior in non-strict mode (#1423)c49cb75DelimiterCase: Fix behavior with union delimiters (#1422)96172c0ApplyDefaultOptions: Fix behavior with generic instantiations &anyvalues (#1411)c46020dApplyDefaultOptions: Fix behavior with explicitundefined(#1407)60bfd3fv5.6.0Compare Source
New types
Absolute(#1391)7761f91NonNullableDeep(#1401)1e8bd10UnionLength(#1402)49142dbImprovements
splitOnPunctuationoption toCamelCase/PascalCase/KebabCase/SnakeCase(#1394)852d016CamelCase: AddpreserveLeadingUnderscoresoption (#1404)5ca6564TsConfigJson: Add TypeScript 6.0 fields (#1406)ac4861dUnionToTuple: Fix behavior with large unions (#1405)651f7eav5.5.0Compare Source
New types
Optional(#1374)9b52980ExcludeExactly(#1349)0f923d0ArrayLength(#1344)59bd056UnionMember(#1368)878b6dfSomeExtend(#1380)bbce298AndAll(#1383)94aa3f8OrAll(#1378)4c42d89Improvements
24be93dUnionToTuple: Fix behavior when a union member is a supertype of another (#1349)0f923d0ConditionalPickDeep: Fix returning{}instead ofneverwhen no keys match (#1360)6af847aConditionalPick: Fix returning{}instead ofneverwhen no keys match (#1359)3995003GreaterThan/LessThan/GreaterThanOrEqual/LessThanOrEqual: Fix behavior with thenumbertype (#1363)cfea505v5.4.4Compare Source
PackageJson: UseLiteralUnionforenginesfield (#1354)fc9e2bbIsUnion: Fix behavior when the entire union extends all individual members (#1353)b0321a5Paths: FixleavesOnlybehavior withneverleaves (#1350)2c34128Paths: Fix behavior withWeakMaps /WeakSets (#1348)ac3b50ePaths: Fix behavior with tuples containing optional elements with a rest element (#1346)7c82a21v5.4.3Compare Source
Merge: Fix idempotency, soMerge<A, A>returnsA(#1336)99e35a2Paths: Fix behavior with generic types (#1343)8f0419cv5.4.2Compare Source
SimplifyDeep: Fix behavior with arrays (#1337)a2a180dMerge: Fix behavior with unions (#1327)fa55f48v5.4.1Compare Source
MergeDeep: Remove extraundefinedfrom optional properties (#1319)a6af489v5.4.0Compare Source
New types
ObjectMerge(#1324)ac06066UnwrapPartial(#1296)99b0b07ArrayReverse(#1266)dfbefadv5.3.1Compare Source
PackageJson: Fix key type forDependencyOverrides(#1307)0430f56v5.3.0Compare Source
Improvements
PackageJson: Addoverrides(#1287)8beaa89Fixes
IsEqual: Fix generic inference (#1306)f7b2667ConditionalPickDeep/SimplifyDeep: Prevent mapping over built-ins (#1293)f14a75aArraySlice/StringSlice: Fix behavior with unions (#1291)133258bv5.2.0Compare Source
New types
ExclusifyUniontype (#1278)2b906feArrayElementtype (#1270)2afaa40Improvements
CamelCase: AddsplitOnNumbersoption (#1290)ce2d244PackageJson: AdddevEnginestype (#1286)3b4ad2eFixes
ExcludeRestElement: Fix generic assignability with arrays (#1274)12ef5b2GreaterThanOrEqual/LessThan: Fix behavior with operands likeNandN | N + >0(#1280)b2caa3fv5.1.0Compare Source
New types
TupleOf(#1247)7fb2f75Xor(#1254)ad04bc5SplitOnRestElement(#1166)34b8fadExtractRestElement(#1166)34b8fadExcludeRestElement(#1166)34b8fadImprovements
ReadonlyTuple: Deprecate in favor ofTupleOf(#1256)af4bebcTsConfigJson: Add missing lib enum values (#1263)72f491fTsConfigJson: AddrewriteRelativeImportExtensions(#1262)7d011ceFixes
PartialDeep: Fix behavior with functions containing multiple call signatures (#1259)3bd9de6IsEqual: Fix behaviour when instantiated withneverandunknown(#1251)785549fFixedLengthArray: Fix element type (#1246)ee29ef7is-equal: Fix handling with intersecting wrapped types (#1231)5af60a1v5.0.1Compare Source
4f9c248v5.0.0Compare Source
Breaking
b5b0214cc2b0f2type-festrequiresstrict: truein your tsconfig.StringKeyOf: Rename toKeyAsStringe492c9cArrayTail: EnablepreserveReadonlyby default and remove the optionb34b1d8CamelCase/CamelCasedProperties/CamelCasedPropertiesDeep/PascalCase/PascalCasedProperties/PascalCasedPropertiesDeep: DisablepreserveConsecutiveUppercaseby default8226c1bPartialDeep: DisableallowUndefinedInNonTupleArraysby defaultb3c4524Split: EnablestrictLiteralChecksby default544a846Paths: DefaultmaxRecursionDepth5 (was 10)2ab5decObservableLike: Move to sub-export2a1072eIf*types in favor of a singleIf4c2151aNew types
Alphanumeric— Single alphanumeric character (A–Z,a–z,0–9).484e030AllExtend— Evaluates totrueif every element of a tuple/array extendsU.c8c6d55ConditionalSimplify— Simplifies a type’s unions/intersections with opt-in controls.b7a4771ConditionalSimplifyDeep— Deep version ofConditionalSimplifythat recurses into objects.b7a4771DigitCharacter— Single ASCII digit character (0–9).484e030ExcludeStrict— Non-distributive, stricter variant ofExclude<T, U>.e6f62a2ExtendsStrict— Non-distributiveA extends Bcheck.d71242aExtractStrict— Non-distributive, stricter variant ofExtract<T, U>.98d24faIsLowercase— Evaluates totrueif a string literal is all lowercase.afe132cIsNullable— Evaluates totrueifTincludesnull.5067e25IsOptional— Evaluates totrueifTincludesundefined.5067e25IsOptionalKeyOf— Evaluates totrueif propertyKofTis optional.93728b5IsReadonlyKeyOf— Evaluates totrueif propertyKofTis readonly.93728b5IsRequiredKeyOf— Evaluates totrueif propertyKofTis required.93728b5IsUnion— Evaluates totrueifTis a union type.b3d92edIsUndefined— Evaluates totrueif the type is exactlyundefined.f7bc576IsUppercase— Evaluates totrueif a string literal is all uppercase.afe132cLowercaseLetter— Single lowercase Latin letter (a–z).484e030RemovePrefix— Removes a specified prefix from a string literal.18a1c04UppercaseLetter— Single uppercase Latin letter (A–Z).484e030Improvements
Jsonify: HandleunknownasJsonValue642bb13SetRequired/SetOptional/SetReadonly: Handle functions with propertiesa5e45d4Schema: Preserve arrays/remove extraneous unions8a96def; dropundefinedforrecurseIntoArrays1cb955bReadonlyKeysOf/WritableKeysOf: Addobjectconstrainta6efbe0TsConfigJson: Add TypeScript 5.9 fieldsd2bda94Fixes
Or: Fix withboolean,never,any42d6106And: Fix withboolean,never,anyb38ac60IsStringLiteral: Fix uncollapsed unions, and tagged typeseb37799/d1b35c7Paths: Fix behavior with index signatures9926e5dConditionalKeys: Fix behavior with arrays and unions4d7cc50RequiredDeep: Fix withundefinedbfcdbc4Split: Fix template strings ending with interpolation853b881ArrayTail: Fix fix non-tuple arraysf3aabd8UnionMinandUnionMaxd52d5e7Meta
Huge thanks to all the contributors to this release, especially @som-sm 🙌
Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.